Академический Документы
Профессиональный Документы
Культура Документы
Program the divisor Latch for 300 baud. Assume Xin=1.8432MHz The Base Address: 0x3F8
300*384=115200 115200*16=1843200
0 1
RX_TX / Divisor.low IER: Interrupt Enable Reg. / Divisor.high IIR: Interrupt Identification Reg.
3 4
5 6
Example 2
Program the divisor Latch for 2400 baud. Assume Xin=1.8432MHz The Base Address: 0x3F8
2400*48=115200 115200*16=1843200
Example 3
Program 8250 for 2400 baud, 8 data bit, even parity and 1 stop bit. Assume Xin=1.8432MHz The Base Address: 0x3F8
MOV MOV OUT MOV MOV OUT MOV INC OUT MOV MOV OUT
AL,80H DX,3FBH DX,AL AX,48 DX,3F8H DX,AL AL,AH DX DX,AL AL,00011011 DX,3FBH DX,AL
; Accessing DLAB ;Line Control Register Address ;baud=2400 115200:48=2400 ;Low byte of Divisor
clk
data B0 B1 B2 B3 B4 B5
(a) Serial data transmitted at the proper rate. (b) The data rate is too fast. (c) The data rate is too slow.
Bit
3 4 5
7 0
Time
No start or stop bits, timing synchronized with special ASCII characters (SYN)
Synchronous Protocols
CRC
8251 Registers
Mode Register
Command Register
Status Register
8251 Timing
TxD
RxD TxC RxC
Programming 8251
8251 mode register
Mode register
Number of Stop bits 00: 01: 10: 11: invalid 1 bit 1.5 bits 2 bits
00: 01: 10: Character length11: 00: 5 bits 01: 6 bits 10: 7 bits 11: 8 bits
Programming 8251
8251 command register
EH
IR
RTS
ER SBRK RxE
DTR
TxE
command register
TxE: transmit enable DTR: data terminal ready RxE: receiver enable SBPRK: send break character ER: error reset RTS: request to send IR: internal reset EH: enter hunt mode
Programming 8251
8251 status register
DSR
SYNDET
FE
OE
PE
TxEMPTYRxRDY TxRDY
status register
transmit ready receiver ready transmitter empty parity error overrun error framing error sync. character detected data set ready
Write
start
8251 Coding
MOV MOV OUT OUT OUT MOV OUT MOV OUT MOV OUT DX,309h AL,0 DX,AL DX,AL DX,AL AL,40h DX,AL AL,4Eh DX,AL AL,33h DX,AL Main: MOV IN MOV MOV Wait IN AND JZ MOV MOV OUT JMP DX,300h AL,DX AH,AL DX,309h AL,DX AL,01 Wait AL,AH DX,308h DX,AL Main