|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
菜鳥問題--16C54內(nèi)部計數(shù)器如何擴展為16位計數(shù)器 |
| 作者:天涯哈兒 欄目:單片機 |
| 2樓: | >>參與討論 |
| 作者: highend 于 2004/9/13 12:04:00 發(fā)布:
擴展為15位,比較容易! 設(shè)置好 分頻, 保證下列程序能得到足夠的運行頻率。 if( TMR0 & 0x80 ) { TMR0 &= 0x7f;a++;.......} |
|
| 3樓: | >>參與討論 |
| 作者: 天涯哈兒 于 2004/9/13 13:09:00 發(fā)布:
有匯編的程序嗎 多謝你的指點,我現(xiàn)在學(xué)的是匯編,能告訴我匯編程序怎么寫嗎?主要是高字節(jié)低位如何觸發(fā)遞增的問題. |
|
| 4樓: | >>參與討論 |
| 作者: xieyuanbin 于 2004/9/13 13:27:00 發(fā)布:
沒什么好的方法 第一是在OPTION寄存器中預(yù)分頻器分配給TMR0,分頻值根據(jù)需要設(shè)置,TMR0的分頻值最大可到1:256, 第二如果不夠或精度不夠的話只有在軟件中處理,在TMR0中斷或檢測到TMR0為零時給某個通用寄存器加一,當(dāng)然自己要注意進位。這是程序中非常常用的方法,因為無論什么單片機的計時器都不可能滿足不同的計時需要,所以這點你應(yīng)該好好琢磨。 |
|
| 5樓: | >>參與討論 |
| 作者: 天涯哈兒 于 2004/9/13 14:26:00 發(fā)布:
麻煩高手們看看原來的題目 麻煩高手們看一看原來的題目 采用PIC 16 C54的計數(shù)器 電路原理 附圖為計數(shù)器的原理圖。PIC16C54具有兩個I/O口,RA口有4條I/O線,RB口有8條I/O線。本計數(shù)器中RA口設(shè)置為輸入口,用于讀取BCD撥盤開關(guān)(BCD1~BCD5)設(shè)定的計數(shù)值;RB口設(shè)置為輸出口,用于對數(shù)碼管進行掃描和控制輸出繼電器。T0CKI為PIC16C54內(nèi)部計數(shù)器的輸入腳,計數(shù)脈沖經(jīng)過光電轉(zhuǎn)換后從該腳輸入,PIC16C54的內(nèi)部計數(shù)器對輸入的脈沖進行計數(shù)。 由于該內(nèi)部計數(shù)器寬度僅有8位,最多只能計數(shù)到256,因此要用軟件對該計數(shù)器進行擴展,以滿足實際計數(shù)需要。 BCD撥盤開關(guān)(BCD1~BCD5)設(shè)定計數(shù)終止值,當(dāng)擴展的內(nèi)部計數(shù)器計到與BCD撥盤開關(guān)設(shè)定值相等時,RB7輸出高電平,使繼電器吸合,控制外部設(shè)備。此時,即使有計數(shù)脈沖輸入,計數(shù)器也不會再計數(shù),必須在復(fù)位端輸入復(fù)位信號,才能重新計數(shù)。 軟件設(shè)計 本計數(shù)器的主程序完成BCD撥盤開關(guān)的讀取和數(shù)碼管掃描。數(shù)碼管采用動態(tài)掃描的方法顯示,每個數(shù)碼管依次亮一定的時間,利用人的視覺暫留使數(shù)碼管看上去是全亮的。每個數(shù)碼管亮?xí)r都調(diào)用一個延時程序,在延時程序中,實現(xiàn)對T0CKI腳的檢測與PIC16C54內(nèi)部計數(shù)器的操作。由于PIC16C54沒有中斷功能,用這種方法可以實現(xiàn)實時計數(shù)。 電路圖在http://www.teachersong.com/pic/x_153_1.htm "每個數(shù)碼管亮?xí)r都調(diào)用一個延時程序,在延時程序中,實現(xiàn)對T0CKI腳的檢測與PIC16C54內(nèi)部計數(shù)器的操作。"請問如何在延時程序中實現(xiàn)上述操作?計數(shù)器不是自動計數(shù)嗎?為什么需要對TOCKI腳進行檢測? |
|
| 6樓: | >>參與討論 |
| 作者: 云起 于 2004/9/14 16:04:00 發(fā)布:
是自動計數(shù)的,不需要檢測T0CKI 至于擴展位數(shù)就簡單了,檢測到計數(shù)器反轉(zhuǎn),高位+1。(可以每次檢測都記錄TMR0值,下次值同上次比較,變小了就是反轉(zhuǎn)了)。 |
|
| 7樓: | >>參與討論 |
| 作者: 天涯哈兒 于 2004/9/15 8:58:00 發(fā)布:
謝謝各位高手的指點 幾位高手給我提供了不錯的思路,太感謝你們了!!! |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |