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

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

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

開發(fā)工具

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

技術支持

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

新品推廣

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

新聞中心

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

定時器0的使用

更新時間: 2019-03-23
閱讀量:2168

十年專注單片機方案開發(fā)的方案公司英銳恩,分享定時器0的使用。英銳恩現(xiàn)提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

;========================================================== ;定時器實現(xiàn)流水燈 ;MCD-DEMO實驗版 ;========================================================== include

;======================================== ;變量定義 ;======================================== TMR0_TEMP EQU .0 ;軟件模擬使用230,編程為0,256*256=65536US=65.536MS W_TEMP EQU 7FH COUNT1 EQU 20H ;定時330MS記數(shù)變量 COUNT2 EQU 21H ;更長時間記數(shù)變量 STATUS_TEMP EQU 22H PORTC_TEMP EQU 23H FLAG EQU 24H ;330MS定時標志,時間到=1,未到=0 W EQU 0x00 F EQU 0x01 COUNT_TEMP EQU .4 ;軟件模擬使用2,編程為5,時間大約是330MS ;======================================== ; ;======================================== ORG 000H NOP GOTO MAIN ORG 004H GOTO TMR0SERC ;============================================= ;主程序開始 ;=============================================

MAIN call systeminit ;調用初始化 LOOP BTFSS FLAG,0 ;判斷定時是否到 GOTO LOOP1 RlF PORTC_TEMP,F ;循環(huán)左移 BCF FLAG,0 LOOP1 MOVF PORTC_TEMP,W MOVWF PORTC GOTO LOOP ;============================================= ;初始化各端口、變量及中斷特殊寄存器 ;============================================= systeminit BSF STATUS,RP0 ;選擇體1 MOVLW 0 MOVWF TRISC MOVLW 07H ;軟件模擬為08H,編程為07H,1:256 MOVWF OPTION_REG BCF STATUS,RP0 CLRF INTCON MOVLW 0A0H ;開總中斷和定時器0中斷 MOVWF INTCON MOVLW B'00000001' ;賦值 MOVWF PORTC_TEMP MOVLW COUNT_TEMP MOVWF COUNT1 BCF FLAG,0 ;清除標志 MOVLW TMR0_TEMP ;啟動定時器0 MOVWF TMR0 return ;============================================= ;定時器中斷程序,如果COUNT1為0,置標志FLAG為1 ;============================================= TMR0SERC MOVWF W_TEMP ;軟件入棧 SWAPF STATUS,W CLRF STATUS MOVWF STATUS_TEMP BCF INTCON,T0IF ;清中斷標志 DECFSZ COUNT1,F ;COUNT1減1,判斷是否為零 GOTO JUMP0 ;COUNT1不為零,軟件出棧,跳出中斷,啟動定時器0 MOVLW COUNT_TEMP ;為零,賦值,F(xiàn)LAG=1 MOVWF COUNT1 BSF FLAG,0 JUMP0 MOVLW TMR0_TEMP MOVWF TMR0 SWAPF STATUS_TEMP,W MOVWF STATUS SWAPF W_TEMP,F SWAPF W_TEMP,W RETFIE ;============================================= ;結束 ;============================================= END

中阳县| 东乡族自治县| 探索| 迁西县| 井研县| 宜川县| 崇阳县| 辰溪县| 临猗县| 安福县| 达拉特旗| 崇明县| 孟村| 许昌县| 汽车| 团风县| 永春县| 纳雍县| 南川市| 衢州市| 牡丹江市| 阿拉善右旗| 涟水县| 板桥市| 哈巴河县| 彰化县| 边坝县| 华亭县| 舞阳县| 彭泽县| 三穗县| 黔东| 涟水县| 依安县| 呼伦贝尔市| 三门峡市| 阿城市| 石棉县| 汽车| 余干县| 清镇市|