[問題] 8051與超級終端機 uart_rs232
利用RS232讓PC 超級終端機 與 8051做數字傳輸
4*4小鍵盤 經由74922接到P1 74922的DA腳位接到P3.2
或是能寫一個C++ form在PC端傳送資料給8051的程式
; Memory Allocation
UART_BUSY EQU 00h
;Pin Assignment
LED_PORT EQU P0
KEYPAD_PORT EQU P1
KEYPAD_RDY EQU P3.2
;
PROG EQU 0000h
ORG PROG+0000h
SJMP START
;Interrupt Vector Table
ORG PROG+0003h
LCALL INT0_ISR
RETI
ORG PROG+000Bh
LCALL T0_ISR
RETI
ORG PROG+0013h
LCALL INT1_ISR
RETI
ORG PROG+001Bh
LCALL T1_ISR
RETI
ORG PROG+0023h
LCALL UART_ISR
RETI
;
ORG PROG+0030h
START:
CLR UART_BUSY
MOV TMOD,#00100001b ; Timer1 in Mode 2, Timer0 in Mode 1
MOV TH1, #0FDh ; Baud Rate = 9600 bps at 11.0592MHz
MOV SCON,#01010000b ; UART in Mode 1
SETB ES ; Enable UART Interrupt
SETB EA ; Enable Interrupt
SETB TR1 ; Start Timer 1
GET_BYTE:
LCALL GET_KEY
SWAP A
MOV B,A
LCALL GET_KEY
ORL A,B
LCALL UART_PUTC
SJMP GET_BYTE
GET_KEY:
WAIT_KEY:
JNB KEYPAD_RDY,WAIT_KEY
MOV A,KEYPAD_PORT
ANL A,#0Fh
WAIT_KEY_RELEASE:
JB KEYPAD_RDY,WAIT_KEY_RELEASE
RET
;
INT0_ISR:
RET
T0_ISR:
RET
INT1_ISR:
RET
T1_ISR:
RET
;
UART_ISR:
JB RI,RECEIVED
TRANSMITTED:
CLR UART_BUSY
CLR TI
RET
RECEIVED:
MOV KEYPAD_PORT,SBUF
CLR RI
RET
;
UART_PUTC:
JB UART_BUSY,UART_PUTC
SETB UART_BUSY
MOV SBUF,A
RET
END
請問哪裡需要做修改呢?????
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.240.151
※ 編輯: pig19910320 來自: 218.171.240.151 (12/06 23:58)
推
12/11 01:25, , 1F
12/11 01:25, 1F
→
12/11 01:26, , 2F
12/11 01:26, 2F
→
12/11 01:28, , 3F
12/11 01:28, 3F
→
12/12 15:00, , 4F
12/12 15:00, 4F
→
12/12 15:01, , 5F
12/12 15:01, 5F
→
12/12 15:02, , 6F
12/12 15:02, 6F
→
12/14 19:09, , 7F
12/14 19:09, 7F
→
12/15 21:55, , 8F
12/15 21:55, 8F
ASM 近期熱門文章
PTT數位生活區 即時熱門文章