專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
十年專注單片機(jī)方案開發(fā)的方案公司英銳恩,分享基于PIC16C54單片機(jī)的計(jì)數(shù)器。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。
計(jì)數(shù)器在工業(yè)控制中有著廣泛的應(yīng)用。傳統(tǒng)的數(shù)字計(jì)數(shù)器都是用中小規(guī)模數(shù)字集成電路構(gòu)成的,不但電路復(fù)雜,成本高,功能修改也不易。用單片機(jī)制作的計(jì)數(shù)器可以克服傳統(tǒng)數(shù)字電路計(jì)數(shù)器的局限,有著廣闊的應(yīng)用前景。
本文介紹的計(jì)數(shù)器采用Microchip公司的PIC16C54單片機(jī)。該型單片機(jī)為RISC結(jié)構(gòu),在4MHz的工作頻率下,每一個(gè)指令周期為1μs,運(yùn)行速度大大超過MCS-51系列,適用于對實(shí)時(shí)性要求較高的工業(yè)控制領(lǐng)域。
電路原理
附圖為計(jì)數(shù)器的原理圖。PIC16C54具有兩個(gè)I/O口,RA口有4條I/O線,RB口有8條I/O線。本計(jì)數(shù)器中RA口設(shè)置為輸入口,用于讀取BCD撥盤開關(guān)(BCD1~BCD5)設(shè)定的計(jì)數(shù)值;RB口設(shè)置為輸出口,用于對數(shù)碼管進(jìn)行掃描和控制輸出繼電器。T0CKI為PIC16C54內(nèi)部計(jì)數(shù)器的輸入腳,計(jì)數(shù)脈沖經(jīng)過光電轉(zhuǎn)換后從該腳輸入,PIC16C54的內(nèi)部計(jì)數(shù)器對輸入的脈沖進(jìn)行計(jì)數(shù)。
由于該內(nèi)部計(jì)數(shù)器寬度僅有8位,最多只能計(jì)數(shù)到256,因此要用軟件對該計(jì)數(shù)器進(jìn)行擴(kuò)展,以滿足實(shí)際計(jì)數(shù)需要。
BCD撥盤開關(guān)(BCD1~BCD5)設(shè)定計(jì)數(shù)終止值,當(dāng)擴(kuò)展的內(nèi)部計(jì)數(shù)器計(jì)到與BCD撥盤開關(guān)設(shè)定值相等時(shí),RB7輸出高電平,使繼電器吸合,控制外部設(shè)備。此時(shí),即使有計(jì)數(shù)脈沖輸入,計(jì)數(shù)器也不會(huì)再計(jì)數(shù),必須在復(fù)位端輸入復(fù)位信號,才能重新計(jì)數(shù)。
軟件設(shè)計(jì)
本計(jì)數(shù)器的主程序完成BCD撥盤開關(guān)的讀取和數(shù)碼管掃描。數(shù)碼管采用動(dòng)態(tài)掃描的方法顯示,每個(gè)數(shù)碼管依次亮一定的時(shí)間,利用人的視覺暫留使數(shù)碼管看上去是全亮的。每個(gè)數(shù)碼管亮?xí)r都調(diào)用一個(gè)延時(shí)程序,在延時(shí)程序中,實(shí)現(xiàn)對T0CKI腳的檢測與PIC16C54內(nèi)部計(jì)數(shù)器的操作。由于PIC16C54沒有中斷功能,用這種方法可以實(shí)現(xiàn)實(shí)時(shí)計(jì)數(shù)。