采用PIC16C54的計數器
——
本文介紹的計數器采用Microchip公司的PIC16C54單片機。該型單片機為RISC結構,在4MHz的工作頻率下,每一個(gè)指令周期為1μs,運行速度大大超過(guò)MCS-51系列,適用于對實(shí)時(shí)性要求較高的工業(yè)控制領(lǐng)域。
電路原理
附圖為計數器的原理圖。PIC16C54具有兩個(gè)I/O口,RA口有4條I/O線(xiàn),RB口有8條I/O線(xiàn)。本計數器中RA口設置為輸入口,用于讀取BCD撥盤(pán)開(kāi)關(guān)(BCD1~BCD5)設定的計數值;RB口設置為輸出口,用于對數碼管進(jìn)行掃描和控制輸出繼電器。T0CKI為PIC16C54內部計數器的輸入腳,計數脈沖經(jīng)過(guò)光電轉換后從該腳輸入,PIC16C54的內部計數器對輸入的脈沖進(jìn)行計數。
由于該內部計數器寬度僅有8位,最多只能計數到256,因此要用軟件對該計數器進(jìn)行擴展,以滿(mǎn)足實(shí)際計數需要。
BCD撥盤(pán)開(kāi)關(guān)(BCD1~BCD5)設定計數終止值,當擴展的內部計數器計到與BCD撥盤(pán)開(kāi)關(guān)設定值相等時(shí),RB7輸出高電平,使繼電器吸合,控制外部設備。此時(shí),即使有計數脈沖輸入,計數器也不會(huì )再計數,必須在復位端輸入復位信號,才能重新計數。
軟件設計
本計數器的主程序完成BCD撥盤(pán)開(kāi)關(guān)的讀取和數碼管掃描。數碼管采用動(dòng)態(tài)掃描的方法顯示,每個(gè)數碼管依次亮一定的時(shí)間,利用人的視覺(jué)暫留使數碼管看上去是全亮的。每個(gè)數碼管亮時(shí)都調用一個(gè)延時(shí)程序,在延時(shí)程序中,實(shí)現對T0CKI腳的檢測與PIC16C54內部計數器的操作。由于PIC16C54沒(méi)有中斷功能,用這種方法可以實(shí)現實(shí)時(shí)計數。
浙江 范益平
注:需本計數器源程序的讀者可與作者聯(lián)系:noyesf@yeah.net
評論