USB keyboard and display
This circuit is intented to connect HD44780 compatible LCD display and matrix keyboard 4x4 to PC using only one USB cable. It uses FT232R in bitbang mode (Usbio).
Keyboard rows are adressed by setting address lines A2:A0 through multiplexer '138. Keyboard columns are read by C4:C1. All diodes are mandatory otherwise pressing key can damage the '138 or can cause bad display function.
Display is acessed when A3 is pulled low. In this case the keyboard rows are not active and Usbio communicates directly with display.
Good idea is to use synchronous bitbang mode for communication. Because switching between write and read is slow, we can send five bytes to select rows and to read five bytes with column data. This takes about 30ms. Switching direction after every row change would be 5x slower.
This is the reason I don't use READY flag althrough it is present. It is very slow so better is to choose proper bitrate, prepare data in buffer and send it in one chunk.
Usbio is described here.
Note: 600 DPI have images in Full resolution, MediaWiki uses thumbnails. Note: 7805 is soldered on top side but with cooling plate up. Verify connection before plug power supply!