PIC10F20X系列單片機的四例應用
摘要:基于空間受到限制的電路中,尋求實(shí)現智能化系統管理與控制的目的,通過(guò)給出:LED的變閃燈驅動(dòng)、醫用輸液監視、電熱剪調控、高亮LED亮度調光共四例應用電路設計,在設計中采用PIC10F20X系列單片機,通過(guò)軟件產(chǎn)生PWM控制信號、間歇式電源供電與測試點(diǎn)檢測過(guò)程管理,說(shuō)明在定時(shí)控制、PWM信號產(chǎn)生、I/O監控、電池供電下能耗控制方面的應用方法。從而實(shí)現了高亮LED調光電路PWM信號占空比1%~99%以上控制、醫用輸液監視器電池使用壽命延長(cháng)4倍以上等技術(shù)需求。
關(guān)鍵詞:嵌入式系統;間歇式控制;PWM;占空比;定時(shí)控制;I/O監控;低功耗
由Microclaip Technology Inc出品的單片機:PIC10F200/202/204/206,因采用了SOT-23-6封裝,被稱(chēng)著(zhù)為世界上最小單片機。其僅有33條單字指令,除了程序跳轉指令為雙周期指令外,其余均為單周期指令(12位寬);含2級硬件堆棧、數據和指令(直接、間接和相對尋址模式)、8位寬數據總線(xiàn)、8個(gè)特殊功能硬件寄存器:工作速度為4 MHz內部時(shí)鐘1μs指令周期的RISC架構單片機,完成需要微型化、極小電路
板空間、高性?xún)r(jià)比、低電源電壓供電的低功耗環(huán)境嵌入式系統開(kāi)發(fā)。
在以下LED的變閃燈驅動(dòng)、醫用輸液監視、配合555用于電熱剪調控、高亮LED亮度調光的4例應用中,通過(guò)其集成開(kāi)發(fā)環(huán)境MPLAB IDE,借助CSS公司的C語(yǔ)言編譯器,實(shí)現其C語(yǔ)言程序設計,并通過(guò)數碼微控技術(shù)室(www.01mcu.net)的USB—PIC編程器,采用ICSP方式完成HEX文件到PIC10F200、206的代碼裝載。同時(shí)在PROTEUS ISIS軟件中完成對應功能仿真,以實(shí)現設計過(guò)程的驗證。最后完成實(shí)物制作。
1 LED變閃燈電路
電路如下圖1所示,PIC10F200用于驅動(dòng)30只LED的變閃燈電路。電路中BT1、BT2為鋰電池,U1 DW01—P為電池充電保護集成電路,其與U2 TM8205FC(雙NMOS)場(chǎng)放應管構成電池充放電管理,J1為外接充電電源接入端。當J1插入充電電源時(shí),單片機U3與LED(D1~D30)電源斷開(kāi),停止工作,此時(shí)僅電池進(jìn)行充電,由U1防止鋰電池BT1、BT2出現過(guò)充現象。當JI充電電源完成充電斷開(kāi)后,單片機U3與LED(D1~D30)開(kāi)始工作,在按鍵S1的操作控制下,單片機U3通過(guò)其GPO引腳分由開(kāi)關(guān)管VQ1、VQ2實(shí)現各5組3個(gè)LED燈的二種工作方式發(fā)光。分二路的目的在于使開(kāi)關(guān)管VQ1、VQ2分配合理的工作電流到各自所驅動(dòng)的15只LED。二種發(fā)光方式其一:以PWM方式控制所有的LED有合適的亮度;其二:在約2 s的時(shí)間內,前1秒鐘以間歇雙閃動(dòng)方式(其發(fā)光依然為PWM控亮度)三次閃光,后1秒熄滅。每按一次按鍵S1進(jìn)行一次二種方式的切換。工作中U1防止鋰電池BT1、BT2出現過(guò)放電現象。
在程序的起始部分中,用語(yǔ)句:#fuses=0x0FE3,說(shuō)明關(guān)閉WDT、有代碼保護、GP3引腳作為I/O口功能、MCLR由電源上電產(chǎn)生,設置好單片機的配置字。其PWM信號產(chǎn)生設置一個(gè)自定義函數如下:
函數中若設變量a=b=1 000,則將在單片機GP0引腳產(chǎn)生50 ms時(shí)長(cháng)共25次500 Hz,占空比為50%的PWM信號。若要改變占空比而維持PWM信號頻率不變,只需在增加或減小a值的同時(shí),減小或增加b值,使a+b值始終為2 000不變,以實(shí)現LED有合適的亮度。
實(shí)現方式二的程序部分如下:
評論