人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

專(zhuān)注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

靜態(tài)數(shù)碼管顯示實(shí)驗(yàn)

更新時(shí)間: 2019-03-25
閱讀量:1355

深圳市英銳恩科技有限公司:臺(tái)灣麥肯單片機(jī)(Micon MDT單片機(jī))亞太地區(qū)A級(jí)代理商

靜態(tài)數(shù)碼管顯示實(shí)驗(yàn)
本實(shí)驗(yàn)的目的是讓大家熟悉數(shù)碼管,學(xué)習(xí)怎樣應(yīng)用查表程序,本程序的功能是要用PIC來(lái)實(shí)現(xiàn)一位
;數(shù)碼管顯示,程序復(fù)位后先由第一個(gè)數(shù)碼管從0循環(huán)顯示到9,再由第二個(gè)數(shù)碼管從0顯示到9,然后再
;由第一個(gè)數(shù)碼管顯示返復(fù)循環(huán)。程序中用一個(gè)計(jì)數(shù)器由0計(jì)數(shù)到9,同時(shí)將其在LED上顯示出來(lái)。該例給出
;計(jì)數(shù)值與顯示碼的轉(zhuǎn)換方法。
;燒寫(xiě)時(shí)應(yīng)注意:配置位已經(jīng)在程序中寫(xiě)明,加載HEX文件時(shí)會(huì)自動(dòng)加載,燒寫(xiě)時(shí)不用再手動(dòng)設(shè)置配置位。
;實(shí)驗(yàn)時(shí)請(qǐng)注意套件跳線選擇;
;****************************************************************
  LIST P=16F84A,R=DEC    ;定義器件為16F84,默認(rèn)數(shù)制為十進(jìn)制
;-----------------------------------------------
  __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
                                              ;沒(méi)有代碼保護(hù)
                                              ;看門(mén)狗關(guān)閉
                                              ;上電廷時(shí)器開(kāi)啟
                                              ;振蕩器模式為XT
;---------------------
PC     EQU 02H            ;變量單元定義
STATUS EQU 03H
PORTA EQU 05H
PORTB EQU 06H

TRISA EQU 5H
TRISB EQU 6H
;-----------------------STATUS
RP0    EQU 5
;-----------------------
COUNTER EQU 10H
COUNT0  EQU 11H
COUNT1  EQU 12H
COUNT2  EQU 13H
TABADD  EQU 14H
;--------------------
     ORG 0000H
MAIN
     CLRF PORTA
     CLRF PORTB          ;初始IO口
    
     BSF STATUS,RP0      ;設(shè)置數(shù)據(jù)寄存器體1
     MOVLW 00000000B     ;設(shè)置RB、RA口全部為輸出
     MOVWF TRISA
     MOVWF TRISB 
     BCF STATUS,RP0      ;恢復(fù)數(shù)據(jù)寄存器體0
;----------------------
LOOPA
     MOVLW 0FFH          ;讓數(shù)碼所有劃先熄滅
     MOVWF PORTB
     BSF PORTA,2
     BCF PORTA,1          ;讓第一位數(shù)碼管顯示
LOOP1
     MOVLW TABLE          ;將轉(zhuǎn)換表的首地址存入TABADD
     MOVWF TABADD
     CLRF COUNTER         ;計(jì)數(shù)器清0
     CLRW
LOOP2
     ADDWF TABADD,W        ;計(jì)數(shù)值(W)與轉(zhuǎn)換表的起始地址相加
     CALL CONVERT          ;存入W后調(diào)用轉(zhuǎn)換表子程序
     MOVWF PORTB           ;取出的七段顯示碼送RB口顯示
     CALL DELAY
     INCF COUNTER,1        ;計(jì)數(shù)器加1遞增(依次顯示0,1,2,…9,。)
     MOVLW 11
     XORWF COUNTER,0       ;第一位顯示完后轉(zhuǎn)第二位顯示
     BZ LOOPB
     MOVFW COUNTER
     GOTO LOOP2
;-------------------------
LOOPB
     MOVLW 0FFH            ;讓數(shù)碼所有劃先熄滅
     MOVWF PORTB
     BSF PORTA,1
     BCF PORTA,2            ;讓第二位數(shù)碼管顯示
LOOP3
     MOVLW TABLE
     MOVWF TABADD
     CLRF COUNTER
     CLRW
LOOP4
     ADDWF TABADD,W
     CALL CONVERT
     MOVWF PORTB
     CALL DELAY
     INCF COUNTER,1
     MOVLW 11
     XORWF COUNTER,0
     BZ LOOPA                  ;第二位顯示完后轉(zhuǎn)第一位循環(huán)顯示
     MOVFW COUNTER
     GOTO LOOP4
;---------------------------------
DELAY                                 ;設(shè)置延時(shí)常數(shù)
       MOVLW    3             
       MOVWF    COUNT0
L1  
       MOVLW    255
       MOVWF    COUNT1
L2  
       MOVLW    255
       MOVWF    COUNT2
L3  
       DECFSZ   COUNT2,1         ;遞減循環(huán)
       GOTO    L3
       DECFSZ   COUNT1,1
       GOTO    L2
       DECFSZ   COUNT0,1
       GOTO    L1
       RETLW    0
;-------------------- ----------------------------------
CONVERT  
            MOVWF    PC                      ;將W寄存器內(nèi)的7段顯示碼地址放入PC  
TABLE                                           ;PC執(zhí)行新地址指令, 跳到相對(duì)的地址執(zhí)行
                                                ;RETLW指令,將七段顯示碼存入W后返回        
   RETLW    081H    ;0
  RETLW    0E7H    ;1                               
  RETLW    092H    ;2
  RETLW    0A2H    ;3
  RETLW    0E4H    ;4
  RETLW    0A8H    ;5
  RETLW    088H    ;6
  RETLW    0E3H    ;7
  RETLW    080H    ;8
  RETLW    0A0H    ;9
          RETLW       07FH                      ;.
;----- -----------------------------------------------
     END

蓬莱市| 衡山县| SHOW| 元阳县| 体育| 霍邱县| 光山县| 安义县| 富锦市| 论坛| 阳江市| 锦屏县| 息烽县| 甘德县| 广丰县| 桃江县| 铜梁县| 蓝山县| 日照市| 曲阜市| 晋江市| 公主岭市| 辽阳市| 阜新市| 防城港市| 永胜县| 平果县| 阳城县| 五峰| 吉木乃县| 湟源县| 建始县| 汤阴县| 高雄县| 济源市| 新巴尔虎右旗| 会东县| 罗源县| 吉木乃县| 河南省| 漳平市|