• <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

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

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

    開發(fā)工具

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

    技術(shù)支持

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

    新品推廣

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

    新聞中心

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

    PIC16C55單片機控制多用電子鐘

    更新時間: 2019-03-22
    閱讀量:3562

    本電子鐘采用PIC16C55單片機控制,適于溫室的定時恒溫或自來水的定時定壓控制等。PIC16C55單片機工作電壓為2.5~6.25V,功耗低、驅(qū)動能力強。本電子鐘可以控制一路負載在24小時內(nèi)的3次開/關(guān);一個雙限觸發(fā)的定時輸出口,既可接傳統(tǒng)的功率保持型繼電器,也可接脈沖繼電器。本機用四位LED數(shù)碼管掃描式顯示,還有消隱(省電)工作方式,使用起來非常靈活、方便。
      一、工作原理
      電子鐘電路見圖1。
      RB7口是定時指示端,在定時開期間輸出高電平,驅(qū)動V1發(fā)光,該口也可經(jīng)緩沖作定時輸出口;RB6是雙限觸發(fā)控制的定時輸出口,其工作方式是:在RB7高電平期間,若RB1為高電平,則RB6輸出高電平;若RB0為高電平,RB6輸出低電平;若RB1、RB0同為低電平,RB6保持原態(tài);同為高電平時,RB6輸出低電平。RB5、RB4用于驅(qū)動脈沖繼電器,RB6上升沿觸發(fā)RB5輸出高電平開脈沖;在RB6下降沿觸發(fā)RB4時,RB4端輸出高電平關(guān)脈沖,開/關(guān)脈沖的持續(xù)時間均為125ms。
      RB3是消隱控制器,接高電平(即SK1閉合)時,顯示屏及秒閃正常;否則,顯示消隱。顯示消隱時,時鐘及各控制邏輯都正常運行,如忽略RB4至RB7各口的驅(qū)動電流,則在3V供電時,整機電流不足20μA,即兩節(jié)5號電池可用數(shù)月!RB2選擇數(shù)碼管極性,RB2為低電平,使用共陰LED;RB2為高電平,則用共陽LED。數(shù)碼管的極性是在上電初始化時,根據(jù)RB2口狀態(tài)確定的,工作過程中改變RB2的電平則不起作用。

    本機設(shè)S1~S4四個按鍵,S1是功能選擇鍵,S2是小時增量調(diào)整,S3是分鐘增量,S4用于分鐘減量調(diào)節(jié),其使用方法為:
      上電時,RB5至RB7均為低電平,RB4端送出一個關(guān)脈沖,使SK1閉合,整機正常顯示、工作,RC7口送出秒閃脈沖,RC6~RC0送字段碼。RA3~RA0分別為10時、時、10分、分位的位碼輸出。這時,按一下S2或S3(時增量/分增量鍵),可使RB7端置位或復(fù)位。
      在正常走時期間,秒閃正常;在校對或設(shè)置定時時,秒停閃。例如:在正常走時期間,按一下S1鍵,秒閃停止,屏幕顯示J-,表示可以校對時間。這時再按S2~S4中任一鍵,屏幕顯示現(xiàn)在時間,但秒不閃,此刻可按S2~S4校對時鐘。再次按S1,屏幕顯示1∪,表示可以設(shè)定第一次開時間,此時按S2~S4對時間進行查看及設(shè)置。繼續(xù)按S1,系統(tǒng)顯示1∩,表示可設(shè)置第一次關(guān)時間……依次進行。設(shè)置好系統(tǒng)及3次開關(guān)時間后,整機回到正常顯示狀態(tài),秒閃恢復(fù)。
      如欲取消某次開/關(guān)定時,只需把該次的開與關(guān)時間設(shè)置成相同值即可。
      筆者曾把該時鐘用于定時定壓供水控制系統(tǒng),RB6端用于驅(qū)動繼電器(也可用RB5與RB4兩端驅(qū)動脈沖繼電器),RB1端接水壓(水位)的低限輸入,RB0端接高限輸入,設(shè)置好定時,一個簡易的定時定壓自動供水系統(tǒng)即告完成。
      二、編程技巧
      PIC16C55單片機程序存儲器只有512字節(jié),加上采用外接32768Hz晶體振蕩方式,時鐘速度較低,因此,統(tǒng)籌好系統(tǒng)的工作時序與人機界面之間的關(guān)系是軟件設(shè)計成敗的關(guān)鍵。本機編程采用如下方案:
      軟件工作流程見附圖2。

    PIC16C55單片機的一個機器周期是4個時鐘周期,不難算出,本系統(tǒng)中每秒有8192個機器周期。在編制軟件時,先設(shè)定單片機內(nèi)部定時計數(shù)器F1的計數(shù)方式為機器周期的64分頻。這樣,每當(dāng)F1溢出時,系統(tǒng)遞加2秒。平時,系統(tǒng)每128個機器周期內(nèi)用RC口與RA口驅(qū)動掃描一次顯示屏,可保證每秒內(nèi)掃描64次顯示屏,基本上無閃爍感。而128個機器周期正是F1的第0位(為便于敘述以下簡記為F10)每次下降沿的間隔時間,我們可以編一段程序,當(dāng)F10的下降沿到來時,掃描一次顯示屏,每當(dāng)F1的低4位為全0時(125ms一次)使系統(tǒng)檢測一次RB口與按鍵狀態(tài),并進行相關(guān)處理,部分相關(guān)程序如下:
    WAIT  BTFSC 1,0    ;等待F10的下降沿,編程時
          GOTO  WAIT   ;要保證每次下降沿前到此

    MOVFW 1
          SKPNZ
          GOTO  CLOCK ;F1=0,滿2秒,轉(zhuǎn)時鐘處理
          ANDLW 0FH ;屏蔽F1高4位
          SKPZ
          GOTO DISPLAY;F1低4位不為0,轉(zhuǎn)顯示
          MOVLW 0C0H ;滿125mS,使RB口脈沖復(fù)位
          ANDWF 6,1
          MOVLW 0FH   ;檢測按鍵
          TRIS  7
          MOVFW 7
          ANDLW 0FH ;保留按鍵數(shù)據(jù)
          SKPZ
          GOTO AN  ;有鍵值,轉(zhuǎn)按鍵處理
    DISPLAY ……      ;顯示掃描,定時管理RB口
    CLOCK    ……      ;時鐘,定時處理程序
    AN    ……      ;按鍵管理程序
      經(jīng)近一年的運行,該系統(tǒng)非常的穩(wěn)定、可靠。有興趣者不妨一試


    PIC16C55單片機控制多用電子鐘2


    PIC16C55單片機控制多用電子鐘1

    本源程序系`一款多用電子鐘芯片'源程序,可有3開3關(guān)定時,且有受雙限觸發(fā)的定時口
     ;該程序硬件系采用PIC16C55芯片LP振蕩方式外接32768Hz晶振

       ORG      000H      
    TOP             XORLW    0FFH      
                    XORLW    0FFH      
                    XORLW    0FFH      
                    XORLW    0FFH      
                    MOVLW    08H         ;F 12H--1DH依次為K1F--G3S
                    MOVWF    4         
    QL              CLRF     0         
                    INCF     4,1       
                    CLRWDT  
                    MOVFW    4         
                    ANDLW    1FH       
                    SKPZ    
                    GOTO     QL        
                    CLRF     4         
                    BTFSC    6,2       
                    BSF      0BH,2       ;共陽
                    GOTO     CSH       
    HBCD            NOP     
    DBCD            ANDLW    0FH        

    CLRWDT  
                    NOP     
                    ADDWF    2,1       
                    RETLW    01H         ;0(共陽)
                    RETLW    4FH         ;1
                    RETLW    12H         ;2
                    RETLW    06H         ;3
                    RETLW    4CH         ;4
                    RETLW    24H         ;5
                    RETLW    20H         ;6
                    RETLW    0FH         ;7
                    RETLW    00H         ;8
                    RETLW    04H         ;9
                    RETLW    47H         ;A(校時) 顯示J
                    RETLW    71H         ;B(鬧鈴) 顯示L
                    RETLW    31H         ;C
                    RETLW    63H         ;D(開)
                    RETLW    6AH         ;E(關(guān))
                    RETLW    7EH         ;F(杠)
    CSH             CLRW                 ;初始化
                    TRIS     5           ;F5,3--5,0共陽顯示掃描10時--分
                    BTFSS    0BH,2      

     MOVLW    0FH       
                    MOVWF    5           ;關(guān)掃描
                    MOVLW    0FH       
                    TRIS     6         
                    CLRF     6           ;關(guān)閉定時輸出
                    BSF      6,4         ;輸出關(guān)脈沖
                    MOVLW    11H         ;置顯示指針,F11H--時,F10H--分
                    MOVWF    4         
                    MOVLW    05H         ;F1計數(shù)64分頻
                    OPTION  
                    MOVLW    01H       
                    MOVWF    1         
                    MOVLW    0E2H      
                    MOVWF    0FH       
    HBEGIN          BCF      0BH,0       ;清1/8秒標(biāo)志
                    CLRWDT  
    WAIT            BTFSC    1,0         ;至HXSCL-17
                    GOTO     WAIT        ;1/64秒檢查
                    MOVFW    1          

     SKPNZ   
                    INCFSZ   0FH,1       ;秒增量(逢2秒1次)
                    GOTO     DZJC      
                    GOTO     HSZCL       ;整分處理
    DZJC            ANDLW    0FH       
                    SKPZ    
                    GOTO     XSCL        ;轉(zhuǎn)顯示處理
                    BSF      0BH,0       ;0BH.0-1/8秒標(biāo)志(啟動/停止檢測時用)
                    MOVLW    0C0H      
                    ANDWF    6,1         ;關(guān)(繼電器)驅(qū)動脈沖
                    MOVLW    0FH       
                    TRIS     7         
                    MOVFW    7           ;檢查按鍵狀態(tài)(0.125S-1次)
                    ANDLW    0FH         ;F7,3--7,0依次是功能,時加,分加,分減鍵
                    SKPZ    
                    GOTO     HAJCL       ;轉(zhuǎn)按鍵處理
    XSCL            MOVF     0EH,1       ;F0EH-調(diào)節(jié)指針
                    MOVLW    80H       
                    SKPNZ   
                    MOVLW    00H         ;在設(shè)定時間時,

    秒停閃
                    BTFSS    6,3       
                    MOVLW    0FFH        ;消隱時,7段碼口為高阻態(tài)
                    TRIS     7         
                    BTFSS    0BH,2       ;共陽/共陰選擇
                    GOTO     DXSCL       ;轉(zhuǎn)共陰顯示
                    BTFSC    0BH,6     
                    GOTO     HBZXS       ;轉(zhuǎn)標(biāo)志顯示
    HXSB            MOVFW    0AH         ;時間顯示(95)
                    MOVWF    7           ;輸出10時碼
                    BSF      5,3         ;開10時線
                    CLRW    
                    BTFSC    0BH,0     
                    MOVFW    6           ;每0.125秒`啟動/停止'檢測1次
                    ANDLW    03H       
                    MOVWF    8         
                    BTFSC    8,0       
                    BCF      8,1         ;消除啟動/停止競爭
                    MOVFW    0         
                    CALL     HBCD        ;10
                    BTFSC    1,6       
                    IORLW    80H         ;準備`時'數(shù)據(jù)
                    BCF      5,3         ;關(guān)10時

    MOVWF    7         
                    BTFSS    0BH,7     
                    CLRF     8         
                    BSF      5,2         ;顯示時
                    BTFSS    6,6       
                    BCF      8,0         ;如已關(guān),不再停止
                    BTFSC    6,6       
                    BCF      8,1         ;如已開,不再啟動
                    BTFSC    8,0       
                    BCF      6,6         ;如停止,復(fù)位開電平
                    DECF     4,1       
                    SWAPF    0,0       
                    CALL     HBCD        ;10
                    BTFSC    1,6       
                    IORLW    80H         ;準備10分顯示數(shù)

    據(jù)
                    BCF      5,2         ;關(guān)掃描線
                    MOVWF    7         
                    BTFSC    8,1       
                    BSF      6,6         ;如啟動,置位開電平
                    BSF      5,1         ;顯示10分
                    SWAPF    08H,1     
                    MOVFW    6         
                    ANDLW    0C0H      
                    IORWF    08H,1     
                    MOVFW    08H       
                    MOVWF    6           ;啟動/停止輸出
                    NOP     
                    MOVFW    0         
                    CALL     HBCD        ;10
                    BTFSC    1,6       
                    IORLW    80H         ;準備分顯示數(shù)據(jù)
                    BCF      5,1         ;關(guān)掃描線
                    MOVWF    7         
                    BSF      5,0         ;顯示分
                    NOP     
                    NOP      

     NOP     
                    NOP     
                    NOP                
                    INCF     4,1         ;恢復(fù)時指針
                    SWAPF    0,0         ;準備10時7段碼
                    CALL     HBCD        ;10
                    BTFSC    1,6       
                    IORLW    80H       
                    MOVWF    0AH         ;10時位7段顯示碼暫存于F0AH中
                    CLRF     5         
                    GOTO     HBEGIN      ;時間顯示完,轉(zhuǎn)程序結(jié)束
    HBZXS           RRF      0EH,0       ;調(diào)節(jié)指針(F0EH)除以2(71)
                    ANDLW    0FH       
                    MOVWF    1FH       
                    SKPNZ   
                    MOVLW    0AH         ; J 7段碼地址
                    CALL     HBCD        ;(10)標(biāo)志指示1(10分位)

              MOVWF    7           ;此時可能顯示[J 1 2 3]
                    BSF      5,1         ;開(10分位)顯示
                    MOVFW    6         
                    ANDLW    03H       
                    MOVWF    8           ;啟動/停止數(shù)據(jù)暫存入F8中
                    NOP     
                    MOVLW    0DH         ; U 地址
                    BTFSC    0EH,0     
                    MOVLW    0EH         ; n 地址
                    MOVF     1FH,1     
                    SKPNZ   
                    MOVLW    0FH         ; - 地址
                    CALL     HBCD        ;10
                    BCF      5,1         ;關(guān)10分位
                    MOVWF    7         
                    BSF      5,0         ;開分位,可能顯示[- U n]
                    BTFSS    0BH,0     
                    CLRF     8           ;每0.125秒取1次啟動/停止數(shù)據(jù)
                    BTFSS    0BH,7     
                    CLRF     8          

     BTFSC    8,0       
                    BCF      8,1         ;免除啟/停競爭(停止優(yōu)先)
                    BTFSC    6,6       
                    BCF      8,1         ;如已開,則清啟動位
                    BTFSS    6,6       
                    BCF      8,0         ;如已關(guān),則清停止位
                    SWAPF    8,1       
                    BTFSC    8,5       
                    BSF      6,6         ;如啟動,置位開電平
                    BTFSC    8,4       
                    BCF      6,6         ;如停止,復(fù)位開電平
                    MOVFW    6           ;控制輸出
                    ANDLW    0C0H      
                    IORWF    08H,1      

     MOVFW    08H       
                    MOVWF    6         
                    CLRF     5           ;標(biāo)志顯示完
                    GOTO     HBEGIN    
    DXSCL           BTFSC    0BH,6     
                    GOTO     DBZXS       ;轉(zhuǎn)標(biāo)志顯示
    DXSB            MOVFW    0AH         ;時間顯示(84)
                    MOVWF    7           ;輸出10時碼
                    BCF      5,3         ;開10時線
                    CLRW    
                    BTFSC    0BH,0     
                    MOVFW    6           ;每0.125秒`啟動/停止'檢測1次
                    ANDLW    03H       
                    MOVWF    8         
                    BTFSC    8,0       
                    BCF      8,1         ;消除啟動/停止競爭
                    MOVFW    0         
                    CALL     DBCD        ;9
                    XORLW    7FH       
                    BTFSC    1,6       
                    IORLW    80H         ;準備`時'數(shù)據(jù)
                    BSF      5,3         ;關(guān)10時

     MOVWF    7         
                    BTFSS    0BH,7     
                    CLRF     8         
                    BCF      5,2         ;顯示時
                    BTFSS    6,6       
                    BCF      8,0         ;如已關(guān),不再停止
                    BTFSC    6,6       
                    BCF      8,1         ;如已開,不再啟動
                    BTFSC    8,1       
                    BSF      6,6         ;如啟動,置位開電平
                    DECF     4,1       
                    SWAPF    0,0       
                    CALL     DBCD        ;9
                    XORLW    7FH       
                    BTFSC    1,6       
                    IORLW    80H         ;準備10分顯示數(shù)據(jù)

     MOVWF    7         
                    BTFSS    0BH,7     
                    CLRF     8         
                    BCF      5,2         ;顯示時
                    BTFSS    6,6       
                    BCF      8,0         ;如已關(guān),不再停止
                    BTFSC    6,6       
                    BCF      8,1         ;如已開,不再啟動
                    BTFSC    8,1       
                    BSF      6,6         ;如啟動,置位開電平
                    DECF     4,1       
                    SWAPF    0,0       
                    CALL     DBCD        ;9
                    XORLW    7FH       
                    BTFSC    1,6       
                    IORLW    80H         ;準備10分顯示數(shù)據(jù)

     BTFSC    1,6       
                    IORLW    80H       
                    MOVWF    0AH         ;10時位7段顯示碼暫存于F0AH中
                    MOVLW    0FH       
                    MOVWF    5         
                    GOTO     HBEGIN      ;時間顯示完,轉(zhuǎn)程序結(jié)束
    DBZXS           RRF      0EH,0       ;調(diào)節(jié)指針(F0EH)除以2(66)
                    ANDLW    0FH       
                    MOVWF    1FH       
                    SKPNZ   
                    MOVLW    0AH         ; J 7段碼地址
                    CALL     DBCD        ;標(biāo)志指示1(10分位)
                    XORLW    7FH        

           MOVWF    7           ;此時可能顯示[J 1 2 3]
                    BCF      5,1         ;開(10分位)顯示
                    MOVFW    6         
                    ANDLW    03H       
                    MOVWF    8         
                    MOVLW    0DH         ; U 地址
                    BTFSC    0EH,0     
                    MOVLW    0EH         ; n 地址
                    MOVF     1FH,1     
                    SKPNZ   
                    MOVLW    0FH         ; - 地址
                    CALL     HBCD        ;10
                    XORLW    7FH       
                    BSF      5,1         ;關(guān)10分位
                    MOVWF    7         
                    BCF      5,0         ;開分位,可能顯示[- U n]
                    BTFSC    0BH,0     
                    CLRF     8           ;每0.125秒取1次啟動/停止數(shù)據(jù)
                    BTFSS    0BH,7     
                    CLRF     8           ;啟動/停止數(shù)據(jù)暫存入F8中
                    BTFSC    8,0       
                    BCF      8,1         ;免除啟/停競爭

    BTFSC    6,6       
                    BCF      8,1         ;如已開,則清啟動位
                    BTFSS    6,6       
                    BCF      8,0         ;如已關(guān),則清停止位
                    SWAPF    8,1       
                    BTFSC    8,5       
                    BSF      6,6         ;如啟動,置位開電平
                    BTFSC    8,4       
                    BCF      6,6         ;如停止,復(fù)位開電平
                    MOVFW    6         
                    ANDLW    0C0H      
                    IORWF    8,1         ;準備輸出控制數(shù)據(jù)

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