8051 Single Board Computer Version 1.0

Download Report

Transcript 8051 Single Board Computer Version 1.0

8051 Single Board Computer (SBC)
Version 1.0
By Wichit Sirichote
[email protected]
http://www.kmitl.ac.th/~kswichit/8051sbc/8051sbc.html
The 8051 Single Board Computer
Serial Interface
Real-Time
Clock
Random Access
Memory (RAM)
LED
Analog to digital
converter
Input/Output Pins
Input/Output Pins
Read Only Memory
(EEPROM)
DIP Switches
Liquid Cristal
Display
8051 CPU
07/07/2015
2
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
07/07/2015
3
Hardware Schematic, CPU, memory, PLD
07/07/2015
4
RS232, RS485, DC supply, EEPROM, ADC,
RTC, keypad, debug LED.
07/07/2015
5
Output Port
Data output pins
• 8-bit output port address: 0x0100
07/07/2015
6
Input Port
Data input pins
• 8-bit input port address: 0x0200
07/07/2015
7
12-bit Analog to Digital Converter (ADC)
Transfer Curve
Output Code
07/07/2015
Source: Linear Technology LTC1298
8
12-bit Analog to Digital Converter (ADC)
Analog input pin
Digital Data
output 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)
http://www.linear.com/pc/productDetail.jsp?navId=H0,C1,C1155,C1001,C1158,P1445
07/07/2015
Source: Linear Technology LTC1298
9
12-bit Analog to Digital Converter (ADC)
• Handshake between computer and Converter
07/07/2015
10
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)
07/07/2015
11
MTK51 8051 Microcontroller Trainer
http://www.kmitl.ac.th/~kswichit/mtk51/index.html
07/07/2015
12
MTK51 8051 Microcontroller Trainer
07/07/2015
13
MTK51 8051 Instruction Subset
•
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
07/07/2015
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
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
14