• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

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

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

    開發(fā)工具

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

    技術(shù)支持

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

    新品推廣

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

    新聞中心

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

    實(shí)戰(zhàn)八:一位鍵控計(jì)數(shù)器

    更新時(shí)間: 2019-01-05
    閱讀量:924

    ;本實(shí)例的目的是讓大家進(jìn)一步了解鍵盤程序,數(shù)碼管程序。;

    本實(shí)例的功能是用DIGIT作計(jì)數(shù)器,按S2一下計(jì)數(shù)器加1,加到9時(shí)計(jì)數(shù)器不再向上加;

    按S3一下計(jì)數(shù)器減1,減到0時(shí),計(jì)數(shù)不再減,同時(shí)計(jì)數(shù)器的值送數(shù)碼管2靜態(tài)顯示;

    燒寫時(shí)應(yīng)注意:配置位已經(jīng)在程序中寫明,加載HEX文件時(shí)會(huì)自動(dòng)加載,燒寫時(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

                                            ;沒有代碼保護(hù)                                              
    
                                         ;看門狗關(guān)閉                                              
    
                                         ;上電廷時(shí)器開啟                                              
    
                                         ;振蕩器模式為XT
    

    ;———————————————————————————-

    PC EQU 02H ; 變量單元定義

    STATUS EQU 03

    HPORTA EQU 05H

    PORTB EQU 06H

    TRISA EQU 5H

    TRISB EQU 6H;

    ———————————-STATUS

    RP0 EQU 5

    ;———————————-

    COUNTER EQU 10H ;

    DIGIT EQU 11H

    COUNT1 EQU 12H

    COUNT2 EQU 13H

    TABADD EQU 14H;


           ORG         0000H
    

    MAIN

            CLRF        PORTA ;初始IO口
    
            CLRF        PORTB
    
                 BSF 
    
        STATUS,RP0 ;設(shè)置數(shù)據(jù)寄存器體1 
    
           MOVLW       00011000B ;設(shè)置SW2,SW3口為輸入、其它口全部為輸出  
    
          MOVWF       TRISA  
    
           CLRW 
    
           MOVWF       TRISB
    
              BCF         STATUS,RP0 ;恢復(fù)數(shù)據(jù)寄存器體0 
    
           CLRF        DIGIT      ;清計(jì)數(shù)器
    
            GOTO        LOOP1      ;先顯示0
    

    ;———————————

    LOOP

           BTFSS       PORTA,3    ;掃描鍵S2是否有按下
    
            GOTO        SET_1
    
            BTFSS       PORTA,4    ;掃描鍵S3是否有按下
    
            GOTO        SET_2 
    
    GOTO  LOOP ;循環(huán)掃描
    

    LOOP1 ;數(shù)碼管顯示程序

            MOVLW       TABLE      ;將轉(zhuǎn)換表的首地址存入TABADD
    
            MOVWF       TABADD 
    
                MOVFW       DIGIT            
    

    ADDWF TABADD,W ;計(jì)數(shù)值(W)與轉(zhuǎn)換表的起始地址相加

            CALL        CONVERT    ;存入W后調(diào)用轉(zhuǎn)換表子程序
    
            MOVWF       PORTB      ;取出的七段顯示碼送RB口顯示
    
            BSF         PORTA,1    ;讓一位數(shù)碼管亮 
    
           GOTO        LOOP
    

    ;————————————————-

    SET_1

            BTFSC       PORTA,3   ;去除鍵抖動(dòng)
    
            GOTO        LOOP
    
            CALL        DELAY
    
            BTFSC       PORTA,3 
    
           GOTO        LOOP 
    
           MOVLW       09H       ;計(jì)數(shù)值為9后不再加1 
    
           XORWF       DIGIT,0 
    
           BZ          LOOP 
    
           INCF        DIGIT,1   ;不為9計(jì)數(shù)值加1
    
            GOTO        LOOP1     ;到數(shù)碼管顯示
    

    ;————————————————-

    SET_2 BTFSC PORTA,4 ;去除鍵抖動(dòng)

            GOTO        LOOP
    
            CALL        DELAY
    
            BTFSC       PORTA,4
    
            GOTO        LOOP  
    
          MOVF        DIGIT,1 ;計(jì)算值為0后不再減1
    
            BZ          LOOP
    
            DECF        DIGIT,1 ;不為0計(jì)數(shù)值減1
    
            GOTO        LOOP1   ;到數(shù)碼管顯示
    

    ;————————————————-

    DELAY ;設(shè)置延時(shí)常數(shù)

           MOVLW    150
    
    
    
    MOVWF    COUNT1
    

    L2 MOVLW 255

    MOVWF    COUNT2
    

    L3 DECFSZ COUNT2,1 ;遞減循環(huán)?

     GOTO   L3
    
    DECFSZ   COUNT1,1
    
    GOTO   L2
    
    RETLW    0
    

    ;—————————— —————————————————

    CONVERT MOVWF PC

                 ;將W寄存器內(nèi)的7段顯示碼地址放入PC
    

    TABLE ; PC執(zhí)行新地址指令, 跳到相對(duì)的地址執(zhí)行?

            RETLW    081H     ;0  ;RETLW指令,將七段顯示碼存入W后返回
    
            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
    

    ;——- ———————————————————————-

    END
    

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>