軟件思路和具體實(shí)現(xiàn)
發(fā)布時(shí)間:2012/6/12 19:35:22 訪問次數(shù):1075
說起單片機(jī)測速,最簡單也TMP68301AF16最容易實(shí)現(xiàn)的方法之一就是使用其內(nèi)部的定時(shí)器:一個(gè)定時(shí)器作計(jì)數(shù)功能,用來對測速探頭送來的脈>中信號計(jì)數(shù),另一個(gè)定時(shí)器則作定時(shí)功能,定時(shí)時(shí)間為1秒,每次將用作圖5里程表電路原理098無線電己Oll計(jì)數(shù)的定時(shí)器打開1秒,1秒到則關(guān)閉。但這種方式需要兩個(gè)定時(shí)器,而前文已提到用于測速的定時(shí)器只剩一個(gè),另一個(gè)已用作串口通信的波特率發(fā)生器,要測速就必須要給單片機(jī)提供一個(gè)秒信號,而這個(gè)矛盾剛好可由PCF8563來解決,其第7腳為可編程時(shí)鐘輸出,所輸出的頻率范圍剛好就有秒信號,因此單片機(jī)復(fù)位后,程序開始運(yùn)行時(shí)第一件事就是對PCF8563作相應(yīng)設(shè)置,使其輸出秒信號作為單片機(jī)的外中斷1的中斷信號,用來測量速度。而里程的計(jì)量則在外中斷O中進(jìn)行,這里將利用PCF8563的第3腳,輸出1024kHz的脈>中,讓2051的外中斷o每秒中斷1024次,用于計(jì)量行駛里程,這樣一來就解決了里程表基本功能實(shí)觀的問題,從而實(shí)現(xiàn)了對它的充分利用。至于額外的時(shí)間顯示功能,PCF8563本身就是用作實(shí)時(shí)時(shí)鐘的,所以問題自然也就迎刃而解了。
行駛里程數(shù)存儲于AT24C01中,要注意一點(diǎn)的就是,AT24C01的讀寫次數(shù)一般是大干1萬次,因而程序中就要注意向其寫入數(shù)據(jù)的次數(shù)問題。假如我們每天上班騎行一個(gè)來回是40公里,每行駛一公里寫一次里程數(shù),則每天要寫40次,一年下來就要擦寫14600次,這個(gè)頻率肯定會讓AT24C01提早報(bào)廢。解決辦法是在按鍵程序中用按鍵來定義存儲功能,到達(dá)目的地后,用按鍵來存儲數(shù)據(jù),這樣一來,每天的擦寫次數(shù)就變?yōu)閮纱瘟,AT24C01的使用年限將達(dá)十年的樣子。
本文所提供的程序相對較大,有九百多行,全部使用匯編語言,采用模塊化編程,因而源碼雖然較多,但還是很容易理解,里面包括軟件模擬I2C通信的子程序和雙字節(jié)的乘法子程序,都很實(shí)用,大家可以將之移植到自己其他的程序中去。當(dāng)然所提供的程序仍有很多能改進(jìn)的地方,讀者可以在源碼基礎(chǔ)上作更多的優(yōu)化,使之更合理,效率更高。
行駛里程數(shù)存儲于AT24C01中,要注意一點(diǎn)的就是,AT24C01的讀寫次數(shù)一般是大干1萬次,因而程序中就要注意向其寫入數(shù)據(jù)的次數(shù)問題。假如我們每天上班騎行一個(gè)來回是40公里,每行駛一公里寫一次里程數(shù),則每天要寫40次,一年下來就要擦寫14600次,這個(gè)頻率肯定會讓AT24C01提早報(bào)廢。解決辦法是在按鍵程序中用按鍵來定義存儲功能,到達(dá)目的地后,用按鍵來存儲數(shù)據(jù),這樣一來,每天的擦寫次數(shù)就變?yōu)閮纱瘟,AT24C01的使用年限將達(dá)十年的樣子。
本文所提供的程序相對較大,有九百多行,全部使用匯編語言,采用模塊化編程,因而源碼雖然較多,但還是很容易理解,里面包括軟件模擬I2C通信的子程序和雙字節(jié)的乘法子程序,都很實(shí)用,大家可以將之移植到自己其他的程序中去。當(dāng)然所提供的程序仍有很多能改進(jìn)的地方,讀者可以在源碼基礎(chǔ)上作更多的優(yōu)化,使之更合理,效率更高。
說起單片機(jī)測速,最簡單也TMP68301AF16最容易實(shí)現(xiàn)的方法之一就是使用其內(nèi)部的定時(shí)器:一個(gè)定時(shí)器作計(jì)數(shù)功能,用來對測速探頭送來的脈>中信號計(jì)數(shù),另一個(gè)定時(shí)器則作定時(shí)功能,定時(shí)時(shí)間為1秒,每次將用作圖5里程表電路原理098無線電己Oll計(jì)數(shù)的定時(shí)器打開1秒,1秒到則關(guān)閉。但這種方式需要兩個(gè)定時(shí)器,而前文已提到用于測速的定時(shí)器只剩一個(gè),另一個(gè)已用作串口通信的波特率發(fā)生器,要測速就必須要給單片機(jī)提供一個(gè)秒信號,而這個(gè)矛盾剛好可由PCF8563來解決,其第7腳為可編程時(shí)鐘輸出,所輸出的頻率范圍剛好就有秒信號,因此單片機(jī)復(fù)位后,程序開始運(yùn)行時(shí)第一件事就是對PCF8563作相應(yīng)設(shè)置,使其輸出秒信號作為單片機(jī)的外中斷1的中斷信號,用來測量速度。而里程的計(jì)量則在外中斷O中進(jìn)行,這里將利用PCF8563的第3腳,輸出1024kHz的脈>中,讓2051的外中斷o每秒中斷1024次,用于計(jì)量行駛里程,這樣一來就解決了里程表基本功能實(shí)觀的問題,從而實(shí)現(xiàn)了對它的充分利用。至于額外的時(shí)間顯示功能,PCF8563本身就是用作實(shí)時(shí)時(shí)鐘的,所以問題自然也就迎刃而解了。
行駛里程數(shù)存儲于AT24C01中,要注意一點(diǎn)的就是,AT24C01的讀寫次數(shù)一般是大干1萬次,因而程序中就要注意向其寫入數(shù)據(jù)的次數(shù)問題。假如我們每天上班騎行一個(gè)來回是40公里,每行駛一公里寫一次里程數(shù),則每天要寫40次,一年下來就要擦寫14600次,這個(gè)頻率肯定會讓AT24C01提早報(bào)廢。解決辦法是在按鍵程序中用按鍵來定義存儲功能,到達(dá)目的地后,用按鍵來存儲數(shù)據(jù),這樣一來,每天的擦寫次數(shù)就變?yōu)閮纱瘟,AT24C01的使用年限將達(dá)十年的樣子。
本文所提供的程序相對較大,有九百多行,全部使用匯編語言,采用模塊化編程,因而源碼雖然較多,但還是很容易理解,里面包括軟件模擬I2C通信的子程序和雙字節(jié)的乘法子程序,都很實(shí)用,大家可以將之移植到自己其他的程序中去。當(dāng)然所提供的程序仍有很多能改進(jìn)的地方,讀者可以在源碼基礎(chǔ)上作更多的優(yōu)化,使之更合理,效率更高。
行駛里程數(shù)存儲于AT24C01中,要注意一點(diǎn)的就是,AT24C01的讀寫次數(shù)一般是大干1萬次,因而程序中就要注意向其寫入數(shù)據(jù)的次數(shù)問題。假如我們每天上班騎行一個(gè)來回是40公里,每行駛一公里寫一次里程數(shù),則每天要寫40次,一年下來就要擦寫14600次,這個(gè)頻率肯定會讓AT24C01提早報(bào)廢。解決辦法是在按鍵程序中用按鍵來定義存儲功能,到達(dá)目的地后,用按鍵來存儲數(shù)據(jù),這樣一來,每天的擦寫次數(shù)就變?yōu)閮纱瘟,AT24C01的使用年限將達(dá)十年的樣子。
本文所提供的程序相對較大,有九百多行,全部使用匯編語言,采用模塊化編程,因而源碼雖然較多,但還是很容易理解,里面包括軟件模擬I2C通信的子程序和雙字節(jié)的乘法子程序,都很實(shí)用,大家可以將之移植到自己其他的程序中去。當(dāng)然所提供的程序仍有很多能改進(jìn)的地方,讀者可以在源碼基礎(chǔ)上作更多的優(yōu)化,使之更合理,效率更高。
上一篇:人機(jī)對話裝置
上一篇:單片機(jī)的選型
熱門點(diǎn)擊
- 機(jī)器人制作體驗(yàn)
- 軟件思路和具體實(shí)現(xiàn)
- 采用陶瓷振子的電路
- 開關(guān)電源的基本要素
- 驅(qū)動輸出的波形
- 程序講解
- 機(jī)器人
- 賣際的振蕩波形-Cl、C2的重要性
- 小牢的整體控制系統(tǒng)
- 制作與使用
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究