




免費(fèi)預(yù)覽已結(jié)束,剩余111頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
多功能自行車(chē)測(cè)速儀多功能自行車(chē)測(cè)速儀- 1 - 多功能自行車(chē)測(cè)速儀目錄一、產(chǎn)品設(shè)計(jì)背景2二、產(chǎn)品功能簡(jiǎn)介2三、系統(tǒng)硬件設(shè)計(jì)3四、MCU軟件設(shè)計(jì)8五、上位機(jī)軟件 bike V1.0設(shè)計(jì)8六、產(chǎn)品實(shí)物及測(cè)試106113621463156416七、結(jié)語(yǔ)16附錄 1 電路圖17附錄 2 源程序18- 1 - 多功能自行車(chē)測(cè)速儀- 1 - 多功能自行車(chē)測(cè)速儀多功能自行車(chē)測(cè)速儀使用說(shuō)明書(shū)一、產(chǎn)品設(shè)計(jì)背景隨著人們生活水平的逐漸提高,人們對(duì)于生活質(zhì)量的要求也日益增加,尤其是對(duì)健身的要求。自行車(chē)在中國(guó)普遍作為代步工具。而在國(guó)外,自行車(chē)卻是一項(xiàng)十分受歡迎的健身運(yùn)動(dòng)。因?yàn)樗鼰o(wú)污染,價(jià)位低廉,老少皆宜。而且在運(yùn)動(dòng)過(guò)程中可以充分享受到大自然,對(duì)于忙碌的現(xiàn)代人來(lái)說(shuō),無(wú)疑是一種較好的放松方法。在中國(guó)這種情況也在慢慢發(fā)生變化。因此愛(ài)好自行車(chē)運(yùn)動(dòng)的人十分學(xué)要一款能測(cè)速的裝置,以知道自己的運(yùn)動(dòng)情況。并根據(jù)外界條件,如溫度,風(fēng)速等進(jìn)行適當(dāng)?shù)恼{(diào)節(jié),已達(dá)到最佳運(yùn)動(dòng)的效果。而對(duì)于自行車(chē)運(yùn)動(dòng)員來(lái)說(shuō),最為關(guān)心的莫過(guò)于一段時(shí)間內(nèi)的訓(xùn)練效果。因?yàn)榻叹氁鶕?jù)一段時(shí)間內(nèi)運(yùn)動(dòng)員的訓(xùn)練效果進(jìn)行評(píng)估,從而進(jìn)行適當(dāng)?shù)恼{(diào)整已使運(yùn)動(dòng)員達(dá)到最佳的狀態(tài)。因此需要一種裝置進(jìn)行對(duì)訓(xùn)練中各種參數(shù)的測(cè)定記錄。本作品就是針對(duì)此而設(shè)計(jì)的。二、產(chǎn)品功能簡(jiǎn)介 對(duì)自行車(chē)進(jìn)行實(shí)時(shí)速度的測(cè)量。顯示出速度值。 能針對(duì)不同的車(chē)型進(jìn)行選擇。從而采用不同的模塊進(jìn)行測(cè)量。 能測(cè)量出當(dāng)前環(huán)境的溫度,以供使用者決定是否適宜進(jìn)行運(yùn)動(dòng)。 顯示當(dāng)前日期時(shí)間,可以任意設(shè)定當(dāng)前工作時(shí)間。 顯示行車(chē)?yán)锍?,運(yùn)動(dòng)時(shí)間。- 1 - 多功能自行車(chē)測(cè)速儀 可以自行設(shè)定采樣頻率 記錄一段時(shí)間內(nèi)的定時(shí)采樣速度,存入制定單元。通過(guò)與 PC機(jī)進(jìn)行通訊,將數(shù)據(jù)傳送到 PC 機(jī)中用如見(jiàn)進(jìn)行處理,分析。得出運(yùn)動(dòng)或訓(xùn)練的情況。 配套軟件 bike v1.0可以將本次運(yùn)動(dòng)的速度繪制成速度曲線(xiàn),以供參考。并可以將數(shù)據(jù)轉(zhuǎn)存入數(shù)據(jù)庫(kù)保存以備日后查詢(xún)使用 配套軟件 bike v1.0 充分考慮到廣大自行車(chē)愛(ài)好者對(duì)于自行車(chē)運(yùn)動(dòng)的熱衷,因此加入了對(duì)自行車(chē)運(yùn)動(dòng)的介紹,當(dāng)今流行車(chē)型的簡(jiǎn)介以及進(jìn)行自行車(chē)運(yùn)動(dòng)的注意事項(xiàng)和自行車(chē)旅行的相關(guān)知識(shí)。并會(huì)逐漸對(duì)該軟件加以升級(jí),使其功能更加完善,以滿(mǎn)足廣大使用者的需求。 可以進(jìn)入系統(tǒng)休眠方式以節(jié)省電能,并隨時(shí)激活喚醒系統(tǒng)重新進(jìn)行工作??梢哉{(diào)節(jié)液晶對(duì)比度,可以打開(kāi)背景燈顯示。三、系統(tǒng)硬件設(shè)計(jì)系統(tǒng)框圖被測(cè)量對(duì)象傳感器單片機(jī)系統(tǒng)PC 機(jī)通信處理數(shù)據(jù)處理并顯示通過(guò)傳感器對(duì)外部物理量進(jìn)行測(cè)量,再將物理信號(hào)轉(zhuǎn)換為電信號(hào),- 2 - 多功能自行車(chē)測(cè)速儀輸入單片機(jī),單片機(jī)對(duì)所輸入的電信號(hào)進(jìn)行處理,最后輸出顯示,并可以通過(guò)與上位機(jī)通訊將數(shù)據(jù)采集到電腦中。本設(shè)計(jì)中用到的主要部件包括單片機(jī) AT89C52、DS12887 時(shí)鐘芯片、DS18B20 溫度傳感器、歐姆龍公司的 EE-SX671 型光電傳感器、MAX232 通信芯片以及液晶顯示器。1、 時(shí)鐘芯片 DS12887DS12887 是美國(guó)達(dá)拉斯半導(dǎo)體公司最新推出的時(shí)鐘芯片,采用CMOS 技術(shù)制成,把時(shí)鐘芯片所需的晶振和外部鋰電池相關(guān)電路集于芯片內(nèi)部。采用 DS12887 芯片設(shè)計(jì)的時(shí)鐘電路勿需任何外圍電路并具有良好的微機(jī)接口。DS12887 芯片具有微功耗、外圍接口簡(jiǎn)單、精度高、工作穩(wěn)定可靠等優(yōu)點(diǎn),可廣泛用于各種需要較高精度的實(shí)時(shí)時(shí)鐘場(chǎng)合中。這里我們將 DS12887 的數(shù)據(jù)線(xiàn)與單片機(jī)的 P0 口相連,將其片選線(xiàn)與 P2.0 相連,這樣便可通過(guò) R0 或 R1 寄存器實(shí)現(xiàn)時(shí)鐘芯片與單片機(jī)的數(shù)據(jù)傳輸。注意在 DS12887 的 RESET 端應(yīng)連接上電復(fù)位電路,因?yàn)橹挥挟?dāng)該腳保持低電平時(shí)間大于 200ms,DS12887 才能有效工作。DS12887的 IRQ端腳為其中斷信號(hào)輸出口,低電平有效,可作微處理的中斷輸入。沒(méi)有中斷條件滿(mǎn)足時(shí),IRQ 處于高阻態(tài)。IRQ 線(xiàn)是漏極開(kāi)路輸入,要求外接上接電阻。時(shí)鐘芯片的有多種中斷處理方式,例如周期中斷,鬧鐘中斷,更新中斷等,這里我們利用它的更新中斷,即時(shí)間每過(guò) 1秒中,DS12887的更新中斷便會(huì)從 IRQ端輸出,而 IRQ引腳則與單片機(jī)的 INT1中斷相連,這樣每當(dāng) DS12887發(fā)出時(shí)間上的- 3 - 多功能自行車(chē)測(cè)速儀中斷請(qǐng)求單片機(jī)便可從它的 INT1 中斷得知,隨之立刻進(jìn)入中斷子程序,在這個(gè)中斷程序中對(duì)光電傳感器所發(fā)出的脈沖信號(hào)進(jìn)行計(jì)數(shù)處理,這樣就可以得到速度以及里程等所要測(cè)量的量。由于在測(cè)速系統(tǒng)中時(shí)間的測(cè)定非常重要,因此 DS12887 可以說(shuō)是本設(shè)計(jì)的核心部件,它的使用好壞直接影響著最終測(cè)量的精確度,所以在調(diào)試時(shí)務(wù)必細(xì)心,盡量在熟悉 DS12887的各種功能后在開(kāi)始編程。2、 溫度傳感器 DS1820DSl820數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù)指示器件的溫度信息經(jīng)過(guò)單線(xiàn)接口送入 DSl820 或從DSl820 送出因此從主機(jī) CPU 到 DSl820 僅需一條線(xiàn)(和地線(xiàn))DSl820 的電源可以由數(shù)據(jù)線(xiàn)本身提供而不需要外部電源因?yàn)槊恳粋€(gè) DSl820 在出廠時(shí)已經(jīng)給定了唯一的序號(hào)因此任意多個(gè) DSl820 可以存放在同一條單線(xiàn)總線(xiàn)上這允許在許多不同的地方放置溫度敏感器件 DSl820 的測(cè)量范圍從-55 到+125 增量值為 0.5可在 l s(典型值)內(nèi)把溫度變換成數(shù)字。由于 DS1820 采用單總線(xiàn)結(jié)構(gòu)因此外圍電路非常簡(jiǎn)單,通過(guò)一上拉電阻 R5 即可與單片機(jī)相連。這里我們將 DS1820的數(shù)據(jù)引腳 DQ 與單片機(jī)的 T0 口(即 P3.4)相連,通過(guò)這條數(shù)據(jù)線(xiàn)接收溫度測(cè)量值。雖然 DS1820 的外圍電路十分簡(jiǎn)單,但是凡事哪能完美,可以- 4 - 多功能自行車(chē)測(cè)速儀說(shuō)這是以繁雜的編程換來(lái)的。DS1820 以其嚴(yán)格而繁難的時(shí)序要求著稱(chēng)。因?yàn)樗挥幸桓鶖?shù)據(jù)線(xiàn),即數(shù)據(jù)與命令字都要在同一條線(xiàn)上傳輸,所以 DS1820 制定了嚴(yán)格的時(shí)序,大家在使用時(shí)務(wù)必嚴(yán)格按照說(shuō)明書(shū)上的要求對(duì)其進(jìn)行操作,否則時(shí)序要是不正確,DS1820 就罷工。筆者在調(diào)試的時(shí)候大部分時(shí)間都花在了調(diào)試 DS1820 上。通過(guò)切身的體會(huì),我覺(jué)的最好變一到兩個(gè)通用的延時(shí)子程序,在 DS1820 的編程中就可以直接調(diào)用延時(shí)程序,以保證時(shí)序的準(zhǔn)確。3、EE-SX671 型光電傳感器EE-SX671 型光電傳感器是歐姆龍公司所生產(chǎn)的光電開(kāi)關(guān)型傳感器。其四個(gè)引腳中我們只需用其中的三個(gè):電源端,接地端以及信號(hào)輸出端。在車(chē)子行駛過(guò)程中,車(chē)輪帶動(dòng)碼盤(pán)旋轉(zhuǎn),由于碼盤(pán)上刻有等分的孔,在連續(xù)的透光與擋光過(guò)程中,該傳感器便連續(xù)輸出標(biāo)準(zhǔn)的脈沖信號(hào)。由電路圖可知,將傳感器的輸出信號(hào)經(jīng)過(guò)光耦接到單片機(jī)的 T1 口,再設(shè)定 T1 為計(jì)數(shù)器工作方式,這樣就可以對(duì)所接收到的脈沖進(jìn)行計(jì)數(shù),進(jìn)而計(jì)算出速度里程等。注意一定要將光電傳感器的輸出信號(hào)調(diào)好,使其成為標(biāo)準(zhǔn)的脈沖信號(hào),這樣 T1 計(jì)數(shù)器才能正常的工作。再調(diào)試的時(shí)候可先不接入 EE-SX671,可先用信號(hào)發(fā)生器產(chǎn)生所需要的脈沖信號(hào)來(lái)進(jìn)行模擬,待全部調(diào)試好后再接入 EE-SX671。在使用- 5 - 多功能自行車(chē)測(cè)速儀EE-SX671 之前最好用示波器看一下輸出波形是否規(guī)整達(dá)到要求。一般情況下,輸出的就是標(biāo)準(zhǔn)的脈沖信號(hào),如果發(fā)現(xiàn)有點(diǎn)偏差可通過(guò)外連調(diào)理電路將其整理一番。而且最好用電壓表的交流檔打一下,看一下峰值,是否達(dá)到 T1 口的電平識(shí)別范圍。EE-SX671 最后要安裝到車(chē)上,所以事先最好準(zhǔn)備一個(gè)易彎曲的鐵片用螺母將其與 EE-SX671 連接然后在固定于車(chē)上,這樣可以保證在車(chē)子行駛過(guò)程中不發(fā)生晃動(dòng)。4、 液晶顯示由于現(xiàn)在的液晶模塊應(yīng)用已經(jīng)十分廣泛,其使用方法大同小異,所以筆者不準(zhǔn)備祥加介紹。大家可根據(jù)自己的熟悉程度自行選擇顯示器件。如果對(duì)于液晶不熟悉,完全可以使用數(shù)碼管作為顯示媒介。這里我把自己的液晶顯示界面給大家看一下開(kāi)機(jī)畫(huà)面5、 電源- 6 - 多功能自行車(chē)測(cè)速儀這里我們采用 9V 的電池供電,用 LM7805 進(jìn)行穩(wěn)壓處理,將 9V穩(wěn)降到 5V 以供單片機(jī)以及各芯片使用。有條件的可以購(gòu)買(mǎi)電源模塊為系統(tǒng)供電。經(jīng)測(cè)試 9V 電池完全可以滿(mǎn)足實(shí)際需要。6、與微機(jī)通信筆者在設(shè)計(jì)該儀器時(shí),想將所測(cè)得的數(shù)據(jù)傳送到電腦中,再用高級(jí)語(yǔ)言對(duì)數(shù)據(jù)進(jìn)行處理,比如速度,在繪制出速度曲線(xiàn),這樣對(duì)于教練或是廣大自行車(chē)愛(ài)好者來(lái)說(shuō),就可以很清晰地看到自己在訓(xùn)練過(guò)程中的情況。這里筆者采用大家熟知的串口通訊方式,采用 MAX232 作為電平轉(zhuǎn)換芯片。相信大家已經(jīng)很熟悉了,筆者就不贅述了。四、MCU 軟件設(shè)計(jì)這里采用匯編語(yǔ)言進(jìn)行編程,軟件的任務(wù)量比較大,涉及到計(jì)速算法,具體會(huì)在附錄的源程序中詳細(xì)說(shuō)明,這里不多述了。五、上位機(jī)軟件 bike V1.0設(shè)計(jì)在用高級(jí)語(yǔ)言處理上,筆者采用 VB 捆綁數(shù)據(jù)庫(kù)將采集得數(shù)據(jù)轉(zhuǎn)存入數(shù)據(jù)庫(kù)中,這樣就可以保存每一次的訓(xùn)練數(shù)據(jù),以備日后查用。后來(lái)索性就編了一個(gè)小軟件,除了上述功能外,還增加了一些對(duì)于自行車(chē)運(yùn)動(dòng)的常識(shí)和知識(shí)。用串口線(xiàn)將測(cè)速儀與電腦連接后,即可進(jìn)行數(shù)據(jù)的傳輸。在 PC機(jī)上即可進(jìn)行數(shù)據(jù)的接收處理,并可以轉(zhuǎn)存入數(shù)據(jù)庫(kù)。- 7 - 多功能自行車(chē)測(cè)速儀傳輸參數(shù)設(shè)定自行車(chē)知識(shí)介紹數(shù)據(jù)庫(kù)軟件主界面數(shù)據(jù)曲線(xiàn)的繪制- 8 - 多功能自行車(chē)測(cè)速儀六、作品實(shí)物及測(cè)試產(chǎn)品實(shí)物圖串口通信液晶對(duì)比度調(diào)節(jié)液晶背景燈總體效果圖【1】電源接口復(fù) 位總開(kāi)關(guān)總體效果圖【2】- 9 - 多功能自行車(chē)測(cè)速儀本作品采用 9V 電池供電,使用時(shí)務(wù)必保證電池電量充足,將電池按要求接到系統(tǒng)電源接口處。撥動(dòng)開(kāi)關(guān),使系統(tǒng)工作,將出現(xiàn)如下開(kāi)機(jī)畫(huà)面:開(kāi)機(jī)畫(huà)面待系統(tǒng)自檢 4 秒后便進(jìn)入系統(tǒng)主菜單,如前圖所示。共有四大功能模塊:1 測(cè)速模式:系統(tǒng)的主工作界面,進(jìn)行速度及相關(guān)量的檢測(cè)2 數(shù)據(jù)傳輸:將所記錄的數(shù)據(jù)傳入 PC 機(jī),再由配套軟件bike v1.0 進(jìn)行處理,包括繪制曲線(xiàn)及轉(zhuǎn)存入數(shù)據(jù)庫(kù)3 其它功能:可以進(jìn)行時(shí)間設(shè)定及查看版本信息4 退出系統(tǒng):使系統(tǒng)進(jìn)入節(jié)能休眠模式- 10 - 多功能自行車(chē)測(cè)速儀各功能模塊詳細(xì)測(cè)試說(shuō)明【注】為方便敘述,將產(chǎn)品的功能按鍵從左自右依次定義為號(hào)鍵、號(hào)鍵、號(hào)鍵、號(hào)鍵。(一)在主菜單下按號(hào)鍵(SET)即進(jìn)入,出現(xiàn)如下子菜單:車(chē)型選擇在此子菜單下先進(jìn)行車(chē)型的選擇,您可以選擇 26 型和 275 型兩鐘目前最常見(jiàn)的車(chē)型進(jìn)行測(cè)量按號(hào)鍵可以返回主菜單如按號(hào)鍵即選擇 275型,系統(tǒng)會(huì)根據(jù)您的不同選擇為您準(zhǔn)確選定參數(shù)進(jìn)行測(cè)量。緊接著會(huì)出現(xiàn)如下菜單:- 11 - 多功能自行車(chē)測(cè)速儀采樣頻率設(shè)定在本菜單中,詢(xún)問(wèn)您希望設(shè)定的采樣頻率,這樣系統(tǒng)便會(huì)按照您的設(shè)定時(shí)間,每隔固定的時(shí)間便向系統(tǒng)內(nèi)部的 RAM 中自動(dòng)寫(xiě)入當(dāng)前的速度值。在選定采樣時(shí)間后系統(tǒng)便會(huì)進(jìn)入主測(cè)量界面:主測(cè)量界面【注】此時(shí)確保您正確接入傳感器,否則速度,里程便顯示零- 12 - 多功能自行車(chē)測(cè)速儀在此界面處,隨時(shí)按下號(hào)鍵(EXIT),系統(tǒng)便會(huì)返回主界面。在采樣時(shí)間設(shè)定處,當(dāng)設(shè)定好時(shí)間后,系統(tǒng)會(huì)自動(dòng)將內(nèi)部存儲(chǔ)單元清零。(二)在主菜單下按號(hào)鍵即進(jìn)入,出現(xiàn)如下子菜單:數(shù)據(jù)傳輸菜單按號(hào)鍵即進(jìn)入數(shù)據(jù)傳輸模式,在您將測(cè)速儀與電腦連接后系統(tǒng)會(huì)自動(dòng)將您剛才運(yùn)動(dòng)過(guò)程中存儲(chǔ)在系統(tǒng)中的速度值傳到電腦中以供處理。按號(hào)鍵,返回主菜單。當(dāng)畫(huà)面顯示【數(shù)據(jù)傳輸完畢!】時(shí),表示數(shù)據(jù)已傳輸完畢,系統(tǒng)會(huì)自動(dòng)返回主菜單?!咀ⅰ吭谶M(jìn)行數(shù)據(jù)傳輸時(shí),為保證正確傳輸,請(qǐng)務(wù)必用串口線(xiàn)將測(cè)速儀與電腦連接牢靠。- 13 - 多功能自行車(chē)測(cè)速儀(三)在主菜單下按號(hào)鍵即進(jìn)入,出現(xiàn)如下子菜單:其它功能菜單按號(hào)鍵即進(jìn)入,出現(xiàn)如下設(shè)定畫(huà)面:時(shí)間設(shè)定畫(huà)面此時(shí)按號(hào)鍵可以選擇修改單元,按號(hào)鍵(UP),加值;按號(hào)鍵(DOWN),減值。修改完畢后,按號(hào)鍵確定,OK處光標(biāo)閃爍反顯,后返回上一級(jí)菜單。- 14 - 多功能自行車(chē)測(cè)速儀(四)在主菜單下按號(hào)鍵即進(jìn)入,系統(tǒng)即進(jìn)入節(jié)能休眠模式,系統(tǒng)出現(xiàn)如下畫(huà)面結(jié)束畫(huà)面在休眠模式下,按號(hào)鍵(WAKE)即可激活喚醒系統(tǒng)。六、結(jié)語(yǔ)以上是對(duì)本產(chǎn)品的功能及使用說(shuō)明。誠(chéng)然,本次開(kāi)發(fā)的這款產(chǎn)品還有許多亟待改進(jìn)的地方。包括功能上及軟件的設(shè)計(jì)上。這是本人大三的時(shí)候開(kāi)發(fā)的一個(gè)基于 51 單片機(jī)的作品,現(xiàn)在看來(lái)可以改進(jìn)的地方很多,比如在體積上,可一選用更小封裝的單片機(jī),而且對(duì)于手持設(shè)備應(yīng)該低功耗,比如可采用 TI的 430系列的單片機(jī),這樣就可以用鈕扣電池供電,使用時(shí)間可以更長(zhǎng)。最后非常感謝本網(wǎng)站能舉辦這樣的活動(dòng),這對(duì)于普及單片機(jī)技術(shù)以及提高廣大愛(ài)好者的動(dòng)手能力都非常有益!- 15 - 多功能自行車(chē)測(cè)速儀附錄 1 電路- 16 - 多功能自行車(chē)測(cè)速儀附錄 2 源程序;*總程序*;Controller:ST7920;MCU:AT89C52 ,晶體頻率:11.0592MHz;LCM:128*64;LCM型號(hào):帶中文字庫(kù)的 128X64-5ZK;LCM 接口:1:GND 2:VCC 3:V0 4.RS 5:RW 6:E 7-14:DB0-DB715:PSB 16:NC 17:RST 18:Vout;*;*功能引腳命名*D_PORT EQU P1RS EQU P2.1;數(shù)據(jù)口;液晶指令與數(shù)據(jù)寄存器設(shè)置位RW EQU P2.2 ;液晶讀寫(xiě)控制位E EQU P2.3COM EQU 20HDAT EQU 21H;液晶使能端;指令寄存器;數(shù)據(jù)寄存器TD EQU P3.4WAKE EQU PSW.5;DS1820數(shù)據(jù)引腳;液晶復(fù)位標(biāo)志FX_KEY EQU PSW.1 ;液晶光標(biāo)反顯開(kāi)關(guān),F(xiàn)X_KEY=1 一直反顯;FX_KEY=0反顯一次后關(guān)閉- 17 - 多功能自行車(chē)測(cè)速儀;*相關(guān)使用單元說(shuō)明*;25H光標(biāo)移動(dòng)計(jì)數(shù)器;2EH用來(lái)保護(hù)讀時(shí)鐘芯片的 R0;22h用來(lái)存放時(shí)鐘的 BCD碼;2DH用來(lái)存放修改時(shí)間時(shí)的漢字查詢(xún)標(biāo)志位;2FH存放溫度十位;30H存放溫度各位;85H用做判斷使用內(nèi)部 RAM還是時(shí)鐘 RAM的標(biāo)志位,0為內(nèi)部,1為時(shí)鐘;37H用做保存時(shí)鐘芯片的 RAM地址;84H用做保存內(nèi)部 RAM的地址;*;*里程和速度的基本命名*TAB2 EQU 08HLUNZ_Z EQU 09HLUNZ_X EQU 0AHSPD_Z EQU 0BHSPD_X EQU 0CHLC_Z EQU 0DHLC_X EQU 0EHLC_JW EQU 0FH進(jìn)位的標(biāo)志位;30H用來(lái)查漢字時(shí)鐘表時(shí)使用;31H中存輪周長(zhǎng)整數(shù)部分;32H中存小數(shù)部分;33H中存速度的整數(shù)部分;34H中存小數(shù)部分;35h中存里程的整數(shù)部分;36h中存小數(shù)部分;37H中存里程計(jì)算時(shí)的一個(gè)小數(shù)向整數(shù)部分- 18 - 多功能自行車(chē)測(cè)速儀SPD_SUM EQU 10HSPD_PDW EQU 11HLC_XZB EQU 12HLC_XZS EQU 13HLC_XZG EQU 14HLC_XSF EQU 15HSPD_XZS EQU 16HSPD_XZG EQ17HSPD_XSF EQU 18HKM_JW EQU 19HKM EQU 1AH;38H中存速度的和(三妙內(nèi)的);39H中存速度平均值的判斷位(三次);41H中存里程顯示部分的整數(shù)的百位;42H中存里程顯示部分的整數(shù)的十位;43H中存里程顯示部分的整數(shù)的個(gè)位;44H中存里程顯示部分的小數(shù)的十分位;45H中存速度顯示部分的整數(shù)的十位;46H中存速度顯示部分的整數(shù)的個(gè)位;47H中存速度顯示部分的小數(shù)的十分位;48H中存里程向千米進(jìn)位時(shí)的標(biāo)志位;49H中存里程的公里數(shù)CAI EQU 1BH;50H中是存采樣頻率的數(shù)值QIAN_Z EQU 1CH速度);51H 中存前一秒時(shí)的里程整數(shù)。(用于計(jì)算HOU_Z EQU 1DH算速度);52H 中存現(xiàn)在時(shí)刻的里程的整數(shù) (用于計(jì);53H 中存前一秒時(shí)的里程小數(shù);54H 中存現(xiàn)QIAN_X EQU 1EH在時(shí)刻的里程的小數(shù)。HOU_X EQU 1FHQBZW_Z EQU 23H位;54H中存現(xiàn)在時(shí)刻的里程的小數(shù)。;55H中存里程整數(shù)部分前一秒時(shí)的進(jìn)位標(biāo)志HBZW_Z EQU 24H;56H存整數(shù)部分后一秒的進(jìn)位標(biāo)志位- 19 - 多功能自行車(chē)測(cè)速儀QBZW_X EQU 26HHBZW_X EQU 27HSPD_SUMX EQU 28HSDJS EQU 29HSD EQU 2AH;57H中存里程小數(shù)部分前一秒的進(jìn)位標(biāo)志位;58H中存小數(shù)部分后一秒的進(jìn)位標(biāo)志位;59H中存速度的平均值的小數(shù)部分;61H中存:輪周長(zhǎng)每周脈沖數(shù);62H中存脈沖數(shù)和 61h中相乘后的高八位;63h中存的是主程序中判斷是否到一分鐘的TEP EQU 2BH標(biāo)志位,用于讀溫度傳感器CUN EQU 2CH;64H中每到一秒加一,當(dāng)和 cai里的數(shù)相等時(shí)遍向 ram中保存一個(gè)速度值;*程序地址編排*ORG0000HAJMP MAINORG0003H;主程序入口LJMP WAKE_UPORG0013H;INT0中斷入口;INT1中斷入口;T1中斷入口LJMP SUDUORG001BHLJMP JISUAN- 20 - 多功能自行車(chē)測(cè)速儀;*主程序入口地址ORG0040HMAIN:MOV SP,#60HMOVDPTR,#STARTLCALL PIC_SHOWLCALL TEMPER;顯示開(kāi)始畫(huà)面;測(cè)試溫度MOVSPD_Z,#00HMOVSPD_X,#00HMOVLC_Z,#00HMOVLC_X,#00HMOVLC_JW,#00HMOVSPD_SUM,#00HMOVSPD_PDW,#00HMOVLC_XZB,#00HMOVLC_XZS,#00HMOVLC_XZG,#00HMOVLC_XSF,#00HMOVSPD_XZS,#00HMOVSPD_XZG,#00HMOVSPD_XSF,#00H- 21 - 多功能自行車(chē)測(cè)速儀MOVKM_JW,#00HMOVKM,#00HMOVQBZW_Z,#00HMOVHBZW_Z,#00HMOVQBZW_X,#00HMOVHBZW_X,#00HMOVQIAN_Z,#00HMOVHOU_Z,#00HMOVQIAN_X,#00HMOVHOU_X,#00HMOVSPD_SUMX,#00HMOVSD,#00HMOVTEP,#00HMOVTAB2,#00HMOVCUN,#00H;相關(guān)單元的初始化MOV 2FH,#02HMOV30H,#09HMOV R1,#85HMOVR1,#0MOV37H,#0EHMOVR1,#84HMOVR1,#38H- 22 - 多功能自行車(chē)測(cè)速儀TIME:CLRP2.0;時(shí)鐘芯片的初始化MOVR0,#0AHMOVA,#70HMOVX R0,AMOVR0,#0BHMOVA,#96HMOVX R0,AMOVR0,#0CHMOVX A,R0MOVR0,#00HMOVA,#00H;基本寄存器的初始化;秒單元的初始化;分單元的初始化;時(shí)單元的初始化;星期單元的初始化MOVX R0,AMOV R0,#02HMOVA,#00HMOVX R0,AMOV R0,#04HMOVA,#00HMOVX R0,AMOV R0,#06HMOVA,#05HMOVX R0,A- 23 - 多功能自行車(chē)測(cè)速儀MOVR0,#07HMOVA,#05hMOVX R0,AMOVR0,#08HMOVA,#05H;日單元的初始化;月單元的初始化;年單元的初始化MOVX R0,AMOVR0,#09HMOVA,#05HMOVX R0,AMOVR0,#0AHMOVA,#20HMOVX R0,AMOVR0,#0BHMOVA,#16HMOVX R0,A;啟動(dòng)時(shí)鐘芯片;*以上是時(shí)鐘芯片的初始化;*主菜單顯示模塊*ZHU_MENU:LCALL INIT_LCMMOVCOM,#80HMOV DPTR,#STRING_ZHULCALL PUT_STRING- 24 - 多功能自行車(chē)測(cè)速儀CLRFX_KEYclr EA;FX_KEY=0反顯一次后關(guān)閉;關(guān)中斷SETB P2.4SETB P2.5SETB P2.6SETB P2.7CHOICE_ZHU:JNBP2.4,CESU_JUMPJNBP2.5,CHUANSHU_JUMPJNBP2.6,FUNCTION_JUMPJNBP2.7,EXIT_JUMPAJMP CHOICE_ZHUCESU_JUMP:LJMPCESU_MENUCHUANSHU_JUMP:LJMPCHUANSHU_MENUFUNCTION_JUMP:LJMP FUNCTION_MENUEXIT_JUMP:;進(jìn)入【測(cè)速功能】模塊;進(jìn)入【數(shù)據(jù)傳輸】模塊;進(jìn)入【其它功能】模塊LJMP EXIT_MENU;【退出系統(tǒng)】;*- 25 - 多功能自行車(chē)測(cè)速儀;*測(cè)速菜單CESU_MENU:MOVLCALL FANXIANLJMP CESUR4,#30;反顯第一行;反顯示主菜單中的【測(cè)速模式】項(xiàng);*CESU:LCALL INIT_LCMMOVCOM,#80HMOVDPTR,#STRING_CESULCALL PUT_STRINGMOVTMOD,#01100000BMOVTH1,#224;顯示測(cè)速界面;設(shè)定為方式 2MOVTL1,#224 ;裝初值CLREA;*以上是歷程和速度的初始化SETB P2.4SETB P2.5SETB P2.6;準(zhǔn)備讀管腳JUDGE:JNBP2.4,LZC26- 26 - 多功能自行車(chē)測(cè)速儀JNBP2.5,LZC275JNBP2.6,RETURN1AJMP JUDGE;*以上是判斷按鍵LZC26:MOVR4,#13;反顯第二行;反顯示測(cè)速菜單中的【26型】項(xiàng)MOVLUNZ_Z,#2LCALL FANXIANMOVLUNZ_X,#73MOVSDJS,#65LJMP SAMPLE_MENULZC275:MOV R4,#21;反顯第三行LCALL FANXIAN;反顯示測(cè)速菜單中的【275型】項(xiàng)MOVLUNZ_Z,#02HMOVLUNZ_X,#193MOVSDJS,#68LJMP SAMPLE_MENURETURN1:MOVR4,#05;反顯第四行LCALL FANXIAN;反顯示測(cè)速菜單中的【退出】項(xiàng)- 27 - 多功能自行車(chē)測(cè)速儀LJMP ZHU_MENU;退出本級(jí)菜單,返回主菜單;*測(cè)速菜單結(jié)束;*數(shù)據(jù)傳輸菜單CHUANSHU_MENU:MOV R4,#14;反顯第二行LCALL FANXIAN;反顯示主菜單中的【數(shù)據(jù)傳輸】項(xiàng)LCALL INIT_LCM;重新初始化,顯示【數(shù)據(jù)傳輸】菜單項(xiàng)MOV COM,#80HMOV DPTR,#STRING_CHUANSHULCALL PUT_STRINGSETB P2.4SETB P2.5CHOICE_CHUANSHU:JNB P2.4,BEGIN_CHUANJNB P2.5,RETURN2AJMP CHOICE_CHUANSHURETURN2: MOV R4,#14LCALL FANXIAN;反顯第三行;反顯示數(shù)據(jù)傳輸菜單- 28 - 多功能自行車(chē)測(cè)速儀中的【退出】項(xiàng)AJMP ZHU_MENUBEGIN_CHUAN:MOV R4,#06HLCALL FANXIAN;反顯第二行;反顯示數(shù)據(jù)傳輸菜單中的【開(kāi)始傳輸】項(xiàng)LCALL INIT_LCM;重新初始化,顯示【正在傳輸.】MOV COM,#91HMOV DPTR,#START_CHUANLCALL PUT_STRINGLCALL delay1LCALL delay1;*通信傳送模塊MOV SCON,#40H;方式 1傳輸MOV TMOD,#20HMOV TL1,#0F4H;設(shè)置 2.4k波特率MOV TH1,#0F4HMOV PCON,#00HCLR TI;SMOD=0,波特率不加倍CLR P2.0- 29 - 多功能自行車(chē)測(cè)速儀SETB TR1;T1開(kāi)始計(jì)時(shí)MOV R2,#57;傳送 57次MOV R0,#0EH;時(shí)鐘芯片的內(nèi)部 RAM起始單元DO1:MOV SBUF,2FHacall delay10CLR TI;傳送溫度的高位;傳送溫度的低位;傳送速度的整數(shù)部分MOV SBUF,30Hacall delay10CLR TIMOVX A,R0MOV SBUF,Aacall delay10CLRTIINCR0MOVX A,R0;傳送速度的小數(shù)部分MOV SBUF,Aacalldelay10CLR TIINC R0- 30 - 多功能自行車(chē)測(cè)速儀DJNZ R2,DO1MOV R0,#38HMOV R2,#20;單片機(jī)的內(nèi)部 RAM;傳送 20次起始單元DO:MOV SBUF,2FHacalldelay10CLR TI;傳送溫度的高位MOV SBUF,30Hacalldelay10CLR TI;傳送溫度的低位MOV SBUF,R0acalldelay10CLR TI;傳送速度的整數(shù)部分INC R0MOV SBUF,R0acalldelay10CLR TI;傳送速度的小數(shù)部分INC R0DJNZ R2,DO- 31 - 多功能自行車(chē)測(cè)速儀LCALLINIT_LCM;重新初始化,顯示【數(shù)據(jù)傳輸完畢!】MOV COM,#91HMOV DPTR,#FINISH_CHUANLCALL PUT_STRINGLCALL delay1LCALL delay1LJMP ZHU_MENUDELAY10:D22:MOV R4,#20HMOV R5,#248DJNZ R5,$DJNZ R4,D22RET;*數(shù)據(jù)傳輸菜單結(jié)束*;*退出菜單EXIT_MENU:- 32 - 多功能自行車(chē)測(cè)速儀MOVR4,#06;反顯第四行LCALL FANXIAN;反顯示主菜單中的“退出系統(tǒng)”項(xiàng)LCALL INIT_LCM;重新初始化,顯示關(guān)機(jī);顯示關(guān)機(jī)畫(huà)面畫(huà)面MOVDPTR,#FINISHLCALL PIC_SHOWLCALL DELAY1CLRMOVWAKECOM,#34H;功能設(shè)置-8BIT 控制界面,擴(kuò)充指令集LCALL WRITE_COMMANDLCALL DELAYLCALL DELAYMOVCOM,#08H;進(jìn)入液晶休眠模式LCALL WRITE_COMMANDLCALL DELAYLCALL DELAYMOVIE,#81HSETB IT0- 33 - 多功能自行車(chē)測(cè)速儀JNBWAKE,$;等待 INT0 中斷,判斷液晶復(fù)位標(biāo)志 wAkE,wAkE=1,繼續(xù)執(zhí)行,wAkE=0,原地執(zhí)行AJMP ZHU_MENU ;返回主菜單顯示;*退出菜單結(jié)束;*采樣菜單SAMPLE_MENU:LCALL INIT_LCM據(jù)傳輸】菜單項(xiàng);重新初始化,顯示【數(shù)MOVCOM,#80HDPTR,#STRING_SAMPLELCALL PUT_STRINGMOVSETBP2.4SETB P2.5SETB P2.6CHAXUN:JNBP2.4,LIANG_MIAOJNBP2.5,SANSHI_MIAOJNBP2.6,LIUSHI_MIAOAJMP CHAXUN- 34 - 多功能自行車(chē)測(cè)速儀LIANG_MIAO:SANSHI_MIAO:LIUSHI_MIAO:MOVR4,#11LCALL FANXIANMOVCAI,#2LJMP CLEAR1MOVR4,#19LCALL FANXIANMOVCAI,#30LJMP CLEAR1MOVR4,#3LCALL FANXIANMOVCAI,#60LJMP CLEAR1;*給所有單元清零CLEAR1:- 35 - 多功能自行車(chē)測(cè)速儀MOVSPD_Z,#0MOVSPD_X,#0CLRP2.0MOVR1,#85HMOVR1,#0MOV37H,#0EHMOVR1,#84HMOVR1,#38H ;清零的時(shí)候重新賦初值CLEAR:MOVR1,#85HMOVA,R1;85H 用 做 判 斷 使 用 內(nèi) 部RAM還是時(shí)鐘 RAM的標(biāo)志位,0為內(nèi)部,1為時(shí)鐘CJNE A,#1,NEIBURAM2MOVR0,37H;37H用做保存時(shí)鐘芯片的 RAM地址CJNE R0,#128,TIMERAM2- 36 - 多功能自行車(chē)測(cè)速儀MOVR1,#85HMOVR1,#0MOV37H,#0EHMOVR1,#84HMOVR1,#38H ;清零完成后重新賦初值LJMP GZXIANSTIMERAM2:MOVA,SPD_ZMOVX R0,AINCR0MOVA,SPD_XMOVX R0,AINCR0MOV37H,R0LJMP BUCUN1- 37 - 多功能自行車(chē)測(cè)速儀NEIBURAM2:MOVR1,#84H;84H 用做保存內(nèi)部 RAM的地址MOVA,R1MOVR0,ACJNE R0,#60H,NEIBURAM11MOVR1,#85HMOVR1,#1LJMP BUCUN1NEIBURAM11:MOVR0,SPD_ZINCR0MOVR0,SPD_XINCR0MOVR1,#84HMOVA,R0MOVR1,ALJMP BUCUN1BUCUN1:LJMP CLEAR- 38 - 多功能自行車(chē)測(cè)速儀;*清零完畢;*采樣菜單結(jié)束;*其它功能菜單FUNCTION_MENU:MOVR4,#22;反顯第三行LCALL FANXIAN;反顯示主菜單中的【其它功能】項(xiàng)FUNC_DOT:LCALL INIT_LCM;重新初始化,顯示【其它功能】中的內(nèi)容MOVCOM,#80HDPTR,#STRING_FUNCTIONMOVLCALL PUT_STRINGSETB P2.4SETB P2.5SETB P2.6CHOICE_FUNCTION:JNB P2.4,TIME_SET;進(jìn)入【時(shí)間設(shè)定】- 39 - 多功能自行車(chē)測(cè)速儀功能模塊息】模塊JNB P2.5,VERSION_MENU;進(jìn)入【產(chǎn)品信JNB P2.6,RETURN3;退出本級(jí)菜單AJMP CHOICE_FUNCTIONRETURN3:MOV R4,#03LCALLFANXIAN;反顯第四行;反顯示其它功能菜單中的【退出】項(xiàng)AJMP ZHU_MENUVERSION_MENU:;退出本級(jí)菜單,返回主菜單MOV R4,#19LCALL FANXIAN中的【產(chǎn)品信息】項(xiàng)MOV COM,#80H;反顯第三行;反顯示其它功能菜單MOV DPTR,#STRING_VERSIONLCALL PUT_STRINGLCALL DELAY1LCALL DELAY1LCALL DELAY1LCALL DELAY1- 40 - 多功能自行車(chē)測(cè)速儀AJMP FUNC_DOT;4秒后自動(dòng)其它功能菜單;*其它功能菜單結(jié)束;*時(shí)間設(shè)定界面TIME_SET:MOV R4,#11LCALL FANXIAN;反顯第二行;反顯時(shí)間設(shè)定項(xiàng)SETB FX_KEYCLRP2.0MOVR0,#0AHMOVA,#70HMOVX R0,AMOVR0,#0BHMOVA,#86H;向 A寄存器送命令;向 B寄存器送命令;禁止芯片工作,設(shè)定為二進(jìn)制碼格式,24小時(shí)模式MOVX R0,AMOVR0,#0CHMOVX A,R0;指向 C寄存器;讀 C寄存器- 41 - 多功能自行車(chē)測(cè)速儀LCALL INIT_LCM;重新初始化,顯示【時(shí)間設(shè)定】MOVMOVCOM,#80HDPTR,#STRING_TIMELCALL PUT_STRINGTIME_DISP:MOVTAB2,#00HCOM,#90HMOVLCALL WRITE_COMMANDMOVR0,#09HLCALL BIN_BCDLCALL TDISPLCALL HANZIMOVR0,#08HLCALL BIN_BCDLCALL TDISPLCALL HANZIMOVR0,#07H- 42 - 多功能自行車(chē)測(cè)速儀LCALL BIN_BCDLCALL TDISPLCALL HANZIMOVR0,#06HLCALL BIN_BCDLCALL TDISPLCALL HANZIMOVR0,#04HLCALL BIN_BCDLCALL TDISPLCALL HANZIMOVR0,#02HLCALL BIN_BCDLCALL TDISPLCALL HANZIMOVR0,#00HLCALL BIN_BCDLCALL TDISP- 43 - 多功能自行車(chē)測(cè)速儀LCALL HANZIMOVCOM,#9FHMOVDPTR,#STRING_OKLCALL PUT_STRING;*以上界面顯示*MOV R4, #04MOV 25H,#07;光標(biāo)移動(dòng)計(jì)數(shù)器,當(dāng)為 0 時(shí),要重新復(fù)位SETB P2.4SETB P2.5SETB P2.6SETB P2.7LCALL FANXIANFAN:JNB P2.4,xiaodou1ajmp j2xiaodou1:mov r0,#12- 44 - 多功能自行車(chē)測(cè)速儀xiaodou11:lcall delaydjnz r0,xiaodou11JNB P2.4,gb_shiftj2:JNB P2.5,xiaodou2ajmp j3xiaodou2:mov r0,#10xiaodou22:lcall delaydjnz r0,xiaodou22JNB P2.5,time_addj3:JNB P2.6, xiaodou3ajmp j4xiaodou3:mov r0,#10xiaodou33:lcall delaydjnz r0,xiaodou33JNB P2.6,time_minus- 45 - 多功能自行車(chē)測(cè)速儀j4:JNB P2.7,TIME_OVERAJMP FAN;*光標(biāo)移動(dòng)GB_SHIFT:DJNZ 25H,LEFT_SHIFTMOV 25H,#07MOV R4,#12GB_FUWEI:MOV COM,#14HLCALL WRITE_COMMANDLCALL DELAY;設(shè)定液晶的光標(biāo)向右移動(dòng)LCALL DELAYDJNZ R4,GB_FUWEIAJMP FAN;R4為光標(biāo)移動(dòng)位數(shù)LEFT_SHIFT:MOV R4,#02LCALL FANXIANAJMP FAN;*- 46 - 多功能自行車(chē)測(cè)速儀TIME_ADD:MOVR2,#01HACALL UPDATETIME_MINUS:TIME_OVER:MOVR2,#00HACALL UPDATECLRP2.0MOVR0,#0AHMOVA,#20HMOVX R0,AMOVR0,#0BHMOVA,#16HMOVX R0,A;啟動(dòng)時(shí)鐘芯片CLRFX_KEYMOVCOM,#02H;光標(biāo)重新回到原點(diǎn)LCALL WRITE_COMMANDLCALL DELAYLCALL DELAYMOVR4,#32;設(shè)定光標(biāo)向又移動(dòng) 32次TIME_OVER1:- 47 - 多功能自行車(chē)測(cè)速儀MOVCOM,#14H ;設(shè)定液晶的光標(biāo)向右移動(dòng)LCALL WRITE_COMMANDLCALL DELAYLCALL DELAYDJNZ R4,TIME_OVER1;R4為光標(biāo)移動(dòng)位數(shù)movr4,#01lcall fanxianAJM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工安全責(zé)任協(xié)議書(shū)
- 戶(hù)內(nèi)空氣質(zhì)量提升與改善方案
- 安全生產(chǎn)技術(shù)服務(wù)合同
- 上海市華東師范大學(xué)二附中2025屆物理高一下期末學(xué)業(yè)水平測(cè)試試題含解析
- 安全風(fēng)險(xiǎn)動(dòng)態(tài)評(píng)估-洞察及研究
- 2025年呂梁市重點(diǎn)中學(xué)物理高一第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 廠子消防安全管理制度
- 安全管理制度范本模板
- 遠(yuǎn)程醫(yī)療護(hù)理模式的創(chuàng)新與實(shí)踐-洞察闡釋
- 河南省開(kāi)封市2025屆物理高一下期末考試試題含解析
- 樓梯 欄桿 欄板(一)22J403-1
- JJF 1015-2014計(jì)量器具型式評(píng)價(jià)通用規(guī)范
- GB/T 20330-2006攻絲前鉆孔用麻花鉆直徑
- 勞動(dòng)合同(通用版)
- 英語(yǔ)口語(yǔ) 購(gòu)物課件
- 膀胱鏡檢查記錄
- 鋼板倉(cāng)施工方案
- DBJ50-112-2016 現(xiàn)澆混凝土橋梁梁柱式模板支撐架安全技術(shù)規(guī)范
- 北京福賽爾V6891、V6851控制器(聯(lián)動(dòng)型)的調(diào)試
- 汽車(chē)維修安全生產(chǎn)管理制度大全
- 晉江市勞動(dòng)合同書(shū)
評(píng)論
0/150
提交評(píng)論