中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線(xiàn): 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ú)限潛能!

新品推廣

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

新聞中心

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

和初學(xué)者一起學(xué)習(xí)

更新時(shí)間: 2019-03-23
閱讀量:1992

十年專(zhuān)注單片機(jī)方案開(kāi)發(fā)的方案公司英銳恩,分享和初學(xué)者一起學(xué)習(xí)。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類(lèi)運(yùn)算放大器等。

以下程序:

;************************
;60秒記數(shù),RB0控制時(shí)間模式切換;RB1控制秒高/低位切換;
;RB2控制加1功能;RB4控制停止/啟動(dòng);TMR2產(chǎn)生秒信號(hào);TMR0
;控制數(shù)碼管掃描
;************************
list p=16f877a
#include
;************************
__CONFIG    _CP_OFF&_WDT_OFF&_PWRTE_ON&_XT_OSC&_WRT_OFF&_LVP_OFF&_CPD_OFF
;************************
        cblock     0x30
second_l                ;秒低位
second_h                ;秒高位
_t2count                   ;T2記數(shù)
time_mode              ;時(shí)間模式
flag                     ;停止標(biāo)志
porta                    ;移位標(biāo)志
porta_w                 ;位選通標(biāo)志
fsr  
 _ptr                     ;指針
_count                   ;閃爍次數(shù)記數(shù)

_flag0                   ;兩次閃爍間隔標(biāo)志
        endc
        cblock     0x70
w_temp       
status_temp
fsr_temp
pclath_temp            ;中斷臨時(shí)寄存器
       endc
#define    key0    PORTB,0
#define    key1    PORTB,1
#define    key2    PORTB,2
#define    key4    PORTB,4  ;定義按鍵
#define    _cycletime   .249 ;循環(huán)時(shí)間
;*************************
       org   0x000
       nop
       goto   main
;************************

org   0x004
        movwf   w_temp
        movf    STATUS,w
        clrf    STATUS
        movwf   status_temp
        movf    PCLATH,w
        movwf   pclath_temp
        movf    FSR,w
        movwf   fsr_temp       ;現(xiàn)場(chǎng)保護(hù)
;*************************
        banksel  INTCON        ;中斷判斷
        btfss    INTCON,PEIE
        goto     _chkt0int
        banksel   PIE1
        btfss     PIE1,TMR2IE
        goto     _chkt0int
        banksel   PIR1
        btfss     PIR1,TMR2IF
        goto     _chkt0int
;****************************
;確定T2中斷
;****************************
       
         banksel PORTA
         pagesel  $
         clrf     PIR1        ;清標(biāo)志
         btfss   time_mode,0  ;模式判斷,是否普通顯示模式
         goto    _flickerdis  ;否,轉(zhuǎn)閃爍顯示模式
;****************************

decf     _t2count,f
        movf     _t2count,w
        skpz
        goto     _generaldis ;沒(méi)到1秒,轉(zhuǎn)普通顯示
        movlw    .25
        movwf    _t2count
        call    _addsec       ;1秒處理
        goto     _generaldis  ;1秒處理后轉(zhuǎn)普通顯示
;******************
_chkt0int                      ;t0中斷判斷
         banksel   INTCON
         btfss     INTCON,T0IE
         goto      endofint 
         btfss     INTCON,T0IF
         goto      endofint   ;不是則直接中斷退出

;****************************
         bcf       INTCON,T0IF;確定為T(mén)0中斷,先清標(biāo)志
         btfss    time_mode,0 ;判斷顯示模式
         goto     _flickerdis  ; 轉(zhuǎn)閃爍顯示
         goto     _generaldis ;轉(zhuǎn)普通顯示
;****************************
_generaldis     

                clrf   STATUS  ;轉(zhuǎn)體0,普通顯示,C=0,IRP=0
                comf    porta_w,w
               movwf   PORTA   ;低位選通
               movlw   second_l&0xff    ;取秒低位首地址
               movwf   FSR
               movf    _ptr,w
               addwf   FSR,f   ;確定時(shí)間單元地址
               movf    INDF,w
               movwf   fsr
               call    _tablepro;查表處理
               movwf   PORTC     ;數(shù)碼顯示
               btfsc   porta_w,1 ;判斷2位是否移位完畢

goto    bb
               clrc  
               rlf     porta_w,f  ;沒(méi)有,準(zhǔn)備點(diǎn)亮下一位
cc             incf    _ptr,f     ;指針指向下1時(shí)間單元
               movlw   0x01
               andwf   _ptr,f     ;保證指針在2個(gè)時(shí)間單元移動(dòng)
               goto     endofint
