[問題] 8051與超級終端機 uart_rs232

看板ASM (組合語言)作者 (PIG_boi)時間14年前 (2010/12/06 10:44), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
利用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
請問一下你有考慮到要用ASCII傳輸嗎 還有有點不懂
12/11 01:25, 1F

12/11 01:26, , 2F
RECEIVED那部份的用意
12/11 01:26, 2F

12/11 01:28, , 3F
或是你就只要要傳ASCII = 1,2...,16這樣?
12/11 01:28, 3F

12/12 15:00, , 4F
我是剛在學 UART是傳ASCII 那如何把ASCII修改成
12/12 15:00, 4F

12/12 15:01, , 5F
我想數字 16位元沒關係 希望能先有數字就好
12/12 15:01, 5F

12/12 15:02, , 6F
可是這些程式碼 都好像失敗 PC端連亂碼都沒顯示
12/12 15:02, 6F

12/14 19:09, , 7F
終端機速度設定多少
12/14 19:09, 7F

12/15 21:55, , 8F
你好 一樣設9600
12/15 21:55, 8F
文章代碼(AID): #1C_4u1UF (ASM)
文章代碼(AID): #1C_4u1UF (ASM)