看板 ASM 關於我們 聯絡資訊
利用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)
windheart630:請問一下你有考慮到要用ASCII傳輸嗎 還有有點不懂 12/11 01:25
windheart630:RECEIVED那部份的用意 12/11 01:26
windheart630:或是你就只要要傳ASCII = 1,2...,16這樣? 12/11 01:28
pig19910320:我是剛在學 UART是傳ASCII 那如何把ASCII修改成 12/12 15:00
pig19910320:我想數字 16位元沒關係 希望能先有數字就好 12/12 15:01
pig19910320:可是這些程式碼 都好像失敗 PC端連亂碼都沒顯示 12/12 15:02
kikiqqp:終端機速度設定多少 12/14 19:09
pig19910320:你好 一樣設9600 12/15 21:55