bb             movlw    0x01      ;兩位移位完畢,重新賦值開(kāi)始新一輪顯示
               movwf    porta_w
               goto     cc
;*******************************
_flickerdis        

                  movlw    .25  ;閃爍顯示,重新賦值時(shí)間記數(shù)器
                  movwf    _t2count
                  clrf   STATUS  ;轉(zhuǎn)體0,C=0,IRP=0
                  btfss   _flag0,0 ;兩次閃爍的間隔次數(shù)控制標(biāo)志,1=調(diào)整位亮,0=調(diào)整位滅
                  goto    mm    ;0則調(diào)整位滅
               comf    porta_w,w
               movwf   PORTA
               movlw   second_l&0xff    ;取秒低位首地址
               movwf   FSR
               movf    _ptr,w

  addwf   FSR,f
               movf    INDF,w
               movwf   fsr
               call    _tablepro
               movwf   PORTC
               btfsc   porta_w,1
               goto    bb1
               clrc  
               rlf     porta_w,f  ;準(zhǔn)備點(diǎn)亮下一位
cc1            incf    _ptr,f
               movlw   0x01
               andwf   _ptr,f
               decf    _count,f   ;閃爍次數(shù)
               movf    _count,w
               skpnz
               goto    _judge_porta
               goto     endofint
bb1            movlw    0x01
               movwf    porta_w
               goto     cc1
;***********************************
_judge_porta 
              clrf     _flag0  ;標(biāo)志位清0
              movlw    .100
              movwf    _count
mm         btfss   porta,0   ;判斷正在調(diào)整哪一位                                 
              goto    sec_lpro  ;秒低位調(diào)整
              goto    sec_hpro   ;秒高位調(diào)整

sec_lpro 
           movlw     b'11111101' ;低位調(diào)整,高位一直選通
           movwf     PORTA
           movf      second_h,w
LL         movwf     fsr
           call      _tablepro
           movwf     PORTC
           decf      _count,f
           movf      _count,w
           skpz
           goto     endofint
           movlw    0x01
           xorwf    _flag0,f ;標(biāo)志取反
           movlw    .60
           movwf    _count

     goto     endofint
sec_hpro  
           movlw     b'11111110';高位調(diào)整
           movwf     PORTA
           movf      second_l,w
           goto      LL
          
                 
;******************
endofint                               ;中斷退出
               clrf     STATUS
               MOVF    fsr_temp,w      ;現(xiàn)場(chǎng)恢復(fù)
               MOVWF   FSR
               movf    pclath_temp,w
               movwf   PCLATH
               movf    status_temp,w
               movwf   STATUS
               swapf   w_temp,f
               swapf   w_temp,w
               retfie
                                          
;************************
main  
       banksel   TRISA
       movlw     0x07
       movwf     ADCON1 ;轉(zhuǎn)體1,設(shè)置A口全數(shù)字通道,輸出,數(shù)碼管位控
       clrf      TRISA

 movlw     b'00010111'
       movwf     TRISB
       clrf      TRISC ;數(shù)碼管段碼輸出
       movlw     0x02
       movwf     OPTION_REG  ;TMRO分品比1:8,內(nèi)部時(shí)鐘,2MS中斷一次,B口內(nèi)部上拉
       clrf      STATUS     ;轉(zhuǎn)體0
       clrf      INTCON     ;清標(biāo)志
       bsf       INTCON,T0IE
       bsf       INTCON,PEIE  ;T0&PEIE使能
       banksel   TRISA
       movlw     _cycletime
       movwf     PR2         ;設(shè)置T2循環(huán)周期
       clrf      PIE1       
       bsf       PIE1,TMR2IE  ;使能T2
       banksel   PORTA
       clrf      PORTB

RETLW   99H       ;4
            RETLW   92H       ;5
            RETLW   82H       ;6
            RETLW   0F8H      ;7
            RETLW   80H       ;8
            RETLW   98H       ;9
;***************************************      
             end

(文源網(wǎng)絡(luò),侵刪)

江川县| 内乡县| 根河市| 台东县| 炎陵县| 安图县| 曲周县| 冕宁县| 临泽县| 施秉县| 江陵县| 凤凰县| 嫩江县| 泸州市| 仲巴县| 天津市| 承德县| 宜春市| 房山区| 腾冲县| 景东| 博客| 盐山县| 弥渡县| 合肥市| 内丘县| 当涂县| 英德市| 肥城市| 苍梧县| 谷城县| 晋州市| 托里县| 呼和浩特市| 宾川县| 米脂县| 磐石市| 泸定县| 临澧县| 界首市| 云安县|