The circuit used to receive the command and address codes sent by the computer through the serial port is based on a HCMOS MC68HC11A8 (Motorola) micro-controller having on-chip peripheral capabilities and a bus speed of 2 MHz. It includes a monitor/debugging program, one-line assembler/disassembler, host computer downloading capability, I/O expansion circuitry and RS-232C compatible I/O ports (Figure 13). This circuitry provides a very flexible and powerful interface between the computer and the coding/transmitting circuitry.
Figure: The micro-controller which provides the interface between the computer and the coding/transmitting circuitry.
The micro-controller uses an 8kB ROM, 512 bytes EEPROM and 256 bytes of RAM and can address a supplementary 16k external RAM. Based on the enhanced M6800/M6801 instruction set, it allows a C-program residing in the external RAM to interpret the command and address codes. The C-program was edited and compiled by a cross-assembler on an IBM compatible computer and then uploaded in Motorola S-record format in the micro-controller's external RAM. The corresponding binary equivalents of the commands and addresses are directed to the micro-controller's output ports B and C. One of the 8 bits of the address port is used as a transmission enable bit. Three other bits are set to low logic level and only the remaining 4 bits are used for addressing. Half of the data port 8 bits are used to control a side motor and the remaining 4 bits will control the other side motor. This design allows the computer to use its resources to perform the much more important task of ``thinking'' about the robots' movements and the strategy to be used to win the game.
In summary, we would like to highlight the main features of our system. Our IR-controlled mini-robots have several features, including:
Figure 14 shows a picture of a few of our current actual implemented mini-robots.
Figure: The actual mini-robots.