亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置及方法

文檔序號(hào):6305347閱讀:869來源:國知局
一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置及方法
【專利摘要】本發(fā)明公開了一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置及方法,包括8254計(jì)數(shù)器和單片機(jī)控制電路、八相三態(tài)緩沖器74LS244輔助電路;8254計(jì)數(shù)器和單片機(jī)控制電路完成8254通道級(jí)聯(lián)和單片機(jī)對(duì)8254預(yù)送正脈沖任務(wù),利用8254計(jì)數(shù)器讀回指令加1修正解決計(jì)數(shù)問題;八相三態(tài)緩沖器74LS244輔助電路完成計(jì)數(shù)初值裝入,當(dāng)脈沖來臨時(shí)完成計(jì)數(shù)器的減1計(jì)數(shù),解決無計(jì)數(shù)脈沖和計(jì)數(shù)值偏低問題;本發(fā)明的裝置及方法具有提高8254計(jì)數(shù)器計(jì)數(shù)精準(zhǔn)度的特點(diǎn)。
【專利說明】一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種可編程計(jì)數(shù)器的應(yīng)用,屬于半導(dǎo)體應(yīng)用領(lǐng)域,具體地說,涉及一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置和方法。
【背景技術(shù)】
[0002]Intel8254是一種通用的可編程定時(shí)/計(jì)數(shù)器,內(nèi)含3個(gè)獨(dú)立的16位定時(shí)/計(jì)數(shù)器(T/C),由于芯片本身的特性,使之在事件計(jì)數(shù)時(shí)存在一定的問題。
[0003](I)無計(jì)數(shù)脈沖問題;8254控制字的裝入與時(shí)鐘無關(guān),即使沒有時(shí)鐘輸入,控制字仍然可以裝入控制字寄存器,但是,計(jì)數(shù)初值必須經(jīng)過一個(gè)完整的正脈沖才能被裝入計(jì)數(shù)寄存器;當(dāng)外部沒有時(shí)鐘輸入時(shí),初值則不能被裝入計(jì)數(shù)寄存器,此時(shí)從計(jì)數(shù)器中讀取的值是不確定的,無意義。
[0004](2)計(jì)數(shù)值偏低問題;在寫入初值后第一個(gè)正脈沖的下降沿只是把初值裝入計(jì)數(shù)寄存器,并不開始計(jì)數(shù),而是在下一個(gè)正脈沖的下降沿才開始減I計(jì)數(shù)。
[0005](3)通道級(jí)聯(lián)問題;當(dāng)外部計(jì)數(shù)范圍超過65536時(shí),可以把計(jì)數(shù)器O和計(jì)數(shù)器I通道級(jí)聯(lián),構(gòu)成一個(gè)32位的計(jì)數(shù)器,其計(jì)數(shù)初值分別為Ntl和N1,但同時(shí)也出現(xiàn)了問題;問題一:當(dāng)計(jì)數(shù)值小于65536時(shí),計(jì)數(shù)器I的初值NI沒被裝入寄存器,則從通道I讀出的值是無意義的;問題二:計(jì)數(shù)器O的計(jì)數(shù)值應(yīng)減至O時(shí),才向計(jì)數(shù)器I借位,但實(shí)際上計(jì)數(shù)器O的計(jì)數(shù)值減到I時(shí),就向計(jì)數(shù)器I借位,計(jì)數(shù)器I開始減1,若此時(shí)讀值,則計(jì)數(shù)器I多減1,計(jì)數(shù)值比實(shí)際值大Ntl ;問題三:當(dāng)讀后一個(gè)通道的計(jì)數(shù)值時(shí),前一個(gè)通道的計(jì)數(shù)值可能改變了。
[0006]《8254在事件計(jì)數(shù)方面的問題與解決》,三明職業(yè)大學(xué)電子系的饒連周在三明職業(yè)大學(xué)學(xué)報(bào)第I期發(fā)表,發(fā)表時(shí)間1999年,該文獻(xiàn)公開了一種利用MCS-51單片機(jī)和74LS74雙D觸發(fā)器外加譯碼器的方法解決8254計(jì)數(shù)器在事件計(jì)數(shù)方面存在的問題,該方法電路連接繁瑣,僅僅使用雙D觸發(fā)器難以避免計(jì)數(shù)值偏低的問題。

【發(fā)明內(nèi)容】

