新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 串行LED譯碼/驅(qū)動器件TEC9607在PIC16C5X系列單片機中的應(yīng)用

串行LED譯碼/驅(qū)動器件TEC9607在PIC16C5X系列單片機中的應(yīng)用

作者: 時間:2012-02-28 來源:網(wǎng)絡(luò) 收藏


SI  EQU 1   ;RA1為串行數(shù)據(jù)輸入端
SCP EQU 2  ?。籖A2為時鐘端
BUFF EQU 10H  ;數(shù)據(jù)緩存
MBUF EQU 13H  ;13H,14H,15H,16H四個寄存器為顯示緩存
        ?。?3H最低位顯示段碼
        ?。?4H次低位顯示段碼
        ??;15H次高位顯示段碼
        ??;16H最高位顯示段碼
        ??;17H為任意數(shù)
DISBUF EQU OEH  ;OEH,OFH為壓縮式顯示數(shù)據(jù)
          ;OEH高兩位顯示數(shù)據(jù)
        ??;OFH低兩位顯示數(shù)據(jù)
BIT  EQU  9?。幻孔止?jié)位數(shù)(8)
FSR EQU  4  ;文件選擇寄存器
RA  EQU  5   ;I/O端口A
CONVERT  MOVWF  2  ;PC=W
TABLE  RETLW   0FCH   ;“ 0
       RETLW 60H ??;“1”
       RETLW  0DAH??; “2”
      RETLW  0F2H  ;“3  
    RETLW  66H ; “4”
      RETLW  0B6H  ; “5
      RETLW  0BEH  ;“6
      RETLW  0E4H  ;“7
      RETLW  0FEH   ;“8
      RETLW  0F6H  ;“9
      RETLW  00H   ;“
      ETLW  7CH  ?。?“U
      RETLW  9EH ??;“E
      RETLW  00H   ;“
      RETLW  00H   ;“
      RETLW  00H   ;“
DIS  MOVLW MBUF ;將顯示段碼寄存器    首址(f13)送f4
       MOVWF  FSR
       MOVLW  TABLE ;把段碼表起始地址     送BUFF
       MOVWF  BUFF
        MOVF 0FH,0 ;取出最低位待顯數(shù)據(jù)
       ANDLW  0FH
      ADDWF BUFF,0 ;BUFF+W→W      取得段碼表中的偏移地址
     CALL CONVERT ;轉(zhuǎn)段碼查詢子程序
    MOVWF  0      ;段碼值送W
    INCF    FSR    ;WF13
;以下依次完成高三位數(shù)據(jù)嘍溫脛檔淖換
    MOVLW  TABLE
    MOVWF  BUFF
    MOVF   0FH,0
    MOVWF  TRBUF
    SWAPF   TRBUF,0
    ANDLW   0FH
    ADDWF   BUFF,0
    CALL    CONVERT
    MOVWF  0
    INCF    FSR
    MOVLW TABLE
    MOVWF BUFF
    MOVF   OEH,0
    ANDLW  0FH
    ADDWF  BUFF,0
    CALL   CONVERT
    MOVWF 0
    INCF FSR
    MOVLW TABLE
    MOVWF BUFF
    MOVF   0EH,0
    MOVWF TRBUF
    SWAPF TRBUF,0
    ANDLW 0FH
    ADDWF BUFF,0
    CALL   CONVERT
    MOVWF  0
    MOVLW  30H  ;使RA1,RA2為輸出狀態(tài)
    TRIS    RA
    BCF RA,  SI
    BCF    RA,  SCP
    MOVLW  MBUF
    MOVWF  FSR
    MOVLW  5     ??;傳送5字節(jié)數(shù)據(jù)
    MOVWF  TRBUF
  DIS1 MOVF 0,0 ;碼段值W
    MOVWF  BUFF ;W嗨褪據(jù)暫存器BUFF
    INCF    FSR
    MOVLW 8
    MONWF  BIT     ;一字節(jié)有8位
  DIS2 BSF RA, CLK   ;CLK端拉成高電平 BTFSC BUFF,7
   BSF RA,SDA  ;數(shù)據(jù)暫存器D7位送data線
   BTFSS BUFF,7
   BCF RA,SDA
   RLF BUFF  ;數(shù)據(jù)暫存器左移一位
   BCF RA,CLK ;CLK端被拉成低電平,在其下降沿把data線上的數(shù)據(jù)采集進(jìn)去
   DECFSZ BIT
   GOTO DIS2 ;一字節(jié)未送完,返回
   DECFSZ TRBUF
   GOTO DIS1  ;三字節(jié)未送完,返回
   BSF RA,CL  ;操作結(jié)束
   BSF RA,EN
   RETLW 0

51單片機相關(guān)文章:51單片機教程



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