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

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

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

開發(fā)工具

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

技術(shù)支持

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

新品推廣

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

新聞中心

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

單鍵控制8個LED左閃程序

更新時間: 2019-03-26
閱讀量:2049

;******************單鍵控制8LED左閃程序******************
;1、按鍵有暫停功能(定住其中1LED常亮)
;2、按鍵有開啟功能(在暫停的狀態(tài)下,開啟后LED繼續(xù)閃爍)
;3、按鍵有開機(jī)功能(在關(guān)機(jī)狀態(tài)下,開機(jī),程序從頭開始)
;4、按鍵有關(guān)機(jī)功能(程序在運行狀態(tài)還是在暫停狀態(tài),都可關(guān)機(jī))
;************************************************       
          list p=16f877a
          include "p16f877a.inc"
;***************定義變量*************************
flag_A       equ        20h
flag_B       equ        21h
x            equ        22h
y            equ        23h
z            equ        24h
;***************主程序***************************
main      
             org       000h
             nop

 bsf       STATUS,RP0
             movlw     00h
             movwf     TRISC
             movlw     0ffh
             movwf     TRISB
             bcf       STATUS,RP0
             movlw     01h
             movwf     PORTC
             call      delay1
             bcf       flag_A,0
             bcf       flag_B,0
             bcf       STATUS,0
main_loop    btfss     PORTB,0
             call      check
             rlf       PORTC,w
             movwf     PORTC
             call      delay1
             btfss     STATUS,0
             goto      main_loop
             goto      main
;****************按鍵處理*************************
check
             call      delay2
check_loop1  btfsc     PORTB,0

 goto      check_loop1
check_loop2  btfss     PORTB,0
             goto      check_loop5
             call      delay2       ;延時12ms
          ;**********暫停**********
             btfss     PORTB,0                        ;\
             goto      check_loop5  ;轉(zhuǎn)向關(guān)機(jī)   ; \
check_loop3  btfsc     flag_A,0                  ;  \      
             goto      check_loop7  ;轉(zhuǎn)向開機(jī)   ;   \
             btfsc     flag_B,0                            ;    \
             goto      check_loop8  ;轉(zhuǎn)向開啟   ;    /暫停
             comf       flag_B,f                           ;   /
check_loop4  btfsc     PORTB,0                  ;  /                            
goto check_loop4 ; /
             goto      check                                ;/
          ;**********關(guān)機(jī)**********
check_loop5                         
             call      delay3        ;延時589ms     ;\

 btfsc     PORTB,0                         ; \
             goto      check_loop3                    ;  \
             call      delay4                               ;   \
             bsf       flag_A,0                            ;    \                          
             movlw     0                                    ;     \
             movwf    PORTC                           ;      \
check_loop11 btfss     PORTB,0                ;      /關(guān)機(jī)程序
             goto      check_loop11                  ;     /
check_loop6  btfsc    PORTB,0                  ;    /
             goto     check_loop6                     ;   /
             movlw    01h                                 ;  /
             movwf    PORTC                          ; /
             goto     check                              ;/ 

 ;**********開機(jī)**********
check_loop7 
             bcf      flag_A,0                          ;\
             movf     PORTC,w                     ; \ 
             movwf    PORTC                       ;   開機(jī)程序
             call     delay1                            ; /
             goto     check_loop9                 ;/
          ;**********開啟**********
check_loop8 
              comf     flag_B,f                       ;\      
             movf     PORTC,w                    ; \
             movwf    PORTC                     ; /開啟程序
             call     delay1                          ;/

 ;**********返回********** 
check_loop9      return   
;****************閃燈延時196ms處理程序**********************
delay1
               movlw     0FFh        
               movwf     x         
delay1_loop0   movlw     0FFh         
               movwf     y        
delay1_loop1   decfsz    y,1        
               goto      delay1_loop1          
               decfsz    x,1        
               goto      delay1_loop0
               return
;****************按鍵延時12ms處理程序**********************
delay2
               movlw     10h
               movwf     x
               clrf      y
delay2_loop0   decfsz    y,1
               goto      delay2_loop0
               decfsz    x,1
               goto      delay2_loop0
               return
;****************按鍵延時589ms處理程序**********************
delay3

movlw     0FFh        
               movwf     x
               movlw     03h        
               movwf     z
delay3_loop0   movlw     0FFh         
               movwf     y        
delay3_loop1   decfsz    y,1        
               goto      delay3_loop1          
               decfsz    x,1        
               goto      delay3_loop0
               decfsz    z,1        
               goto      delay3_loop0
               return
;****************按鍵延時1500ms處理程序**********************
delay4
               movlw     0FFh        
               movwf     x
               movlw     08h        
               movwf     z

delay4_loop0   movlw     0FFh         
               movwf     y        
delay4_loop1   decfsz    y,1        
               goto      delay4_loop1          
               decfsz    x,1        
               goto      delay4_loop0
               decfsz    z,1        
               goto      delay4_loop0
               return
               end



曲麻莱县| 枣强县| 临武县| 定襄县| 习水县| 吴川市| 长宁县| 大关县| 枣庄市| 汝州市| 汉沽区| 武定县| 公安县| 民权县| 昔阳县| 临沧市| 航空| 庆云县| 宁都县| 新宁县| 南涧| 石门县| 昭觉县| 高安市| 瑞金市| 沙洋县| 铁岭市| 确山县| 德惠市| 洪泽县| 太湖县| 潼南县| 石林| 阿瓦提县| 项城市| 剑川县| 大庆市| 松潘县| 文登市| 绥滨县| 易门县|