版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué) 號(hào):1434060103畢業(yè)設(shè)計(jì)說(shuō)明書GRADUATE DESIGN設(shè)計(jì)題目:基于單片機(jī)的自行車?yán)锍趟俣缺碓O(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:程曉鋒專業(yè)班級(jí):2014自升本1班學(xué) 院:繼續(xù)教育學(xué)院指導(dǎo)教師:邸志剛 副教授2016年11月30日摘要摘 要隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運(yùn)輸、代步的工具,而是成為人們娛樂(lè)、休閑、鍛煉的首選。自行車的速度里程表能夠滿足人們最基本的需求,讓人們能清楚地知道當(dāng)前的速度、里程等物理量。本論文主要闡述一種基于霍爾元件的自行車的速度里程表的設(shè)計(jì)。以 AT89C52 單片機(jī)為核心,霍爾傳感器測(cè)轉(zhuǎn)數(shù),實(shí)現(xiàn)對(duì)自行車?yán)锍?速度的測(cè)量統(tǒng)計(jì),采用 1302 實(shí)現(xiàn)在系
2、統(tǒng)掉電的時(shí)候保存里程信息,并能將自行車的里程數(shù)及速度用LCD實(shí)時(shí)顯示。文章詳細(xì)介紹了自行車的速度里程表的硬件電路和軟件設(shè)計(jì)。硬件部分利用霍爾元件將自行車每轉(zhuǎn)一圈的脈沖數(shù)傳入單片機(jī)系統(tǒng),然后單片機(jī)系統(tǒng)將信號(hào)經(jīng)過(guò)處理送顯示。軟件部分用C語(yǔ)言進(jìn)行編程,采用模塊化設(shè)計(jì)思想。該系統(tǒng)硬件電路簡(jiǎn)單,子程序具有通用性。關(guān)鍵詞:里程/速度;霍爾元件;單片機(jī);LCD顯示IAbstractWith the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute fo
3、r walking, but becomes the first choice of entertainment and exercising. The bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. In this paper, the bicycle mileage/speed design based on the Hall element is elaborated. By
4、AT89C52 as kernel, using Hall element to measure revolution, the measure and statistic are achieved. The range information is saved by when the power is off, the bicycle speed can be displayed on LCD. In this article, the hardware circuit and software design of bicycle mileage/speed instrument are i
5、ntroduced in detail. About the hardware, the pulse number is transmitted of one cycle of the bicycle into Single Chip Microcomputer system. Then the signal processed by Single Chip Microcomputer system is sent to display scream. About the software, in assemble language; the program is designed in th
6、e mode of modules. The system has simple hardware, common sub-program.KEY WORDS: Mileage / speed; Hall element; Single chip microcomputer; LCDdisplay . 第2章自行車?yán)锍瘫砜傮w方案設(shè)計(jì)前 言1第1章 緒論21.1 課題背景21.2 設(shè)計(jì)的主要內(nèi)容及技術(shù)指標(biāo)2第2章自行車?yán)锍瘫砜傮w方案設(shè)計(jì)32.1任務(wù)分析與實(shí)現(xiàn)32.2自行車?yán)锍瘫碛布桨冈O(shè)計(jì)32.3自行車?yán)锍瘫碥浖桨冈O(shè)計(jì)4第3章 自行車?yán)锍瘫碛布K設(shè)計(jì)53.1 里程表的硬件設(shè)計(jì)53.1.1 霍
7、爾傳感器電路模塊設(shè)計(jì)53.1.2 按鍵電路模塊設(shè)計(jì)63.1.3 電源電路模塊設(shè)計(jì)63.1.4 時(shí)鐘電路模塊設(shè)計(jì)73.1.5 LCD顯示模塊電路模塊設(shè)計(jì)73.1.6 串口下載電路模塊設(shè)計(jì)83.1.7 復(fù)位電路模塊設(shè)計(jì)93.1.8 晶振電路模塊設(shè)計(jì)10第4章 軟件的設(shè)計(jì)114.1 里程表的軟件設(shè)計(jì)114.1.1 里程速度功能模塊實(shí)現(xiàn)114.1.2 日歷時(shí)鐘模塊功能144.1.3 LCD1602液晶顯示模塊17第5章 軟件調(diào)試215.1 程序的檢測(cè)與調(diào)試215.1.1 Keil軟件簡(jiǎn)介215.1.2 編制單片機(jī)應(yīng)用程序的步驟和難點(diǎn)215.2 系統(tǒng)仿真調(diào)試245.2.1 程序的查錯(cuò)手段25第6章 結(jié)論
8、27第7章 謝辭28參考文獻(xiàn)29附錄1 硬件設(shè)計(jì)原理圖30附錄2 硬件電路仿真圖31附錄3 軟件程序32譯文69C語(yǔ)言69前 言本文介紹里程表設(shè)計(jì)以單片機(jī)和霍爾傳感器為核心?;魻杺鞲衅鲗⒌絹?lái)的低電平脈沖信號(hào)輸入到單片機(jī)進(jìn)行控制與計(jì)算,再采用LCD模塊進(jìn)行顯示,使得自行車的里程數(shù)據(jù)能直觀的顯示給使用者。自行車?yán)锍瘫硎怯糜谶h(yuǎn)距離連續(xù)測(cè)量自行車行駛距離的儀表。它分為電源、霍爾傳感器和顯示器3部分。隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運(yùn)輸、代步的工具,而是成為人們娛樂(lè)、休閑、鍛煉的首選。因此,人們希望自行車的功用更強(qiáng)大,能給人們帶來(lái)更多的方便。自行車?yán)锍趟俣缺碜鳛樽孕熊嚨囊淮筝o助工具也正
9、是隨著這個(gè)要求而迅速發(fā)展的,其功能也逐漸從單一的里程顯示發(fā)展到速度、時(shí)間顯示,甚至有的還具有測(cè)量騎車人的心跳、顯示騎車人熱量消耗等功能。本文介紹的自行車?yán)锍瘫硎怯呻娫捶€(wěn)壓系統(tǒng)供電,AT89C52單片機(jī)為中央處理器,結(jié)合高精度的控制電路,方便地實(shí)現(xiàn)了智能化、高精度、高可靠性、高效率的自行車?yán)锍瘫淼脑O(shè)計(jì),并且使用方便。里程表以單片機(jī)AT89C52為核心,由系統(tǒng)輸入、單片機(jī)部分和系統(tǒng)輸出組成。2第3章 自行車?yán)锍瘫碛布K設(shè)計(jì)第1章 緒論單片機(jī)自從推出以來(lái),以其超小型化、結(jié)構(gòu)緊湊、可靠性高、成本低等優(yōu)點(diǎn)被人們廣泛接受,從而應(yīng)用于工業(yè)、電訊、數(shù)據(jù)處理、儀器儀表等多方面。自行車?yán)锍瘫硎亲孕熊嚨闹匾浼?/p>
10、在自行車儀表中占重要位置,但幾十年來(lái)其發(fā)展變化并不大,現(xiàn)在國(guó)外很多車中使用了數(shù)字里程表,但在國(guó)內(nèi)還并不多見(jiàn)。1.1 課題背景里程表的原理很簡(jiǎn)單,車輪的圓周長(zhǎng)是恒定不變的。由此可以計(jì)算出每走一里路車輪要轉(zhuǎn)多少圈,這個(gè)數(shù)也是恒定不變的。因此只要能夠自動(dòng)把車輪的轉(zhuǎn)數(shù)積累下來(lái),然后除以每一里路對(duì)應(yīng)的轉(zhuǎn)數(shù)就可以得到行駛的里程了。這樣簡(jiǎn)單的原理古人就已經(jīng)發(fā)現(xiàn),并且開(kāi)始使用了?!坝浝锕能嚒本褪沁@樣的裝置,它是利用上述原理,再加上巧妙的機(jī)構(gòu)使得車輪每轉(zhuǎn)一定圈數(shù)就自動(dòng)敲一下鼓,此時(shí)只要有專人把它記下了,就可以得到所走里程。此裝置十分巧妙無(wú)論白天、黑夜均可使用,而且盲人也可使用,體現(xiàn)出了我國(guó)古代勞動(dòng)人民的聰明才智
11、。不過(guò),如果車上沒(méi)有人默記鼓聲數(shù)目的話,單靠記里鼓車本身還不能累計(jì)一共走了多少里。而且車停下來(lái)之后誰(shuí)也不知道這車曾經(jīng)走過(guò)多少里路,這是美中不足之處。從保護(hù)環(huán)境和經(jīng)濟(jì)條件許可等因素綜合來(lái)看,自行車目前乃至今后都有著廣闊的發(fā)展空間。目前市面上自行車的速度表和里程表都是機(jī)械的,看起來(lái)不夠直觀與方便。如果能用LCD直接顯示出來(lái)里程數(shù)或速度值,就可節(jié)省用戶的時(shí)間及精力處理自行車行進(jìn)過(guò)程中的突發(fā)事件。1.2 設(shè)計(jì)的主要內(nèi)容及技術(shù)指標(biāo)單片機(jī)軟件設(shè)計(jì)程序主要包括里程設(shè)計(jì)模塊;存儲(chǔ)歷史里程數(shù)據(jù)設(shè)計(jì)模塊;里程的顯示設(shè)計(jì)模塊;里程公里數(shù)的累計(jì)設(shè)計(jì)模塊;里程公里數(shù)的清0設(shè)計(jì)模塊。里程計(jì)數(shù)時(shí)有一盞指示燈閃爍;用LCD1
12、602進(jìn)行顯示公里數(shù);用個(gè)開(kāi)關(guān)實(shí)現(xiàn)對(duì)里程公里數(shù)的清0功能;用霍爾傳感器實(shí)現(xiàn)對(duì)里程車輪圈數(shù)的累計(jì)功能。主要技術(shù)指標(biāo):一. 完成里程的顯示功能二能存貯歷史里程數(shù)據(jù)三能夠清除歷史數(shù)據(jù)四有一盞指示燈73第2章自行車?yán)锍瘫砜傮w方案設(shè)計(jì)2.1任務(wù)分析與實(shí)現(xiàn)本設(shè)計(jì)的任務(wù)是:以STC89C52單片機(jī)為處理核心,用傳感器將車輪的轉(zhuǎn)數(shù)轉(zhuǎn)換為電脈沖,進(jìn)行處理后送入單片機(jī)。里程及速度的測(cè)量,是經(jīng)過(guò)STC89C52測(cè)出總的脈沖數(shù)和每一秒所轉(zhuǎn)的圈數(shù),再經(jīng)過(guò)單片機(jī)的計(jì)算得出,其結(jié)果通過(guò)1602LCD顯示屏顯示出來(lái)。本系統(tǒng)總體思路如下:假定車輪的周長(zhǎng)為L(zhǎng),在車輪上安裝m個(gè)磁鋼,則測(cè)得的里程值最大誤差為L(zhǎng)/m。經(jīng)綜合分析,本設(shè)
13、計(jì)中取m=1。車輪每轉(zhuǎn)一圈,開(kāi)關(guān)型霍爾傳感器就會(huì)采集到一個(gè)脈沖信號(hào),并從引腳端輸入,傳感器每獲取一個(gè)脈沖信號(hào)代表車輪轉(zhuǎn)動(dòng)一圈,即圈數(shù)qs加1,圈數(shù)qs與設(shè)置的自行車車輪的周長(zhǎng)L的乘積即為當(dāng)前所走里程。同時(shí)可以從定時(shí)器TI知道在1秒內(nèi)單片機(jī)收到的脈沖個(gè)數(shù),即車輪所轉(zhuǎn)的圈數(shù),而自行車車輪周長(zhǎng)與車輪所轉(zhuǎn)圈數(shù)的乘積即為這1秒內(nèi)自行車所走的距離,距離除以1秒的時(shí)間,即為瞬時(shí)速度。平均速度的計(jì)算大體上與瞬時(shí)速度一樣,從計(jì)數(shù)器T1知道在t秒內(nèi)車輪所轉(zhuǎn)的圈數(shù)后,與自行車車輪周長(zhǎng)相乘得到t秒內(nèi)自行車所走的距離,距離除以t即為平均速度。另一個(gè)定時(shí)器T0則可以用來(lái)實(shí)現(xiàn)秒表的計(jì)時(shí)。最后LCD顯示屏顯示內(nèi)容的切換可以由
14、鍵盤的輸入來(lái)實(shí)現(xiàn),而秒表計(jì)時(shí)的開(kāi)始、暫停、清零及里程的清零也可以用鍵盤的輸入來(lái)實(shí)現(xiàn)。設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)采用的脈沖計(jì)數(shù)方法,用來(lái)計(jì)算速度具有較高的測(cè)速精度。在計(jì)算里程時(shí)取了自行車的理想狀態(tài)。實(shí)際中,誤差控制在幾米之內(nèi),相對(duì)于整個(gè)里程來(lái)說(shuō)不是很大。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通用性和高效性。最終實(shí)現(xiàn)目標(biāo):采用單片機(jī)作控制,自行車?yán)锍瘫砭哂欣锍獭⑺俣扰c秒表計(jì)時(shí)顯示功能。通過(guò)不同按鍵的按下切換里程、速度、秒表三者之間的顯示,也可以實(shí)現(xiàn)秒表計(jì)時(shí)的開(kāi)始、暫停、清零及里程清零的功能,方便地實(shí)現(xiàn)了智能化、高精度、高可靠性、高效率的自行車?yán)锍瘫淼脑O(shè)計(jì),并且使用方便。2.2
15、自行車?yán)锍瘫碛布桨冈O(shè)計(jì)根據(jù)本設(shè)計(jì)的要求,經(jīng)研究和分析,硬件部分主要分為信息采集、信息處理、鍵盤輸入和信息顯示四大模塊,其中的核心是信息處理,所用芯片為STC89C52單片機(jī)。系統(tǒng)硬件框圖如圖2-1所示:外部信號(hào)信息采集STC89C52顯示信息鍵盤輸入圖2-1系統(tǒng)硬件框圖2.3自行車?yán)锍瘫碥浖桨冈O(shè)計(jì)通過(guò)軟件控制單片機(jī)的功能是單片機(jī)的主要特點(diǎn)和優(yōu)點(diǎn),程序的設(shè)計(jì)要考慮合理性和可讀性,遵循模塊化設(shè)計(jì)的原則,采用自頂向下的設(shè)計(jì)方法。模塊化設(shè)計(jì)使程序的可讀性好、修改及完善方便。軟件設(shè)計(jì)包括顯示子程序、數(shù)據(jù)處理子程序(分為里程子程序、速度子程序)、秒表計(jì)時(shí)子程序、脈沖接收子程序等等。顯示子程序是通過(guò)編程
16、將數(shù)據(jù)處理的結(jié)果送給顯示器顯示。數(shù)據(jù)處理子程序是將得到的車輪所轉(zhuǎn)的圈數(shù)與實(shí)際要顯示值之間有一定的對(duì)應(yīng)關(guān)系,經(jīng)過(guò)軟件編程顯示所需要的值。秒表計(jì)時(shí)子程序是采用計(jì)數(shù)器T0通過(guò)編程實(shí)現(xiàn)秒表計(jì)時(shí)工作。脈沖接收子程序是通過(guò)編程實(shí)現(xiàn)脈沖的計(jì)數(shù),即對(duì)車輪所轉(zhuǎn)的圈數(shù)計(jì)數(shù)。系統(tǒng)軟件框圖如圖2-2所示:外部信號(hào)脈沖接收鍵盤輸入數(shù)據(jù)處理顯示信息定時(shí)器1中斷定時(shí)器0中斷外部中斷0圖2-2系統(tǒng)軟件框圖第3章 自行車?yán)锍瘫碛布K設(shè)計(jì)第3章 自行車?yán)锍瘫碛布K設(shè)計(jì)3.1 里程表的硬件設(shè)計(jì)本次里程表的設(shè)計(jì),硬件電路主要由霍爾傳感器電路,按鍵電路,電源電路,時(shí)鐘電路,LCD顯示電路,串口下載電路,復(fù)位電路,晶振電路構(gòu)成。3.
17、1.1 霍爾傳感器電路模塊設(shè)計(jì)A44E集成霍爾開(kāi)關(guān)由穩(wěn)壓器A、霍爾電勢(shì)發(fā)生器(即硅霍爾片)B、差分放大器 C、施密特觸發(fā)器D和OC門輸出E五個(gè)基本部分組成,如圖3-1所示。(1)、(2)、(3)代表集成霍爾開(kāi)關(guān)的三個(gè)引出端點(diǎn)。在電源端加電壓Vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢(shì)發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢(shì)差VH輸出,該VH信號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)時(shí),觸發(fā)器輸出高電壓(相對(duì)于地電位),使三極管導(dǎo)通,此時(shí)OC門輸出端輸出低電壓,通常稱這種狀態(tài)
18、為開(kāi) 。當(dāng)施加的磁場(chǎng)達(dá)到釋放點(diǎn)時(shí),觸發(fā)器輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關(guān) 。這樣兩次電壓變換,使霍爾開(kāi)關(guān)完成了一次開(kāi)關(guān)動(dòng)作。工作點(diǎn)與釋放點(diǎn)的差值一定,此差值稱為磁滯,在此差值內(nèi),V0保持不變,因而使開(kāi)關(guān)輸出穩(wěn)定可靠,這也就是集電成霍爾開(kāi)關(guān)傳感器優(yōu)良特性之一。傳感器主要特性是它的輸出特性,即輸入磁感應(yīng)強(qiáng)度B與輸出電壓V0之間的關(guān)系。測(cè)量時(shí),在1、2兩端加5V直流電壓,在輸出端3與1之間接一個(gè)負(fù)載電阻,輸出端3接單片機(jī)INT0/P3.2,如圖3-2所示。圖3-1 集成開(kāi)關(guān)型霍爾傳感器圖3-2 霍爾傳感電路3.1.2 按鍵電路模塊設(shè)計(jì)鍵盤在單片機(jī)應(yīng)用系統(tǒng)中,實(shí)現(xiàn)輸入數(shù)據(jù)、傳送
19、命令的功能,是人工干預(yù)的主要手段。鍵盤是單片機(jī)系統(tǒng)設(shè)計(jì)中一種主要的信息輸入接口,合理的設(shè)計(jì),不僅可以節(jié)省系統(tǒng)的設(shè)計(jì)成本,更可使儀器設(shè)備的操作變得更為簡(jiǎn)單、方便,很大程度上提高系統(tǒng)綜合性能。本次設(shè)計(jì)中通過(guò)按鍵來(lái)更改自行車車輪半徑,并控制顯示自行的車?yán)锍毯推骄俣?,s3刷屏,s1加數(shù)據(jù),s2減數(shù)據(jù)。 圖3-3 按鍵電路3.1.3 電源電路模塊設(shè)計(jì) 為整個(gè)電路提供電源。電路由7805三端穩(wěn)壓集成電路、電容、LED燈、1千歐姆的電阻、開(kāi)關(guān)和直流電源組成。7805三端穩(wěn)壓集成電路內(nèi)部還有過(guò)流、過(guò)熱及調(diào)整管的保護(hù)電路,使用起來(lái)可靠、方便,而且價(jià)格便宜。注意事項(xiàng):電源不要超過(guò)20V,3A,防止意外。 圖3-
20、4 電源電路 3.1.4 時(shí)鐘電路模塊設(shè)計(jì) DS1302與單片機(jī)的連接也僅需要3條線:RST引腳(高電平時(shí)啟動(dòng)數(shù)據(jù)傳送)、SCLK串行時(shí)鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接32.768kHz晶振,為芯片提供計(jì)時(shí)脈沖。圖3-5 時(shí)鐘電路3.1.5 LCD顯示模塊電路模塊設(shè)計(jì) LCD1602引腳介紹:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:VEE為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操
21、作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第714腳:D0D7為8位雙向數(shù)據(jù)端。第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。圖3-6 顯示電路3.1.6 串口下載電路模塊設(shè)計(jì)串行通信是指使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。單片機(jī)的串行通信可用于與計(jì)算機(jī)之間傳送數(shù)據(jù),一般采用RS232接口,但是由于TTL電平和RS232電平不兼容,所以兩者對(duì)接時(shí),必須進(jìn)行電平轉(zhuǎn)換,其原理圖如圖2-9。RS2
22、32與電平轉(zhuǎn)換最常用的芯片有MC1488、MC1489和MAX232,各廠家生產(chǎn)的此類芯片雖然不同,但原理都一樣。在本次設(shè)計(jì)選用的是美國(guó)MAXIM公司的MAX232芯片,由此構(gòu)成程序下載電路,以便調(diào)試燒寫程序。它是RS232雙工發(fā)送器/接收器接口電路芯片,由于芯片內(nèi)部有自升壓的電平倍增電路,將+5V轉(zhuǎn)換成-10+10V,滿足RS232標(biāo)準(zhǔn)對(duì)邏輯1和邏輯0的電平要求,工作時(shí)僅需要單一的+5V電源。圖3-7 串口下載電路3.1.7 復(fù)位電路模塊設(shè)計(jì)上電時(shí),剛接通電源,電容C相當(dāng)于瞬間短路,+5V立即加到RET/VPD端,該高電平使89C52全機(jī)自動(dòng)復(fù)位,這就是上電復(fù)位;若運(yùn)行過(guò)程中需要程序從頭執(zhí)行
23、,只需按動(dòng)按鈕即可。按下按鈕,則直接把+5V加到了RET/VPD端從而復(fù)位稱為手動(dòng)復(fù)位。電路圖如圖3-8所示。圖3-8 復(fù)位電路3.1.8 晶振電路模塊設(shè)計(jì)晶振電路用于產(chǎn)生單片機(jī)工作時(shí)所需的時(shí)鐘控制信號(hào)。通過(guò)單片機(jī)的引腳XTAL1,XTAL2跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘頻率直接影響單片機(jī)的速度,晶振電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。晶振電路電路圖如圖3-9所示。圖3-9 晶振電路第4章 軟件的設(shè)計(jì)4.1 里程表的軟件設(shè)計(jì) 本自行車?yán)锍瘫碥浖捎媚K化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、頻率測(cè)量模塊、LCD顯示模塊、速度計(jì)算與顯示模塊、里程計(jì)算與與顯示模塊、數(shù)據(jù)
24、存儲(chǔ)、讀取模塊、定時(shí)器中斷服務(wù)模塊、時(shí)鐘模塊以及其他功能模塊組成。本設(shè)計(jì)的主要內(nèi)容是自行車?yán)锍趟俣缺?,日歷時(shí)鐘為附加功能,在此進(jìn)行簡(jiǎn)單介紹。4.1.1 里程速度功能模塊實(shí)現(xiàn)里程速度功能程序流程圖如圖4-1所示。開(kāi)始讀取EEPROM數(shù)據(jù)檢測(cè)按鈕處理直徑設(shè)置初始化設(shè)置特殊功能寄存器、置定時(shí)常數(shù)、開(kāi)中斷、清屏等等待中斷刷新累計(jì)行駛時(shí)間刷新里程、速度存儲(chǔ)里程數(shù)據(jù)等切換屏幕顯示內(nèi)容INT0INT1 圖4-1 里程速度功能程序流程圖程序代碼如下:void main()EEPROM_LXRD(0x43,0,3,number);qs=number0;as=number1;第4章 軟件的設(shè)計(jì)bs=number2
25、;init_LCD(); 初始化dispmore(1,1,"-Digital Meter-",16);for(i=0;i<25000;i+);dispmore(2,1," Welcome ",16);顯示歡迎信息for(i=0;i<25000;i+);dispmore(2,1," Welcome. ",16);for(i=0;i<25000;i+);dispmore(2,1," Welcome. ",16);for(i=0;i<25000;i+);dispmore(2,1," We
26、lcome. ",16);for(i=0;i<25000;i+);dispmore(2,1," Welcome. ",16);for(i=0;i<25000;i+);dispmore(2,1," Welcome. ",16);for(i=0;i<30000;i+);W1302(0x90,0xa5);/打開(kāi)充電二級(jí)管 一個(gè)二級(jí)管串聯(lián)一個(gè)2K電阻 W1302(0x8e,0x80);/寫保護(hù),禁止寫操作 wrcom(0x01);MODE=0;P2=0xff;qs2=0;tr1=5;tr2=5;wrcom(0x01);dispmore
27、(1,1,"Set Bike Tire L=",16);wrcom(0xc9);dispone('c');wrcom(0xca);dispone('m');P2=0xff;wrcom(0xc6);dispone(tr1+0x30);wrcom(0xc7);dispone(tr2+0x30);while(1)if(K1=0)for(i=0;i<4000;i+);if(K1=0)if(+tr1>9)tr1=0;wrcom(0xc6);dispone(tr1+0x30);for(i=0;i<32000;i+);if(K2=0)fo
28、r(i=0;i<4000;i+);if(K2=0)if(+tr2>9)tr2=0;wrcom(0xc7);dispone(tr2+0x30);for(i=0;i<32000;i+);if(K3=0)for(i=0;i<4000;i+);if(K3=0)break;tc=3.14*(10*tr1+tr2);TMOD=0x11;TH0=0x3c;置定時(shí)常數(shù)TL0=0xb0;TH1=0xb1;TL1=0xdf;IT0=1;外部中斷觸發(fā)方式均是邊緣觸發(fā)IT1=1;IE=0x9f; 開(kāi)中斷IP=0x02;TR0=1;和開(kāi)始計(jì)時(shí)TR1=1;P33=1;IE0=0;wrcom(0x0
29、1);4.1.2 日歷時(shí)鐘模塊功能 時(shí)鐘顯示模塊可以通過(guò)按鍵來(lái)校準(zhǔn)時(shí)間。當(dāng)K3按鍵按下時(shí),電子日歷停止走時(shí),此時(shí)可以進(jìn)行年的校準(zhǔn),年調(diào)好之后,再按一下校準(zhǔn)時(shí)間便可以調(diào)整月,同理可以對(duì)日、小時(shí)、分、秒進(jìn)行設(shè)置。對(duì)應(yīng)有K1、K2鍵,可以加與減的操作。都調(diào)整好之后就將按照新時(shí)間開(kāi)始走時(shí)。具體流程圖如下。開(kāi)始始終開(kāi)始工作是否顯示時(shí)間設(shè)置鍵是否按下選中要修改的加鍵是否按下減鍵是否按下修改時(shí)間和日期返回是是 圖4-2 校準(zhǔn)時(shí)間流程圖程序代碼如下:while(1)if(ag=1)if (K1|K2)=0) /初始化Delay5Ms();if (K1|K2)=0) Set1302(inittime);if (
30、K3=0) / 設(shè)置和選擇項(xiàng)目鍵Delay5Ms();if(K3=0)id+;if(id>7) id=0;while(K3=0);switch(id)case 0:sec=0;Disp_line1();Disp_line2();break;case 1:/年year=1;Disp_line1(); Disp_line2(); id_case1_key();break;case 2:/月year=0;mon=1;Disp_line1(); Disp_line2(); id_case1_key();break;case 3:/日mon=0;day=1;Disp_line1(); Disp_l
31、ine2();id_case1_key();break; case 4:/星期day=0;weekk=1;Disp_line1(); Disp_line2(); id_case1_key();4.1.3 LCD1602液晶顯示模塊 LCD1602液晶顯示器屬于字符型液晶顯示器,其內(nèi)部自帶有字符庫(kù),所以只要向顯示器輸送字符的ASCII碼,就可以顯示該字符了。對(duì)于1602顯示程序的編寫最主要的是掌握好1602的讀寫操作的時(shí)序。1602顯示器的控制端分別為RS、RW和E,當(dāng)寫指令時(shí)RS為低電平,RW為低電平,E首先為高電平,然后將數(shù)據(jù)送出,在延時(shí)一定時(shí)間后E變?yōu)榈碗娖?。這樣就把命令寫到了1602中。
32、當(dāng)寫數(shù)據(jù)時(shí)RS為高電平,RW為低電平,E首先為高電平,然后將數(shù)據(jù)送出,在延時(shí)一定的時(shí)間后E變?yōu)榈碗娖?。這樣就把數(shù)據(jù)寫到了1602中。在實(shí)際應(yīng)用1602時(shí),要先將顯示器初始化,初始化的內(nèi)容包括清屏、設(shè)置顯示模式,首字符的位置、光標(biāo)的有無(wú)和閃爍等,然后才能顯示具體內(nèi)容。開(kāi)始進(jìn)行LCD的初始化進(jìn)行數(shù)據(jù)的處理調(diào)用寫指令子函數(shù)調(diào)用寫數(shù)據(jù)子函數(shù)顯示 圖4-3 LCD顯示程序流程圖該函數(shù)的作用是對(duì)LCD進(jìn)行檢測(cè),看LCD是否處于忙的狀態(tài).當(dāng)bflag=1時(shí)表示忙,此時(shí)不可以向LCD進(jìn)行讀寫操作.而當(dāng)busy=0時(shí),表示可以向它讀寫數(shù)據(jù).程序代碼:void wait()P2=0xff;RW=1; RS=0;
33、doE=0;E=1;while(busy=1);void dispone(dat)寫數(shù)據(jù),并顯示出來(lái)P2=dat;RW=0; RS=1; E=0; E=1; wait();void wrcom(com)向LCD寫入控制字P2=com;RW=0; RS=0; E=0; E=1; wait();void init_LCD() 初始化LCDwrcom(0x01); 顯示清零,數(shù)據(jù)指針清零wrcom(0x06); 寫一個(gè)字后指針加一wrcom(0x38); 設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口wrcom(0x0c); 設(shè)置開(kāi)顯示,不顯示光標(biāo)void dispmore(line,row,uchar
34、 dat,i) /格式為dispmore(第幾行,第幾列,開(kāi)始要顯示的字符地址,顯示幾個(gè)字符);uchar com;s=dat;if(line=1) com=0x80+row-1; / 第一行第一列對(duì)應(yīng)的RAM的地址位為0x80H wrcom(com);while(i-)!=0&&com<=0x8f) dispone(*s);com+;s+;else com=0xc0+row-1; wrcom(com);while(i-)!=0&&com<=0xcf) dispone(*s);com+;s+;第5章 軟件調(diào)試第5章 軟件調(diào)試5.1 程序的檢測(cè)與調(diào)試5
35、.1.1 Keil軟件簡(jiǎn)介Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)镃PU可以
36、執(zhí)行的機(jī)器碼有兩種方法,一種Keil軟件圖標(biāo)是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Penti
37、um或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。5.1.2 編制單片機(jī)應(yīng)用程序的步驟和難點(diǎn)如何編寫單片機(jī)應(yīng)用程序,這是一個(gè)實(shí)踐性很強(qiáng)的題目,也是一項(xiàng)艱苦而細(xì)致的工作。如果按照一定的步驟并且找出難點(diǎn),事先對(duì)這些難點(diǎn)加以處理,能夠收到事半功倍
38、的效果。下面是開(kāi)發(fā)中必經(jīng)的幾個(gè)步驟和可能遇到的難點(diǎn)的處理。編制步驟:1搞清功能和編寫方案接到一個(gè)單片機(jī)項(xiàng)目設(shè)計(jì)之后,并不是馬上動(dòng)手編寫程序,而是仔細(xì)研究技術(shù)要求或者技術(shù)說(shuō)明,根據(jù)這些技術(shù)要求和技術(shù)說(shuō)明,把程序應(yīng)該具備的主要功能寫清楚,寫仔細(xì),這是最關(guān)鍵的工作,否則在設(shè)計(jì)完成以后會(huì)發(fā)現(xiàn)有些功能由于事先沒(méi)有考慮清楚再重新設(shè)計(jì)將會(huì)很麻煩,可能有些需要重新增加的功能很容易補(bǔ)充,而有些可能由于沒(méi)有事先考慮周全而無(wú)法實(shí)現(xiàn)。 2編寫總流程圖和各功能模塊流程圖根據(jù)要完成的程序功能寫出總流程圖,根據(jù)總流程圖把整個(gè)程序劃分成幾個(gè)主要的功能模塊,每個(gè)功能模塊都要寫出基本流程圖,這主要是為以后的程序編寫起到一個(gè)指導(dǎo)作
39、用。當(dāng)然,在實(shí)際的程序編寫過(guò)程中肯定會(huì)有一些改動(dòng),一個(gè)基本的流程會(huì)指導(dǎo)寫程序的過(guò)程中不會(huì)出現(xiàn)太大的偏差。 3準(zhǔn)備編程所需的資料 這些資料主要是編程語(yǔ)言方面的書籍、雜志等。因?yàn)槌绦蛘Z(yǔ)言的有些資料不可能記得太清楚,如每條指令的含義,具體操作每條指令所牽涉的硬件電路等。如果資料準(zhǔn)備得比較充分,可以放在案邊,若有需要,順手查閱。4分析編程的難點(diǎn)和技術(shù)解決方案為了能比較順利地完成程序設(shè)計(jì),應(yīng)根據(jù)程序所完成的功能和程序流程對(duì)整個(gè)程序的框架分析一下,并根據(jù)自己掌握的技能定位整個(gè)程序的難點(diǎn),然后找到最佳的算法。5寫程序在上面的準(zhǔn)備工作完成后,就可以著手編寫程序。因?yàn)橛辛嗣鞔_的程序流程,有了充足的資料,可能遇到
40、的難點(diǎn)基本上找到了解決方法。這樣,事先準(zhǔn)備得比較充分,即使在以后的程序編寫過(guò)程中遇到困難,也較易解決。這樣就可以節(jié)省很多時(shí)間,以便靜下心來(lái)認(rèn)真按照方案和流程編寫程序。另外,一般寫完一個(gè)功能程序就進(jìn)行調(diào)試,通過(guò)后再編寫另外一個(gè)功能代碼,這樣可以防止全部代碼編寫完畢后再調(diào)試可能帶來(lái)的相互影響,從而可以搞清楚到底是哪部分程序有問(wèn)題。 7程序調(diào)試單擊Project菜單項(xiàng),選擇New Project項(xiàng);此時(shí)彈出Create New Project對(duì)話框,選擇合適的路徑口,在文件名一欄中填入新工程的名字。單擊保存;根據(jù)所用的器件,選擇CPU的型號(hào),單擊確定;Keil51詢問(wèn)是否生成默認(rèn)的配置文件,這個(gè)可選
41、可不選,這里選定。單擊Yes,觀察項(xiàng)目文件管理窗口的變化;在File菜單下單擊New選項(xiàng),新建文件。此時(shí)在代碼窗口出現(xiàn)一“Text1”空白文檔;在“Text1”中編輯完代碼后,單擊File菜單中的保存項(xiàng),彈出保存對(duì)話框。保存名寫為text.c。單擊保存。注意在對(duì)文件命名時(shí)必須加擴(kuò)展名; 在項(xiàng)目導(dǎo)航欄中Source Group 上單擊右鍵,選Add File to Group Source Group 1;此時(shí)彈出Add File 對(duì)話框。選中剛才保存的text.c文件。單擊Add。 此時(shí)在項(xiàng)目文件管理窗口中就會(huì)出現(xiàn)剛才所添加的文件text.c;單擊快捷菜單欄中的編譯按鈕 ,可以編譯程序;單擊P
42、roject菜單項(xiàng),選擇Option for Target Target 1選項(xiàng)。 在彈出的對(duì)話框中可以對(duì)Project進(jìn)行總體配置;選擇Output 選項(xiàng)卡,單擊Create HEX File ,代碼輸出格式應(yīng)為HEX-80 ; 單擊確定后,并重新編譯??梢钥吹骄幾g成功之后,Build 選項(xiàng)卡里又多了一項(xiàng)。這是生成的HEX 文件;單擊Debug 菜單項(xiàng)中的Start/Stop Debug Session 命令或工具欄中的進(jìn)入調(diào)試界面;單擊調(diào)試界面Debug 菜單項(xiàng)中的Go命令或工具欄中的運(yùn)行 程序,單擊Stop Running 命令或結(jié)束程序。觀察運(yùn)行結(jié)果。圖5-1 程序運(yùn)行調(diào)試圖5.2 系
43、統(tǒng)仿真調(diào)試PROTEUS系統(tǒng)仿真平臺(tái)與開(kāi)發(fā)平臺(tái)是由英國(guó)Labcenter公司開(kāi)發(fā)的,是目前世界上最完整的系統(tǒng)設(shè)計(jì)與仿真平臺(tái)之一。PROTEUS可以實(shí)現(xiàn)數(shù)字電路、模擬電路及微控制系統(tǒng)與外設(shè)的混合電路系統(tǒng)的電路仿真、系統(tǒng)協(xié)同仿真和PCB設(shè)計(jì)等全部功能。PROTEUS軟件能夠?qū)Ω鞣N處理器進(jìn)行實(shí)時(shí)仿真、調(diào)試與測(cè)試的EDA工具,真正實(shí)現(xiàn)了在沒(méi)有目標(biāo)原形時(shí)就可以對(duì)系統(tǒng)進(jìn)行調(diào)試與驗(yàn)證。在構(gòu)思好電路原理圖和編好程序之后就要對(duì)其進(jìn)行系統(tǒng)仿真,原理圖的具體設(shè)計(jì)流程如圖5-2所示。當(dāng)完成原理圖布線后,利用PROTEUS ISIS編輯環(huán)境所提供的電器規(guī)則檢查命令對(duì)設(shè)計(jì)進(jìn)行檢查,并根據(jù)系統(tǒng)提供的錯(cuò)誤檢查報(bào)告修改原理圖。
44、直到通過(guò)電器規(guī)則檢查為止。單片機(jī)系統(tǒng)的仿真是PROTEUS VSM的一大特色,同時(shí),本仿真系統(tǒng)將源代碼的編輯和編譯整合到同一設(shè)計(jì)環(huán)境中,這樣使得用戶可以在設(shè)計(jì)中直接編輯代碼,并且很容易地查看到用戶對(duì)源程序修改后對(duì)仿真結(jié)果的影響。源代碼通過(guò)編譯無(wú)誤后,就可以進(jìn)行仿真,在仿真過(guò)程中不斷完善電路和程序的功能最后達(dá)到本次設(shè)計(jì)的目的。 新建設(shè)計(jì)文檔設(shè)置編輯環(huán)境原理圖布線放置元器件電器檢查建立網(wǎng)絡(luò)表是否合格?結(jié)束Y存盤、報(bào)表輸出調(diào)整N開(kāi)始 圖5-2 原理圖設(shè)計(jì)流程圖5.2.1 程序的查錯(cuò)手段 單片機(jī)的應(yīng)用系統(tǒng)均需借助對(duì)應(yīng)的開(kāi)發(fā)系統(tǒng)(或裝置)進(jìn)行在線仿真,對(duì)應(yīng)用系統(tǒng)的軟,硬件進(jìn)行全面地檢測(cè)與調(diào)試。各種開(kāi)發(fā)系
45、統(tǒng)或裝置均提供以下查錯(cuò)手段。(1)單步執(zhí)行采用單步執(zhí)行操作可對(duì)應(yīng)用程序每步執(zhí)行一條指令,可逐條檢查這一段程序的執(zhí)行過(guò)程是否符合原設(shè)計(jì)要求??芍苯硬槌鲥e(cuò)誤所在。宏單步可執(zhí)行一段程序,如一步就可執(zhí)行完整個(gè)循環(huán)程序段。(2)斷點(diǎn)設(shè)置全速運(yùn)行可在程序有疑慮的地方設(shè)置斷點(diǎn),從設(shè)置的起始地址開(kāi)始,以全速或非全速方式向設(shè)定的斷點(diǎn)處運(yùn)行。如果這段程序無(wú)語(yǔ)法或邏輯上的錯(cuò)誤,則連續(xù)運(yùn)行到設(shè)置的斷點(diǎn)處停止運(yùn)行,返回監(jiān)控狀態(tài)。如果有錯(cuò)誤,則在錯(cuò)誤處停止運(yùn)行,如果進(jìn)入死循環(huán)或者程序跑飛,就會(huì)永不停止運(yùn)行。全速斷點(diǎn)運(yùn)行為檢查實(shí)時(shí)性及中斷響應(yīng)處理等提供了方便。(3)顯示器窗口檢查(4)實(shí)時(shí)跟蹤記錄除上述之外,還有以下功能:
46、l 符號(hào)化調(diào)試。在原程序中一般均以符號(hào)地址,標(biāo)號(hào)等出現(xiàn),通過(guò)匯編自動(dòng)進(jìn)行變換和調(diào)整,偏移量等均可自動(dòng)換算和填入。l 程序的運(yùn)行。l 自動(dòng)生成目標(biāo)代碼和固化。調(diào)試仿真電路圖見(jiàn)附錄2第6章 結(jié)論該設(shè)計(jì)通過(guò)對(duì)設(shè)計(jì)出來(lái)的板子進(jìn)行調(diào)試,驗(yàn)證了理論分析結(jié)果的正確性。此次課程設(shè)計(jì)經(jīng)過(guò)為期一段時(shí)間的不懈努力,達(dá)到了預(yù)期的要求。通過(guò)對(duì)整個(gè)系統(tǒng)的調(diào)試,可得到如下結(jié)論:本系統(tǒng)是一個(gè)可測(cè)量自行車?yán)锍毯推骄俣鹊淖孕熊嚴(yán)锍瘫?。理解了自行車?yán)锍碳捌淦骄俣鹊挠?jì)算。里程與速度分別根據(jù)以下公式求得:里程=脈沖總數(shù)×車輪周長(zhǎng)速度=車輪周長(zhǎng)/車輪轉(zhuǎn)一圈所用的時(shí)間通過(guò)實(shí)驗(yàn)證明本次設(shè)計(jì)符合設(shè)計(jì)的要求,能實(shí)現(xiàn)對(duì)里程、速度的顯
47、示,功能性較強(qiáng),具有一定的實(shí)踐意義,將會(huì)在許多場(chǎng)合應(yīng)用。不過(guò),這個(gè)設(shè)計(jì)還是有它的不足之處。首先就是電路設(shè)計(jì)有些復(fù)雜,元器件種類有點(diǎn)多,它們會(huì)耗費(fèi)掉一定的電力。另外就是對(duì)自行車的控制不是很全面,對(duì)測(cè)定自行車的瞬時(shí)速度等方面我們還未做到。第7章 謝辭本次畢業(yè)設(shè)計(jì)是在指導(dǎo)老師江老師的指導(dǎo)下完成的。忙碌了兩個(gè)多月,我的畢業(yè)設(shè)計(jì)課題也終將告一段落。編譯程序時(shí)點(diǎn)擊運(yùn)行,也基本達(dá)到預(yù)期的效果,虛榮的成就感在沒(méi)人的時(shí)候也總會(huì)冒上心頭。但由于能力和時(shí)間的關(guān)系,總是覺(jué)得有很多不盡人意的地方,可是,我又會(huì)有點(diǎn)自戀式地安慰自己:做一件事情,不必過(guò)于在乎最終的結(jié)果,可貴的是過(guò)程中的收獲。以此語(yǔ)言來(lái)安撫我尚沒(méi)平復(fù)的心。畢
48、業(yè)設(shè)計(jì),也許是我大學(xué)生涯交上的最后一個(gè)作業(yè)了。想籍次機(jī)會(huì)感謝在校期間二年以來(lái)給我?guī)椭乃欣蠋?、同學(xué),你們的友誼是我人生的財(cái)富,是我生命中不可或缺的一部分。我的畢業(yè)指導(dǎo)老師江老師,她不僅是我的任課老師,還是我的畢業(yè)指導(dǎo)教師,在課堂上教會(huì)了我很多知識(shí),畢業(yè)設(shè)計(jì)還不厭其煩的指導(dǎo),并提供了很多與該設(shè)計(jì)相關(guān)的重要信息,培養(yǎng)了我們對(duì)做事認(rèn)真嚴(yán)謹(jǐn),積極進(jìn)取的精神。這將非常有利于我們今后的學(xué)習(xí)和工作。在此表示衷心的感謝! 本次畢業(yè)設(shè)計(jì)還得到了課題組的各位老師的大力協(xié)助,在此一并表示我們的感謝!附錄2 硬件電路仿真圖參考文獻(xiàn)1張友德,趙志英,涂時(shí)亮. 單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)M.上海;復(fù)旦大學(xué)出版社,200
49、0.12-142勒達(dá). 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航M.北京:人民郵電出版社,2003.54-563薛鈞義,張彥斌. 單片微型計(jì)算機(jī)及其應(yīng)用D.西安:西安交通大學(xué)出版社,2001.104-1064田漢波.一種基于霍爾傳感器的直流電機(jī)轉(zhuǎn)速測(cè)量方法J.機(jī)械與電子,2007(1).31-335楊繼生.霍爾傳感器A44E在車輪測(cè)速中的應(yīng)用研究J.電子測(cè)量技術(shù),2009,(10).100-1026何立民.單片機(jī)應(yīng)用技術(shù)選編M.北京:北京航空航天大學(xué)出版社,1996.47-487蔡美琴.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用M.上海:高等教育出版社, 1992.54-578蘇偉斌.8051系列單片機(jī)應(yīng)用手冊(cè)M.
50、北京:科學(xué)出版社, 1997.76-799馬家辰.MCS-51單片機(jī)原理及接口技術(shù)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社 ,1997.123-12510藏海河.單片機(jī)原理及應(yīng)用M.重慶:重慶大學(xué)出版社,2004.35-3711劉文秀.單片機(jī)仿真J.中國(guó)學(xué)術(shù)期刊,2004,6(5).56-61.12楊雪梅.單片機(jī)軟件的抗干擾設(shè)計(jì)J.中國(guó)學(xué)術(shù)期刊,2006,3(8).18-25.13Joseph.A method of developing 80C552 microcontroller on MCS-51 deviceJ.East China Institute of Metallurgy,1998 ,
51、14(27).101-125.14Intel.Interfacing an MCS-51 Microcontronller to an 82527 CAN ControllerJ. Iondon Macmillan PRESS LTD,1996,5(80).32-40.15Philips Semiconductors.The IC-Bus Specification Version(2.1)J.USA, 2000,17(35).71-83.附錄1 硬件設(shè)計(jì)原理圖附錄2 硬件電路仿真圖附錄3 軟件程序#include <reg52.h>#include <string.h>
52、;#include <intrins.h>#define uchar unsigned char#define uint unsigned int sfr ISP_DATA=0xe2; sfr ISP_ADDRH=0xe3; sfr ISP_ADDRL=0xe4; sfr ISP_CMD=0xe5; sfr ISP_TRIG=0xe6; sfr ISP_CONTR=0xe7; sbit C_sound=P34;void delay(uint z);sbit K1=P10;sbit K2=P11;sbit K3=P12;sbit K4=P13;sbit P33=P33;sbit RS
53、=P37;sbit RW=P36;sbit E=P35;sbit busy=P27;unsigned int i,qsls;unsigned long sj,totallc,pjsd,qs2,ssji,sji,sd2,mxsd,mxsd2,tc;uchar *s,qs,as,bs,cs,gw,sw,bw,qw,ww,sww,ssj,MODE,tr1,tr2,number3=0;void EEPROM_ERASE(uchar addr_h)ISP_ADDRH=addr_h;附錄3 軟件程序ISP_ADDRL=0x00;EA=0;ISP_CONTR=0x81;ISP_CMD=0x03;ISP_TRIG=0x46;ISP_TRIG=0xb9;_nop_();_nop_();ISP_CONTR=0x00;ISP_CMD=0x00;ISP_TRIG=0x00;EA=1;void EEPROM_LXRD(uchar addr_h,uchar addr_l,uchar num,uchar *str)u
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版汽車銷售合同范本
- 2024陜西智能制造行業(yè)勞動(dòng)合同范本3篇
- 二零二五年度餐飲品牌加盟店合同范本3篇
- 2024版施工工程勞務(wù)分包合同
- 二零二五年高溫高壓管道材料購(gòu)銷合同2篇
- 專用倉(cāng)儲(chǔ)物流倉(cāng)庫(kù)建設(shè)施工協(xié)議模板版B版
- 二零二五版國(guó)有企業(yè)員工勞動(dòng)合同解除與經(jīng)濟(jì)補(bǔ)償協(xié)議3篇
- 二零二五版?zhèn)€人購(gòu)房貸款擔(dān)保與房屋權(quán)屬登記服務(wù)合同3篇
- 2024版代生產(chǎn)加工服務(wù)合同范本2篇
- 二零二五年度特色餐飲品牌加盟保密合同范本3篇
- 山西省2024年中考道德與法治真題試卷(含答案)
- 五年(2020-2024)高考地理真題分類匯編(全國(guó)版)專題12區(qū)域發(fā)展解析版
- 酒店會(huì)議室設(shè)備安裝及調(diào)試方案
- 2024年新疆(兵團(tuán))公務(wù)員考試《行測(cè)》真題及答案解析
- JGJ120-2012建筑基坑支護(hù)技術(shù)規(guī)程-20220807013156
- 英語(yǔ)代詞專項(xiàng)訓(xùn)練100(附答案)含解析
- GB/T 4732.1-2024壓力容器分析設(shè)計(jì)第1部分:通用要求
- 《采礦工程英語(yǔ)》課件
- NB-T31045-2013風(fēng)電場(chǎng)運(yùn)行指標(biāo)與評(píng)價(jià)導(dǎo)則
- NB-T+10488-2021水電工程砂石加工系統(tǒng)設(shè)計(jì)規(guī)范
- 天津市和平區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期6月期末歷史試題
評(píng)論
0/150
提交評(píng)論