小富 發表於 2009-9-14 01:09:28

電子羅盤TDCM3與8051

本帖最後由 小富 於 2009-9-14 01:11 編輯

我用8051寫校正模式的程式跟TDCM3用串列傳輸接收TDCM3的資料能接收到41H、43H顯示在LCD上但4BH就是抓不到所以後面52H、44H、59H也都抓不到,請大大我看一下問題出在哪謝謝!!!
我用Kile c寫的
EXTRN CODE(WLCD_COMMAND)
EXTRN CODE(WLCD_DATA)
EXTRN CODE(SET_LCD)
EXTRN CODE(CLEAR_LCD)
EXTRN CODE(DISP_LCD_CHAR)
;------------------------------------------------
      RTS EQU P3.7
      RX   EQU   P3.6   
;------------------------------------------------
      ORG 00H
      JMPSTART
;------------------------------------------------         
START:
CALL    SET_LCD
CALL    CLEAR_LCD
SETB    RTS
SETB    RX

RS232:
MOV   TMOD,#00100001B
MOV   TH1,#-03
MOV   SCON,#01010000B
SETB    TR1
CLR RI
CLR TI

RUN:
MOV   R2,#80H
CALL WLCD_COMMAND
CLR RX
CLR RTS
MOV   R5,#1   ;呼叫延遲副程式,延遲1ms      
CALL    DELAY
SETB    RTS

JNB RI,$
CLR RI
MOV   A,SBUF;收到41H
MOV   R1,A
CALL DISP_LCD_CHAR ;LCD上顯示41

JNB RI,$
CLR RI
MOV   A,SBUF;收到43H
MOV   R1,A
CALL DISP_LCD_CHAR ;LCD上顯示43

JNB RI,$
CLR RI
MOV   A,SBUF;收到4BH
MOV   R1,A
CALL DISP_LCD_CHAR ;LCD上顯示4B

MOV   R5,#16 ;呼叫延遲副程式,延遲16ms      
CALL    DELAY
SETB    RX
      
JNB RI,$
CLR RI
MOV   A,SBUF;收到52H
MOV   R1,A
CALL DISP_LCD_CHAR ;LCD上顯示52

JNB RI,$
CLR RI
MOV   A,SBUF;收到44H
MOV   R1,A
CALL DISP_LCD_CHAR ;LCD上顯示44

JNB RI,$
CLR RI
MOV   A,SBUF;收到59H
MOV   R1,A
CALL DISP_LCD_CHAR ;LCD上顯示59
JMP RUN
;------------------------------------------------
      ;延遲副程式: R5*1ms
;------------------------------------------------   
DELAY:
MOV   R6,#2
MOV   R7,#249
DJNZ    R7,$
DJNZ    R6,$
DJNZ    R5,DELAY
RET
頁: [1]
查看完整版本: 電子羅盤TDCM3與8051