<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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


          SI  EQU 1   ;RA1為串行數(shù)據(jù)輸入端
          SCP EQU 2  ??;RA2為時(shí)鐘端
          BUFF EQU 10H  ;數(shù)據(jù)緩存
          MBUF EQU 13H  ;13H,14H,15H,16H四個(gè)寄存器為顯示緩存
                  ??;13H最低位顯示段碼
                  ??;14H次低位顯示段碼
                  ??;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 ?。?ldquo;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單片機(jī)相關(guān)文章:51單片機(jī)教程



          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();