[0007]針對(duì)上述存在的問題和現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的方法。
[0008]本發(fā)明的技術(shù)方案是:一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置,包括8254計(jì)數(shù)器和單片機(jī)控制電路,其特征在于,還包括74LS244八相三態(tài)緩沖器輔助電路。
[0009]所述8254計(jì)數(shù)器和單片機(jī)控制電路包括8254計(jì)數(shù)器U3、8254計(jì)數(shù)器U5、單片機(jī)U4、電阻R3、電容C3、電容Cl、晶振Y1、電容C2 ;8254計(jì)數(shù)器U3的I腳至8腳和8254計(jì)數(shù)器U5的I腳至8腳共同與單片機(jī)U4的22腳至29腳相連,8254計(jì)數(shù)器U3的21腳與單片機(jī)U4的36腳相連,8254計(jì)數(shù)器U3的22腳、8254計(jì)數(shù)器U5的22腳與單片機(jī)U4的37腳相連,8254計(jì)數(shù)器U3的23腳、8254計(jì)數(shù)器U5的23腳與單片機(jī)U4的38腳相連,8254計(jì)數(shù)器U3的19腳、8254計(jì)數(shù)器U5的19腳與單片機(jī)U4的39腳相連,8254計(jì)數(shù)器U3的20腳、8254計(jì)數(shù)器U5的20腳與單片機(jī)U4的40腳相連,8254計(jì)數(shù)器U3的16腳和8254計(jì)數(shù)器U3的18腳共同接地,8254計(jì)數(shù)器U3的14腳、8254計(jì)數(shù)器U3的11腳與8254計(jì)數(shù)器U5的14腳、8254計(jì)數(shù)器U5的11腳共同接電源Vcc,8254計(jì)數(shù)器U5的21腳與單片機(jī)U4的35腳相連,8254計(jì)數(shù)器U5的16腳和8254計(jì)數(shù)器U5的18腳共同接地,單片機(jī)U4的9腳與電阻R3的一端、電容C3的一端相連,電阻R3的另一端接電源Vcc,電容C3的另一端接地,單片機(jī)U4的12腳與晶振Yl的一端、電容Cl的一端相連,電容Cl的另一端接地,單片機(jī)U4的13腳與晶振Yl的另一端、電容C2的一端相連,電容C2的另一端接地,單片機(jī)U4的10腳、單片機(jī)U4的30腳、單片機(jī)U4的32腳共同接電源Vcc,單片機(jī)U4的31腳、單片機(jī)U4的11腳共同接地。
[0010]所述74LS244八相三態(tài)緩沖器輔助電路包括7474雙D觸發(fā)器Ul、74LS244八相三態(tài)緩沖器U2、外部輸入信號(hào)端Pl ;7474雙D觸發(fā)器Ul的3腳與7474雙D觸發(fā)器Ul的9腳相連,7474雙D觸發(fā)器Ul的4腳接電源Vcc,7474雙D觸發(fā)器Ul的2腳與單片機(jī)U4的34腳相連,7474雙D觸發(fā)器Ul的I腳、單片機(jī)U4的2腳與8254計(jì)數(shù)器U5的13腳相連,7474雙D觸發(fā)器Ul的10腳、7474雙D觸發(fā)器Ul的11腳與74LS244八相三態(tài)緩沖器U2的4腳、外部輸入信號(hào)端Pl的3腳相連,7474雙D觸發(fā)器Ul的12腳與7474雙D觸發(fā)器Ul的13腳共同接地,7474雙D觸發(fā)器Ul的6腳與74LS244八相三態(tài)緩沖器U2的I腳相連,74LS244八相三態(tài)緩沖器U2的2腳與8254計(jì)數(shù)器U3的10腳相連,74LS244八相三態(tài)緩沖器U2的6腳與8254計(jì)數(shù)器U5的10腳相連,74LS244八相三態(tài)緩沖器U2的8腳與外部輸入信號(hào)端Pl的2腳相連,74LS244八相三態(tài)緩沖器U2的19腳與單片機(jī)U4的33腳相連,74LS244八相三態(tài)緩沖器U2的11腳、74LS244八相三態(tài)緩沖器U2的13腳、74LS244八相三態(tài)緩沖器U2的15腳、74LS244八相三態(tài)緩沖器U2的17腳與單片機(jī)U4的I腳相連,74LS244八相三態(tài)緩沖器U2的18腳、74LS244八相三態(tài)緩沖器U2的3腳與8254計(jì)數(shù)器U3的15腳相連,74LS244八相三態(tài)緩沖器U2的16腳、74LS244八相三態(tài)緩沖器U2的5腳與8254計(jì)數(shù)器U3的9腳相連,74LS244八相三態(tài)緩沖器U2的14腳、74LS244八相三態(tài)緩沖器U2的7腳與8254計(jì)數(shù)器U5的15腳相連,74LS244八相三態(tài)緩沖器U2的12腳、74LS244八相三態(tài)緩沖器U2的9腳與8254計(jì)數(shù)器U5的9腳相連,外部輸入信號(hào)端Pl的I腳接地。
[0011]一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的方法,包括如下步驟:
[0012](I) 8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的GaTEc^GATE1四個(gè)端口共同連接電源Vcc,始終保持高電平,實(shí)現(xiàn)兩片8254計(jì)數(shù)器的通道級(jí)聯(lián);并且8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的接口寄存器選擇端Atl與單片機(jī)U4的PAO控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的接口寄存器選擇端A1與單片機(jī)U4的PAl控制端口連接、8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的讀信號(hào)端而與單片機(jī)U4的PA3控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的寫信號(hào)端面與單片機(jī)U4的PA2控制端口連接、8254計(jì)數(shù)器U3的片選端茂與單片機(jī)U4的的PA4控制端口連接,8254計(jì)數(shù)器U5的片選端占與單片機(jī)U4的PA5控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的三態(tài)雙向數(shù)據(jù)端Dtl~D7連接單片機(jī)U4的PC7~PCO控制端口 ;
[0013] (2)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5向各自的內(nèi)部控制字寄存器寫入方式控制字,選定內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器1,確定要使用的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的工作方式,并向內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I寫入計(jì)數(shù)初值,完成8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的初始化;
[0014]還包括以下步驟:
[0015](3)單片機(jī)U4的PA7控制端口先輸出低電平使74LS244八相三態(tài)緩沖器U2的運(yùn)端口使能,74LS244八相三態(tài)緩沖器U2的輸入端2A1?2A4與輸出端2Y1?2Y4導(dǎo)通,使單片機(jī)U4的PBO控制端口給定的脈沖與8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的脈沖輸入CLK相連,并且單片機(jī)U4輸出正脈沖,當(dāng)計(jì)數(shù)脈沖來臨時(shí)計(jì)數(shù)器I和計(jì)數(shù)器2的計(jì)數(shù)初值同時(shí)都被裝入寄存器;
[0016](4)單片機(jī)U4的PA7控制端口后輸出高電平使74LS244八相三態(tài)緩沖器U2的26端口不使能,單片機(jī)U4向7474雙D觸發(fā)器Ul的數(shù)據(jù)輸入ID端口發(fā)送高電平,7474雙D觸發(fā)器Ul的反向輸出端口 IQN輸出低電平使74LS244八相三態(tài)緩沖器U2的遠(yuǎn)端口使能,74LS244八相三態(tài)緩沖器U2的輸入端口 IAl?1A4與輸出端口 IYl?1Y4導(dǎo)通,外部計(jì)數(shù)脈沖經(jīng)過Pl的輸入端口 2與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的脈沖端相連,74LS244八相三態(tài)緩沖器U2的輸入端口 IAl端與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,74LS244八相三態(tài)緩沖器U2的輸入端口 1A3與8254的計(jì)數(shù)器U3的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,在有連續(xù)脈沖信號(hào)且GATE信號(hào)為高電平時(shí)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I開始計(jì)數(shù),單片機(jī)U4選通外部時(shí)鐘源;若外部計(jì)數(shù)脈沖未輸入,則8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I不開始計(jì)數(shù),繼續(xù)等待外部計(jì)數(shù)脈沖信號(hào)的來臨;
[0017](5)開始計(jì)數(shù)后,單片機(jī)U4讀取8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的回讀寄存器鎖存的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的狀態(tài)和計(jì)數(shù)值,待計(jì)數(shù)停止時(shí)判斷8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的值是否為1,若不為1,則無需矯正,繼續(xù)脈沖計(jì)數(shù);若為1,則將8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器I的值加I修正,然后再繼續(xù)脈沖計(jì)數(shù)。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
[0019]1.解決8254計(jì)數(shù)器的計(jì)數(shù)問題。利用74LS244八相三態(tài)緩沖器和7474雙D觸發(fā)器,結(jié)合軟件編程能有效解決8254計(jì)數(shù)器存在的無計(jì)數(shù)脈沖問題、計(jì)數(shù)值偏低問題和通道級(jí)聯(lián)問題。
[0020]2.準(zhǔn)確度高。通過軟硬件結(jié)合,解決問題的同時(shí)大大提高了 8254計(jì)數(shù)器的計(jì)數(shù)精準(zhǔn)度。
[0021]3.操作簡單。本發(fā)明采用單片機(jī)和8254計(jì)數(shù)器為核心部件,組件少,操作簡單?!緦@綀D】

