150 likes | 254 Views
8051 Single Board Computer (SBC) Version 1.0. By Wichit Sirichote kswichit@kmitl.ac.th http://www.kmitl.ac.th/~kswichit/8051sbc/8051sbc.html. Serial Interface. LED. Real-Time Clock. Analog to digital converter. Random Access Memory (RAM). Input/Output Pins. Input/Output Pins.
E N D
8051 Single Board Computer (SBC)Version 1.0 By Wichit Sirichote kswichit@kmitl.ac.th http://www.kmitl.ac.th/~kswichit/8051sbc/8051sbc.html
Serial Interface LED Real-Time Clock Analog to digital converter Random Access Memory (RAM) Input/Output Pins Input/Output Pins Read Only Memory (EEPROM) DIP Switches Liquid Cristal Display 8051 CPU The 8051 Single Board Computer
8051 SBC Features • CPU: 8051 compatible with 40-pin DIP package @ 11.0592MHz • MEMORY: • 27C256: 32kB EPROM for monitor program • 62256: 32KB SRAM for both code and data space • I/O: • direct CPU bus interface 2x16 line LCD • 8-bit input port: 74LS244 • 8-bit output port: 74HC573 • MEMORY and I/O Decoder: GAL16V8D • EEPROM: 24LC256: 32KB serial eeprom • Real-Time Clock (RTC): DS1307 with +3V Lithium backup • ADC: LTC1298, SPI interface 2-channel 12-bit Analog-to-Digital Converter • I/O pins: P1, P3 of 8051 CPU, 16-bit I/O port • Debug LED: single dot LED connected to P 1.7 • Keypad and DIP Switch: 4-bit keypad and 4-bit DIP switch • RS 232 Level Converter: MAX232 • RS 485: 75176 differential transceiver • Serial Interface: 9600 8n1 • Monitor Program: Modified PAULMON2 including new commands
RS232, RS485, DC supply, EEPROM, ADC, RTC, keypad, debug LED.
Output Port • 8-bit output port address: 0x0100 Data output pins
Input Port Data input pins • 8-bit input port address: 0x0200
12-bit Analog to Digital Converter (ADC) Transfer Curve Output Code Source: Linear Technology LTC1298
12-bit Analog to Digital Converter (ADC) Analog input pin • Channel 0 (Pin 2) - Analog Input (e.g. from 0 to 5 volts) • Data (Pin 6) - The A/D conversion result is shifted out of pin 6 • Data Transfer Format: serial with MSB first • Conversion Time : 60µs • Sampling Rate: 11.1 Kilo Samples per second (ksps) Digital Data output pin http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1155,C1001,C1158,P1445 Source: Linear Technology LTC1298
12-bit Analog to Digital Converter (ADC) • Handshake between computer and Converter
12-bit Analog to Digital Converter (ADC) • Handshake between computer and Converter • Transfer of data: from MSB (i.e. Bit 11) to LSB (i.e. Bit 0)
MTK51 8051 Microcontroller Trainer http://www.kmitl.ac.th/~kswichit/mtk51/index.html
ACALL - Absolute Call ADD, ADDC - Add Accumulator (With Carry) AJMP - Absolute Jump ANL - Bitwise AND CJNE - Compare and Jump if Not Equal CLR - Clear Register CPL - Complement Register DA - Decimal Adjust DEC - Decrement Register DIV - Divide Accumulator by B DJNZ - Decrement Register and Jump if Not Zero INC - Increment Register JB - Jump if Bit Set JBC - Jump if Bit Set and Clear Bit JC - Jump if Carry Set JMP - Jump to Address MTK51 8051 Instruction Subset • JNB - Jump if Bit Not Set • JNC - Jump if Carry Not Set • JNZ - Jump if Accumulator Not Zero • JZ - Jump if Accumulator Zero • LCALL - Long Call • LJMP - Long Jump • MOV - Move Memory • MOVC - Move Code Memory • MOVX - Move Extended Memory • MUL - Multiply Accumulator by B • NOP - No Operation • ORL - Bitwise OR • POP - Pop Value From Stack • PUSH - Push Value Onto Stack • RET - Return From Subroutine • RETI - Return From Interrupt • RL - Rotate Accumulator Left http://www.win.tue.nl/~aeb/comp/8051/set8051.html