新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PIC16F627單片機的可調倒計時提醒器軟硬件設計

        基于PIC16F627單片機的可調倒計時提醒器軟硬件設計

        作者: 時間:2012-02-21 來源:網絡 收藏

        器具有:電路簡潔、顯示醒目、定時準確、制作容易、倒計0~99 分鐘,使用方便的優點。它既有制作的趣味性,又有使用的實用性。

        本文引用地址:http://www.104case.com/article/172022.htm

          一、硬件電路

          如圖1所示,電源變壓器T1將AC220V市電變換為AC9V交流電壓后,經D1~D4整流、C4濾波、U2MC7805(或LM7805)穩壓后,得到5V直流電壓,為整機供電。

          主控芯片為,其每個端口的拉電流或灌電流可達25mA,無需外加三極管,就可以直接驅動LED數碼管。

          設的RB口為輸出,其中RB0~RB6用于數碼管的段驅動,因選用的是LG5621BH共陽數碼管,故只有當RBO~RB6輸出低電平時,數碼管才能被點亮,RB7口用于控制蜂鳴器,三極管Q3(S8050)作驅動放大,只有在RB7輸出高電平時,蜂鳴器才能鳴響報警。設RA0~RA2為輸出口,其中RA0、RAI用于數碼管的位驅動,輸出為低電平使能;RA2用于數碼管的小數點位驅動,低電平使能,用作定時器工作指示燈,當定時器工作時,數碼管的小數點位以2s的頻率閃爍。設RA5、RA4、RA3為輸入口,RR4、RR5、R6為RA5、RA4、RA3口的上拉電阻。在RA5、RA4、RA3口上接有按鍵開關S1~S3。S1為啟動/報警解除鍵;S2為十位數預置調整鍵,按一次該鍵,定時器的十位數減1,減到0時再按一下該鍵,數值回到了9,如此循環顯示;S3為定時器個位數預置調整鍵,調整方法與S2相同。至此,的所有端口都用上了。

          定時器功能:定時器初始上電時,兩位數碼管顯示99,并處于待機狀態。此時,如按一下個位定時數預置鍵S3,個位數碼管顯示值減1,如按一下S2,則十位數碼管顯示值減小1。

          S1為啟動/報警解除鍵。按動S1,定時器進入工作狀態,開始(定時時間為分鐘),定時時長從數碼管當前的顯示值開始。在倒計時期間,數碼管的小數點dp位以2s的頻率閃爍,并且每過一分鐘,個位顯示值減1;每過10分鐘,十位顯示值減1,當數碼管顯示值減至00后,再過60秒,蜂鳴器開始報警。在報警期間,數碼管始終顯示00,直至再次按下S1鍵,蜂鳴器才會停止報警,數碼管顯示上次預置的定時時間。

          在倒計時期間內,按鍵S1~S3均被屏蔽,不能使能。

          

        可調倒計時提醒器 www.elecfans.com


          二、程序

          1.程序流程主程序流程如圖2 (略)所示。1 分鐘定時子程序流程如圖3 (略)所示。數碼管顯示子程序流程如圖4(略)所示。

          2.程序要點

          (1)本定時器使用PIC16F627 的定時器模塊TM10 做成50ms 定時中斷,再用寄存器的遞減、判零語句“DECFSZ F”判斷是否到20 次中斷來確定顯示到1 分鐘沒有,未到1 分鐘,繼續顯示當前的數碼值,到1 分鐘,當前顯示的數碼值減1 后再顯示1 分鐘??,這樣,每過1 分鐘數碼管個位顯示值減1,每過10 分鐘,數碼管十位顯示值減1,直到兩位數碼管的顯示值減到00 為止。

          (2)定時器如何區分在程序中,用一個寄存器的標志位區分預置顯示程序和定時工作顯示程序。該標志位為0,執行預置顯示程序;為1,執行定時器工作程序。

          (3)按鍵的防抖動問題,機械按鍵在按下和抬起的瞬間均存在著多次接通與斷開的情況,本程序使用軟件來解決按鍵防抖問題。具體方法是,在按鍵按下和抬起的過程中均加有延時程序,一般延時時間以10ms 左右為宜。

          (4)周用顯示查表程序,用查表法作數碼管的數碼值顯示可使軟、硬件設計變得更加簡潔、易懂。但本定時器設計中把數碼管的小數點位用作了“工作指示燈”,又由于數碼管采用的是“動態掃描”的方式點亮的,所以此查表碼非彼查表碼,即查表碼發生了變化。右邊為本項目共陽極數碼所用的查表程序的碼表。

          如將碼表的值顛倒書寫,即將RETLW 0X40 寫在最前面,RETLW 0X10 寫在最后面,則本定時器就變成“正”定時器了。

          三、程序燒寫注意事項

          燒寫程序時,一定要注意編程器的“配置位”設置,否則可能導致程序不能正常運行等問題。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 元谋县| 嘉义市| 荣昌县| 洛隆县| 裕民县| 府谷县| 东宁县| 沁阳市| 仁寿县| 金溪县| 石泉县| 七台河市| 汕尾市| 元阳县| 永寿县| 两当县| 洛扎县| 类乌齐县| 胶南市| 桐庐县| 壶关县| 宣武区| 娱乐| 合川市| 耒阳市| 沂南县| 龙泉市| 门源| 巴南区| 朔州市| 安塞县| 将乐县| 关岭| 仙游县| 礼泉县| 南投市| 朝阳县| 许昌县| 正宁县| 永寿县| 且末县|