【附圖說明】
[0022]圖1是本發(fā)明的8254可編程計(jì)數(shù)器通用芯片的內(nèi)部邏輯圖。
[0023]圖2是本發(fā)明的8254可編程計(jì)數(shù)器通用芯片的計(jì)數(shù)器內(nèi)部邏輯圖。
[0024]圖3是本發(fā)明的8254可編程計(jì)數(shù)器通用芯片的外部引腳圖。
[0025]圖4是本發(fā)明的8254方式2的工作時(shí)序圖。
[0026]圖5是本發(fā)明的8254的控制字格式圖。
[0027]圖6是本發(fā)明的8254讀回命令控制字格式圖。
[0028]圖7是8254所存在的計(jì)數(shù)值偏低問題波形示意圖。[0029]圖8是本發(fā)明的八相三態(tài)緩沖器74LS244的引腳和對(duì)應(yīng)真值表圖。
[0030]圖9是本發(fā)明的8254計(jì)數(shù)器和單片機(jī)控制電路連接圖。
[0031]圖10是本發(fā)明的八相三態(tài)緩沖器74LS244輔助電路連接圖。
[0032]圖11是本發(fā)明的軟件解決方法流程圖。
【具體實(shí)施方式】
[0033]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0034]首先,簡述8254可編程計(jì)數(shù)器的基本構(gòu)成和工作方式。參見圖1,8254計(jì)數(shù)器內(nèi)部邏輯包括與CPU相連的數(shù)據(jù)總線緩沖器、讀/寫控制邏輯、控制字寄存器和三個(gè)計(jì)數(shù)器;CPU通過數(shù)據(jù)總線緩沖器向8254計(jì)數(shù)器寫入控制命令、計(jì)數(shù)初值或讀當(dāng)前計(jì)數(shù)值;讀/寫控制邏輯用于控制8254計(jì)數(shù)器內(nèi)部寄存器的讀/寫操作;控制字寄存器存儲(chǔ)控制字指令,設(shè)定8254計(jì)數(shù)器不同的工作方式;三個(gè)計(jì)數(shù)器完全相同但是彼此獨(dú)立,各自可按照編程設(shè)定的方式工作。
[0035]參見圖2,計(jì)數(shù)器內(nèi)部邏輯包括初始值寄存器CR、一個(gè)減“I”計(jì)數(shù)執(zhí)行部件CE和一個(gè)16位輸出鎖存計(jì)數(shù)器0L,配有控制邏輯電路、控制字寄存器和狀態(tài)寄存器等。初始值一旦寫入CR,則自動(dòng)送入CE ;當(dāng)門控信號(hào)GATE有效時(shí),CE按時(shí)鐘信號(hào)CLK減“I”計(jì)數(shù),CE減為O時(shí),由OUT引腳輸出計(jì)數(shù)回零信號(hào);在計(jì)數(shù)過程中,OL跟隨CE的變化。當(dāng)CPU寫入鎖存命令時(shí),OL鎖存當(dāng)前計(jì)數(shù)值,直至CPU讀取計(jì)數(shù)值之后,OL再繼續(xù)跟隨CE的值;作為發(fā)生器時(shí)計(jì)數(shù)初值N = fi/fo, &為輸入CLK頻率,f0為OUT輸出頻率,在不同工作方式及定時(shí)/計(jì)數(shù)時(shí)的應(yīng)用不同。
[0036]參見圖3,8254計(jì)數(shù)器外部引腳中Dtl?D7為三態(tài)雙向數(shù)據(jù)端;涵、涵為讀寫信號(hào),低電平有效;反為片選端,低電平有效.Α、Κ為接口寄存器選擇端KLKtl?CLK2為時(shí)鐘輸入端,輸入定時(shí)/計(jì)數(shù)脈沖AATEtl?GATE2為門控制輸入端,控制計(jì)數(shù)器的啟動(dòng)或停止,高電平有效AUTtl?OUT2為輸出端,輸出波形取決于工作模式'Ncc為+5V供電電源端;GND接地。
[0037]參見圖4,8254計(jì)數(shù)器的每個(gè)計(jì)數(shù)器都有六種計(jì)數(shù)方式,在本實(shí)施例中,我們使用的是工作方式2,方式2的具體工作過程為:8254計(jì)數(shù)器先完成初始化,控制字CW寫入之后,OUT初始電平為高,在計(jì)數(shù)初值N被裝入初值寄存器CR后第一個(gè)CLK的下降沿將N裝入計(jì)數(shù)執(zhí)行單元CE,待CLK的下一個(gè)下降沿到來且門控信號(hào)GATE為高電平時(shí),計(jì)數(shù)器啟動(dòng)減“ I”計(jì)數(shù),此時(shí)OUT仍保持高電平,直到計(jì)數(shù)值減到“ I”時(shí),OUT才輸出低電平,維持一個(gè)時(shí)鐘周期后又恢復(fù)為高電平,同時(shí)自動(dòng)將計(jì)數(shù)初值N加載到CE,再重復(fù)以上過程,形成循環(huán)計(jì)數(shù);輸出低電平的時(shí)間是一個(gè)時(shí)鐘周期,從一個(gè)輸出脈沖到下一個(gè)輸出脈沖的時(shí)間等于計(jì)數(shù)初值N。
[0038]參見圖5,顯示了 8254計(jì)數(shù)器的控制字格式,因?yàn)閷?duì)8254計(jì)數(shù)器的編程是通過先寫控制字,再寫初值來實(shí)現(xiàn)的,其中SC1SCtl為計(jì)數(shù)器選擇位,SC1SC0 = 00對(duì)應(yīng)選擇計(jì)數(shù)器0,SC1SC0 = 01對(duì)應(yīng)選擇計(jì)數(shù)器1,SC1SC0 = 10對(duì)應(yīng)選擇計(jì)數(shù)器2,SC1SC0 = 11對(duì)應(yīng)讀回命令A(yù)W1RWtl為讀/寫格式選擇位,Rff1Rff0 = 00時(shí)計(jì)數(shù)器鎖存,Rff1Rff0 = 01時(shí)只讀/寫計(jì)數(shù)器的低字節(jié),RW1RWtl = 10時(shí)只讀/寫計(jì)數(shù)器的高字節(jié),RW1RWtl = 11時(shí)先讀/寫計(jì)數(shù)器的低字節(jié),再讀/寫計(jì)數(shù)器的高字節(jié)W2M1Mtl為工作方式選擇位,M2M1Mtl = 110或111對(duì)應(yīng)選擇工作方式2,BCD對(duì)應(yīng)的是計(jì)數(shù)碼制選擇位,取O時(shí)以16位二進(jìn)制計(jì)數(shù),取I時(shí)以二 -十進(jìn)制計(jì)數(shù)。
[0039]參見圖6,8254計(jì)數(shù)器的一個(gè)顯著特點(diǎn)就是具有讀回狀態(tài)功能,讀回命令可以將三個(gè)計(jì)數(shù)器的計(jì)數(shù)值和狀態(tài)鎖存,并向CPU返回一個(gè)狀態(tài)字,控制字格式中D7D6 = 11是讀回命令的標(biāo)志位,D5 = O為鎖存計(jì)數(shù)值,D4 = O為鎖存狀態(tài)信息,D3?D1是計(jì)數(shù)器選擇位,一次可以鎖存一個(gè)或多個(gè)計(jì)數(shù)器的狀態(tài)值或狀態(tài)信息,當(dāng)某一計(jì)數(shù)器中的狀態(tài)值或狀態(tài)信息被CPU讀取后,鎖存失效;讀回命令寫入控制端口,狀態(tài)信息和計(jì)數(shù)值都通過計(jì)數(shù)器端口讀??;如果使讀回命令的D5和D4位都為0,即狀態(tài)信息和計(jì)數(shù)值都要讀回,讀取的順序是:先讀取狀態(tài)信息,后讀取計(jì)數(shù)值。
[0040]8254計(jì)數(shù)器在計(jì)數(shù)時(shí)所存在的問題可參見圖7,8254計(jì)數(shù)器在寫入初值后第一個(gè)正脈沖的下降沿只是把初值裝入計(jì)數(shù)寄存器,并不開始計(jì)數(shù),而是在下一個(gè)正脈沖的下降沿才開始減“I”計(jì)數(shù);因此涵在a處被拉高時(shí),計(jì)數(shù)器少計(jì)I個(gè)脈沖;而在13處被拉高時(shí),計(jì)數(shù)器少計(jì)2個(gè)脈沖,從而出現(xiàn)計(jì)數(shù)值偏低的現(xiàn)象。
[0041]參見圖8,在本實(shí)施例中使用八相三態(tài)緩沖器74LS244解決無計(jì)數(shù)脈沖問題和計(jì)數(shù)值偏低問題,八相三態(tài)緩沖器74LS244中運(yùn)和為使能控制端,低電平有效,IAl?1Α4和2Α1?2Α4為輸入端,IYl?1Υ4和2Υ1?2Υ4為輸出端,當(dāng)使能端為低電平時(shí),輸出與輸入保持一致,當(dāng)使能端為高電平時(shí),輸入端無論為高電平還是低電平,輸出端均為高阻態(tài)。
[0042]參見圖9,8254計(jì)數(shù)器和單片機(jī)控制電路包括8254計(jì)數(shù)器U3、8254計(jì)數(shù)器U5、單片機(jī)U4、電阻R3、電容C3、電容Cl、晶振Υ1、電容C2 ;8254計(jì)數(shù)器U3的I腳至8腳和8254計(jì)數(shù)器U5的I腳至8腳共同與單片機(jī)U4的22腳至29腳相連,8254計(jì)數(shù)器U3的21腳與單片機(jī)U4的36腳相連,8254計(jì)數(shù)器U3的22腳、8254計(jì)數(shù)器U5的22腳與單片機(jī)U4的37腳相連,8254計(jì)數(shù)器U3的23腳、8254計(jì)數(shù)器U5的23腳與單片機(jī)U4的38腳相連,8254計(jì)數(shù)器U3的19腳、8254計(jì)數(shù)器U5的19腳與單片機(jī)U4的39腳相連,8254計(jì)數(shù)器U3的20腳、8254計(jì)數(shù)器U5的20腳與單片機(jī)U4的40腳相連,8254計(jì)數(shù)器U3的16腳和8254計(jì)數(shù)器U3的18腳共同接地,8254計(jì)數(shù)器U3的14腳、8254計(jì)數(shù)器U3的11腳與8254計(jì)數(shù)器U5的14腳、8254計(jì)數(shù)器U5的11腳共同接電源Vcc,8254計(jì)數(shù)器U5的21腳與單片機(jī)U4的35腳相連,8254計(jì)數(shù)器U5的16腳和8254計(jì)數(shù)器U5的18腳共同接地,單片機(jī)U4的9腳與電阻R3的一端、電容C3的一端相連,電阻R3的另一端接電源Vcc,電容C3的另一端接地,單片機(jī)U4的12腳與晶振Yl的一端、電容Cl的一端相連,電容Cl的另一端接地,單片機(jī)U4的13腳與晶振Yl的另一端、電容C2的一端相連,電容C2的另一端接地,單片機(jī)U4的10腳、單片機(jī)U4的30腳、單片機(jī)U4的32腳共同接電源Vcc,單片機(jī)U4的31腳、單片機(jī)U4的11腳共同接地。
[0043]參見圖10,74LS244八相三態(tài)緩沖器輔助電路包括7474雙D觸發(fā)器U1、74LS244八相三態(tài)緩沖器U2、外部輸入信號(hào)端Pl ;7474雙D觸發(fā)器Ul的3腳與7474雙D觸發(fā)器Ul的9腳相連,7474雙D觸發(fā)器Ul的4腳接電源Vcc,7474雙D觸發(fā)器Ul的2腳與單片機(jī)U4的34腳相連,7474雙D觸發(fā)器Ul的I腳、單片機(jī)U4的2腳與8254計(jì)數(shù)器U5的13腳相連,7474雙D觸發(fā)器Ul的10腳、7474雙D觸發(fā)器Ul的11腳與74LS244八相三態(tài)緩沖器U2的4腳、外部輸入信號(hào)端Pl的3腳相連,7474雙D觸發(fā)器Ul的12腳與7474雙D觸發(fā)器Ul的13腳共同接地,7474雙D觸發(fā)器Ul的6腳與74LS244八相三態(tài)緩沖器U2的I腳相連,74LS244八相三態(tài)緩沖器U2的2腳與8254計(jì)數(shù)器U3的10腳相連,74LS244八相三態(tài)緩沖器U2的6腳與8254計(jì)數(shù)器U5的10腳相連,74LS244八相三態(tài)緩沖器U2的8腳與外部輸入信號(hào)端Pl的2腳相連,74LS244八相三態(tài)緩沖器U2的19腳與單片機(jī)U4的33腳相連,74LS244八相三態(tài)緩沖器U2的11腳、74LS244八相三態(tài)緩沖器U2的13腳、74LS244八相三態(tài)緩沖器U2的15腳、74LS244八相三態(tài)緩沖器U2的17腳與單片機(jī)U4的I腳相連,74LS244八相三態(tài)緩沖器U2的18腳、74LS244八相三態(tài)緩沖器U2的3腳與8254計(jì)數(shù)器U3的15腳相連,74LS244八相三態(tài)緩沖器U2的16腳、74LS244八相三態(tài)緩沖器U2的5腳與8254計(jì)數(shù)器U3的9腳相連,74LS244八相三態(tài)緩沖器U2的14腳、74LS244八相三態(tài)緩沖器U2的7腳與8254計(jì)數(shù)器U5的15腳相連,74LS244八相三態(tài)緩沖器U2的12腳、74LS244八相三態(tài)緩沖器U2的9腳與8254計(jì)數(shù)器U5的9腳相連,外部輸入信號(hào)端Pl的I腳接地。單片機(jī)U4的PA7輸出低電平使74LS244八相三態(tài)緩沖器U2的控制端2石使能,74LS244八相三態(tài)緩沖器U2的輸入端2A1和輸出端2Y1、輸入端2A2和輸出端2Y2、輸入端2A3和輸出端2Y3、輸入端2A4和輸出端2Y4分別導(dǎo)通,單片機(jī)U4的PBO端口與CLK1-0、CLKl-U CLKO-O和CLK0-1相連,并且單片機(jī)U4的PBO端口輸出正脈沖,在有計(jì)數(shù)脈沖時(shí)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的計(jì)數(shù)初值同時(shí)都被裝入8254計(jì)數(shù)器的內(nèi)部寄存器,然后單片機(jī)U4輸出高電平使74LS244八相三態(tài)緩沖器U2的控制端2G不使能,單片機(jī)U4向7474雙D觸發(fā)器Ul的數(shù)據(jù)輸入端發(fā)送高電平,7474雙D觸發(fā)器Ul的反向輸出端輸出低電平使74LS244八相三態(tài)緩沖器U2的控制端運(yùn)使能,74LS244八相三態(tài)緩沖器U2的輸入端IAl和輸出端IYl、輸入端1A2和輸出端1Y2、輸入端1A3和輸出端1Y3、輸入端1A4和輸出端1Y4分別導(dǎo)通,外部計(jì)數(shù)脈沖經(jīng)外部計(jì)數(shù)脈沖外部信號(hào)輸入端Pl的2腳輸入與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的脈沖端相連,74LS244八相三態(tài)緩沖器U2的輸入端IAl與8254計(jì)數(shù)器U3的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,74LS244八相三態(tài)緩沖器U2的輸入端1A3與8254計(jì)數(shù)器U5內(nèi)部計(jì)數(shù)器O的借位輸出端相連,內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I均開始計(jì)數(shù);通過單片機(jī)U4對(duì)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的CLK預(yù)送正脈沖,使得計(jì)數(shù)初值裝入8254計(jì)數(shù)器 的內(nèi)部寄存器,再當(dāng)CLK與外部計(jì)數(shù)脈沖輸入相連時(shí),8254計(jì)數(shù)器開始減I計(jì)數(shù),解決了計(jì)數(shù)值偏低的問題,即使外部無計(jì)數(shù)脈沖,由于初值已被裝入寄存器,此時(shí)計(jì)數(shù)器內(nèi)的值也是正確的。
[0044]參見圖11,解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的方法包括如下步驟:
[0045](I) 8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的GaTEc^GATE1四個(gè)端口共同連接電源Vcc,始終保持高電平,實(shí)現(xiàn)兩片8254計(jì)數(shù)器的通道級(jí)聯(lián);并且8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的接口寄存器選擇端Atl與單片機(jī)U4的PAO控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的接口寄存器選擇端A1與單片機(jī)U4的PAl控制端口連接、8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的讀信號(hào)端而與單片機(jī)U4的PA3控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的寫信號(hào)端E與早片機(jī)U4的PA2控制端口連接、8254計(jì)數(shù)器U3的片選端?W與單片機(jī)U4的的PA4控制端口連接,8254計(jì)數(shù)器U5的片選端斤與單片機(jī)U4的PA5控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的三態(tài)雙向數(shù)據(jù)端Dtl~D7連接單片機(jī)U4的PC7~PCO控制端口 ;
[0046](2)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5向各自的內(nèi)部控制字寄存器寫入方式控制字,選定內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器1,確定要使用的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的工作方式,并向內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I寫入計(jì)數(shù)初值,完成8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的初始化;
[0047](3)單片機(jī)U4的PA7控制端口先輸出低電平使74LS244八相三態(tài)緩沖器U2的運(yùn)端口使能,74LS244八相三態(tài)緩沖器U2的輸入端2A1?2A4與輸出端2Y1?2Y4導(dǎo)通,使單片機(jī)U4的PBO控制端口給定的脈沖與8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的脈沖輸入CLK相連,并且單片機(jī)U4輸出正脈沖,當(dāng)計(jì)數(shù)脈沖來臨時(shí)計(jì)數(shù)器I和計(jì)數(shù)器2的計(jì)數(shù)初值同時(shí)都被裝入寄存器;
[0048](4)單片機(jī)U4的PA7控制端口后輸出高電平使74LS244八相三態(tài)緩沖器U2的萬端口不使能,單片機(jī)U4向7474雙D觸發(fā)器Ul的數(shù)據(jù)輸入ID端口發(fā)送高電平,7474雙D觸發(fā)器Ul的反向輸出端口 IQN輸出低電平使74LS244八相三態(tài)緩沖器U2的運(yùn)端口使能,74LS244八相三態(tài)緩沖器U2的輸入端口 IAl?1A4與輸出端口 IYl?1Y4導(dǎo)通,外部計(jì)數(shù)脈沖經(jīng)過Pl的輸入端口 2與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的脈沖端相連,74LS244八相三態(tài)緩沖器U2的輸入端口 IAl端與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,74LS244八相三態(tài)緩沖器U2的輸入端口 1A3與8254的計(jì)數(shù)器U3的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,在有連續(xù)脈沖信號(hào)且GATE信號(hào)為高電平時(shí)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I開始計(jì)數(shù),單片機(jī)U4選通外部時(shí)鐘源;若外部計(jì)數(shù)脈沖未輸入,則8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I不開始計(jì)數(shù),繼續(xù)等待外部計(jì)數(shù)脈沖信號(hào)的來臨;
[0049](5)開始計(jì)數(shù)后,單片機(jī)U4讀取8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的回讀寄存器鎖存的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的狀態(tài)和計(jì)數(shù)值,待計(jì)數(shù)停止時(shí)判斷8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的值是否為1,若不為1,則無需矯正,繼續(xù)脈沖計(jì)數(shù);若為1,則將8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器I的值加I修正,然后再繼續(xù)脈沖計(jì)數(shù)。
【權(quán)利要求】
1.一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置,包括8254計(jì)數(shù)器和單片機(jī)控制電路,其特征在于,還包括74LS244八相三態(tài)緩沖器輔助電路。
2.根據(jù)權(quán)利要求1所述的解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置,其特征在于,所述8254計(jì)數(shù)器和單片機(jī)控制電路包括8254計(jì)數(shù)器U3、8254計(jì)數(shù)器U5、單片機(jī)U4、電阻R3、電容C3、電容Cl、晶振Y1、電容C2 ;8254計(jì)數(shù)器U3的I腳至8腳和8254計(jì)數(shù)器U5的I腳至8腳共同與單片機(jī)U4的22腳至29腳依次相連,8254計(jì)數(shù)器U3的21腳與單片機(jī)U4的36腳相連,8254計(jì)數(shù)器U3的22腳、8254計(jì)數(shù)器U5的22腳與單片機(jī)U4的37腳相連,8254計(jì)數(shù)器U3的23腳、8254計(jì)數(shù)器U5的23腳與單片機(jī)U4的38腳相連,8254計(jì)數(shù)器U3的19腳、8254計(jì)數(shù)器U5的19腳與單片機(jī)U4的39腳相連,8254計(jì)數(shù)器U3的20腳、8254計(jì)數(shù)器U5的20腳與單片機(jī)U4的40腳相連,8254計(jì)數(shù)器U3的16腳和8254計(jì)數(shù)器U3的18腳共同接地,8254計(jì)數(shù)器U3的14腳、8254計(jì)數(shù)器U3的11腳與8254計(jì)數(shù)器U5的14腳、8254計(jì)數(shù)器U5的11腳共同接電源Vcc,8254計(jì)數(shù)器U5的21腳與單片機(jī)U4的35腳相連,8254計(jì)數(shù)器U5的16腳和8254計(jì)數(shù)器U5的18腳共同接地,單片機(jī)U4的9腳與電阻R3的一端、電容C3的一端相連,電阻R3的另一端接電源Vcc,電容C3的另一端接地,單片機(jī)U4的12腳與晶振Yl的一端、電容Cl的一端相連,電容Cl的另一端接地,單片機(jī)U4的13腳與晶振Yl的另一端、電容C2的一端相連,電容C2的另一端接地,單片機(jī)U4的10腳、單片機(jī)U4的30腳、單片機(jī)U4的32腳共同接電源Vcc,單片機(jī)U4的31腳、單片機(jī)U4的11腳共同接地。
3.根據(jù)權(quán)利要求1所述的解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的裝置,其特征在于,所述74LS244八相三態(tài)緩沖器輔助電路包括7474雙D觸發(fā)器Ul、74LS244八相三態(tài)緩沖器U2、外部信號(hào)輸入端Pl ;7474雙D觸發(fā)器Ul的3腳與7474雙D觸發(fā)器Ul的9腳相連,7474雙D觸發(fā)器Ul的4腳接電源Vcc,7474雙D觸發(fā)器Ul的2腳與單片機(jī)U4的34腳相連,7474雙D觸發(fā)器Ul 的I腳、單片機(jī)U4的2腳與8254計(jì)數(shù)器U5的13腳相連,7474雙D觸發(fā)器Ul的10腳、7474雙D觸發(fā)器Ul的11腳與74LS244八相三態(tài)緩沖器U2的4腳、外部信號(hào)輸入端Pl的3腳相連,7474雙D觸發(fā)器Ul的12腳與7474雙D觸發(fā)器Ul的13腳共同接地,7474雙D觸發(fā)器Ul的6腳與74LS244八相三態(tài)緩沖器U2的I腳相連,74LS244八相三態(tài)緩沖器U2的2腳與8254計(jì)數(shù)器U3的10腳相連,74LS244八相三態(tài)緩沖器U2的6腳與8254計(jì)數(shù)器U5的10腳相連,74LS244八相三態(tài)緩沖器U2的8腳與外部信號(hào)輸入端Pl的2腳相連,74LS244八相三態(tài)緩沖器U2的19腳與單片機(jī)U4的33腳相連,74LS244八相三態(tài)緩沖器U2的11腳、74LS244八相三態(tài)緩沖器U2的13腳、74LS244八相三態(tài)緩沖器U2的15腳、74LS244八相三態(tài)緩沖器U2的17腳與單片機(jī)U4的I腳相連,74LS244八相三態(tài)緩沖器U2的18腳、74LS244八相三態(tài)緩沖器U2的3腳與8254計(jì)數(shù)器U3的15腳相連,74LS244八相三態(tài)緩沖器U2的16腳、74LS244八相三態(tài)緩沖器U2的5腳與8254計(jì)數(shù)器U3的9腳相連,74LS244八相三態(tài)緩沖器U2的14腳、74LS244八相三態(tài)緩沖器U2的7腳與8254計(jì)數(shù)器U5的15腳相連,74LS244八相三態(tài)緩沖器U2的12腳、74LS244八相三態(tài)緩沖器U2的9腳與8254計(jì)數(shù)器U5的9腳相連,外部信號(hào)輸入端Pl的I腳接地。
4.一種解決8254可編程計(jì)數(shù)器在計(jì)數(shù)方面問題的方法,包括如下步驟: (1)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的GaTEc^GATE1四個(gè)端口共同連接電源Vcc,始終保持高電平,實(shí)現(xiàn)兩片8254計(jì)數(shù)器的通道級(jí)聯(lián);并且8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的接口寄存器選擇端Atl與單片機(jī)U4的PAO控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的接口寄存器選擇端A1與單片機(jī)U4的PAl控制端口連接、8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的讀信號(hào)端涵與單片機(jī)U4的PA3控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的寫信號(hào)端兩與單片機(jī)U4的PA2控制端口連接、8254計(jì)數(shù)器U3的片選端污與單片機(jī)U4的的PA4控制端口連接,8254計(jì)數(shù)器U5的片選端反與單片機(jī)U4的PA5控制端口連接,8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的三態(tài)雙向數(shù)據(jù)端Dtl~D7連接單片機(jī)U4的PC7~PCO控制端口 ; (2)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5向各自的內(nèi)部控制字寄存器寫入方式控制字,選定內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器1,確定要使用的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的工作方式,并向內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I寫入計(jì)數(shù)初值,完成8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的初始化; 其特征在于,還包括以下步驟: (3)單片機(jī)U4的PA7控制端口先輸出低電平使74LS244八相三態(tài)緩沖器U2的帝端口使能,74LS244八相三態(tài)緩沖器U2的輸入端2A1~2A4與輸出端2Y1~2Y4導(dǎo)通,使單片機(jī)U4的PBO控制端口給定的脈沖與8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的脈沖輸入CLK相連,并且單片機(jī)U4輸出正脈沖,當(dāng)計(jì)數(shù)脈沖來臨時(shí)計(jì)數(shù)器I和計(jì)數(shù)器2的計(jì)數(shù)初值同時(shí)都被裝入寄存器; (4)單片機(jī)U4的PA7控制端口后輸出高電平使74LS244八相三態(tài)緩沖器U2的2⑦端口不使能,單片機(jī)U4向7474雙D觸發(fā)器Ul的數(shù)據(jù)輸入ID端口發(fā)送高電平,7474雙D觸發(fā)器Ul的反向輸出端口 IQN輸出低電平使74LS244八相三態(tài)緩沖器U2的運(yùn)端口使能,74LS244八相三態(tài)緩沖器U2的輸入端口 IAl~1A4與輸出端口 IYl~1Y4導(dǎo)通,外部計(jì)數(shù)脈沖經(jīng)過Pl的輸入端口 2與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的脈沖端相連,74LS244八相三態(tài)緩沖器U2的輸入端口 IAl端與8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,74LS244八相三態(tài)緩沖器U2的輸入端口 1A3與8254的計(jì)數(shù)器U3的內(nèi)部計(jì)數(shù)器O的借位輸出端相連,在有連續(xù)脈沖信號(hào)且GATE信號(hào)為高電平時(shí)8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I開始計(jì)數(shù),單片機(jī)U4選通外部時(shí)鐘源;若外部計(jì)數(shù)脈沖未輸入,則8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I不開始計(jì)數(shù),繼續(xù)等待外部計(jì)數(shù)脈沖信號(hào)的來臨; (5)開始計(jì)數(shù)后,單片機(jī)U4讀取8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的回讀寄存器鎖存的內(nèi)部計(jì)數(shù)器O和內(nèi)部計(jì)數(shù)器I的狀態(tài)和計(jì)數(shù)值,待計(jì)數(shù)停止時(shí)判斷8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器O的值是否為1,若不為1,則無需矯正,繼續(xù)脈沖計(jì)數(shù);若為1,則將8254計(jì)數(shù)器U3和8254計(jì)數(shù)器U5的內(nèi)部計(jì)數(shù)器I的值加I修正,然后再繼續(xù)脈沖計(jì)數(shù)。
【文檔編號(hào)】G05B19/042GK103970056SQ201410219818
【公開日】2014年8月6日 申請日期:2014年5月22日 優(yōu)先權(quán)日:2014年5月22日
【發(fā)明者】王利強(qiáng), 周麗, 王飛, 張德星 申請人:天津職業(yè)技術(shù)師范大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1