畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自行車碼表設(shè)計(jì).doc

上傳人:good****022 文檔編號:116789817 上傳時間:2022-07-06 格式:DOC 頁數(shù):44 大小:529KB
收藏 版權(quán)申訴 舉報(bào) 下載
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自行車碼表設(shè)計(jì).doc_第1頁
第1頁 / 共44頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自行車碼表設(shè)計(jì).doc_第2頁
第2頁 / 共44頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自行車碼表設(shè)計(jì).doc_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自行車碼表設(shè)計(jì).doc》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自行車碼表設(shè)計(jì).doc(44頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、基于單片機(jī)的自行車碼表設(shè)計(jì)基于單片機(jī)的自行車碼表設(shè)計(jì)摘 要 隨著人們生活水平的不斷提高,自行車已經(jīng)不僅僅是運(yùn)輸、代步的工具,其輔助功能也變得越來越重要。因此,人們希望自行車的娛樂、休閑、鍛煉的功能越來越多,能帶來大家更多的健康與快樂。自行車碼表作為自行車的一大輔助工具迅速發(fā)展起來。科學(xué)、美觀、合理設(shè)計(jì)自行車?yán)锍瘫碛幸欢ǖ膶?shí)用價(jià)值。它能合理計(jì)算出速度及公里數(shù),使運(yùn)動者運(yùn)動適量,達(dá)到健康運(yùn)動與代步的最佳效果。碼表能盡可能真實(shí)地反映騎行狀況,便于車手及時調(diào)整自己的舉動。 本設(shè)計(jì)以AT89C51單片機(jī)為主控制芯片,128*64 LCD為顯示終端顯示自行車時速、里程等信息及系統(tǒng)設(shè)置等,統(tǒng)設(shè)置菜單能夠人工

2、設(shè)置設(shè)備安裝信息以提高測量精度,提供時速、里程、平均速度、時間等信息,時還附加一報(bào)警功能,當(dāng)行駛到預(yù)設(shè)里程和速度時,系統(tǒng)會自動報(bào)警,提醒已經(jīng)達(dá)到預(yù)設(shè)運(yùn)動量。 本設(shè)計(jì)主要包括自行車輪脈沖采集、鍵盤輸入和數(shù)據(jù)顯示等部分,主程序用C語言編寫,完成各項(xiàng)功能及數(shù)據(jù)的處理,通過Keil C來完成程序的編寫和下載,通過單片機(jī)實(shí)驗(yàn)開發(fā)板具體實(shí)現(xiàn)自行車碼表各項(xiàng)功能。關(guān)鍵詞 ST1101 AT89C51 LCD ZLG7290 報(bào)警THE DESIGN OF BASING ON MCU BICYCLE STOPWATCHABSTRACT With the improvement of life level, bi

3、ke is not only the transport tool but also its auxiliary function become more and more import. Therefore, people hope that the function of amusement, leisure and exercise of bike become more and more; and bring more health and happy. As one import auxiliary function of bike stopwatch develops quickl

4、y. The design of stopwatch is scientific, reasonable and beautiful; and it also has its practical value. Stopwatch can calculate speed and distance, reflects true exercise state; based on this exerciser can adjusts exercise strength so that it can reach the best effect of healthy exercise. This proj

5、ect takes AT89C51 MCU as main control chip and takes 128*64 LCD as terminal display which displays speed per hour, distance and system set. In the system set menu people can set install information to improve measure precision. Besides, it appends alerting function. When reach the distance and speed

6、 set in advance, the system will alert automatically to remind exerciser that he has reached exercise strength set in advance. This project mainly includes bicycle wheel pulse acquisition, keyboard input and data shows. The main program is compiled by C language which is to do initialization and key

7、board dealing; the compiler and download of program are done by Keil C, and the various functions of the bicycle are realized concretely by the SCM experiment development board.KEY WORDS ST1101 AT89C51 LCD ZLG7290 alert40基于單片機(jī)的自行車碼表設(shè)計(jì)目 錄摘要IABSTRACTII前言11 緒論21.1 開發(fā)背景及意義21.1.1 課題背景21.1.2 課題的意義21.2 Kei

8、l C 介紹21.3 設(shè)計(jì)內(nèi)容32 系統(tǒng)方案論證與分析42.1 系統(tǒng)方案42.1.1 系統(tǒng)概述42.1.2 系統(tǒng)原理42.2 采集信息部分以及傳感器的選擇52.3 主控芯片選擇62.4 數(shù)據(jù)處理并顯示模塊62.4.1 多位LED數(shù)碼管顯示62.4.2 128*64 LCD顯示72.5 鍵盤部分及所需芯片選擇82.5.1 鍵盤設(shè)計(jì)方案82.5.2 ZLG7290芯片特點(diǎn)93 系統(tǒng)硬件設(shè)計(jì)103.1 系統(tǒng)設(shè)計(jì)圖103.2 AT89C51主控芯片113.3 脈沖發(fā)生源133.3.1 輪脈沖檢測133.3.2 信號預(yù)處理電路133.3.3 E2PROM AT24C02 的應(yīng)用143.4 顯示模塊153

9、.4.1 顯示資料RAM(DDRAM)163.4.2 繪圖RAM(GDRAM)163.5 鍵盤及ZLG7290芯片173.5.1 芯片引腳及說明173.5.2 引腳功能184 系統(tǒng)軟件設(shè)計(jì)194.1 軟件系統(tǒng)設(shè)計(jì)194.2 液晶顯示204.2.1 液晶顯示程序流程204.2.2 顯示器具體指令214.3 鍵盤輸入部分24致 謝26參考文獻(xiàn)27附 錄28前言 隨著人們生活水平的逐漸提高,人們對于生活質(zhì)量的要求也日益增加,尤其是對健身的要求。自行車在中國普遍作為代步工具。而在國外,自行車卻是一項(xiàng)十分受歡迎的健身運(yùn)動。因?yàn)樗鼰o污染,價(jià)位低廉,老少皆宜。而且在運(yùn)動過程中可以充分享受到大自然,對于忙碌的

10、現(xiàn)代人來說,無疑是一種較好的放松方法。在中國這種情況也在慢慢發(fā)生變化。因此愛好自行車運(yùn)動的人十分學(xué)要一款能測速的裝置,以知道自己的運(yùn)動情況。并根據(jù)外界條件,如溫度,風(fēng)速等進(jìn)行適當(dāng)?shù)恼{(diào)節(jié),已達(dá)到最佳運(yùn)動的效果。而對于自行車運(yùn)動員來說,最為關(guān)心的莫過于一段時間內(nèi)的訓(xùn)練效果。因?yàn)榻叹氁鶕?jù)一段時間內(nèi)運(yùn)動員的訓(xùn)練效果進(jìn)行評估,從而進(jìn)行適當(dāng)?shù)恼{(diào)整已使運(yùn)動員達(dá)到最佳的狀態(tài)。因此需要一種裝置進(jìn)行對訓(xùn)練中各種參數(shù)的測定記錄。 碼表主要針對那些業(yè)余愛好者,他們運(yùn)動一般會選擇晴朗涼爽的天氣進(jìn)行運(yùn)動,所以溫度和風(fēng)速對運(yùn)動員幾乎沒影響,只要能精確的測量速度和里程以及時間即可。并能在運(yùn)動員達(dá)到預(yù)期運(yùn)動量后能準(zhǔn)確提醒運(yùn)動

11、員已達(dá)到預(yù)期要求。 本設(shè)計(jì)以AT89C51單片機(jī)為主控芯片,把霍爾傳感器傳來的脈沖信號進(jìn)行處理,預(yù)算,精確的計(jì)算出行駛的速度和里程,然后在傳送給LCD顯示器,從LCD上顯示出運(yùn)動的一系列數(shù)據(jù),而且還可以通過顯示器進(jìn)行人機(jī)對話,可以通過顯示器和鍵盤進(jìn)行一些參數(shù)的設(shè)置,比如像將要安裝的自行車的輪圈的半徑設(shè)置,以及預(yù)設(shè)運(yùn)動量的和時間的設(shè)置。這些都需要通過顯示器進(jìn)行設(shè)置,其中的時間是用芯片內(nèi)自帶的計(jì)數(shù)器進(jìn)行計(jì)數(shù)的。 本設(shè)計(jì)是以AT系列單片機(jī)為主控制芯片,采用霍爾元件檢測小車行駛速度。程序用C語言編寫,由主程序、外部中斷服務(wù)程序、定時器中斷服務(wù)程序、延時子程序等模塊組成。主程序主要完成程序的初始化和鍵盤

12、處理,外部中斷服務(wù)程序由測量、計(jì)算、讀數(shù)等部分組成。1 緒論1.1 開發(fā)背景及意義1.1.1 課題背景 隨著人們生活水平的不斷提高,自行車已經(jīng)不僅僅是運(yùn)輸、代步的工具,其輔助功能也變得越來越重要。因此,人們希望自行車的娛樂、休閑、鍛煉的功能越來越多,能帶來大家更多的健康與快樂。在這個背景下,自行車?yán)锍瘫碜鳛樽孕熊嚨囊淮筝o助工具迅速發(fā)展起來.科學(xué)、美觀、合理設(shè)計(jì)自行車?yán)锍瘫碛幸欢ǖ膶?shí)用價(jià)值.它能合理計(jì)算出速度及公里數(shù),使運(yùn)動者運(yùn)動適量,達(dá)到健康運(yùn)動與代步的最佳效果. 碼表能盡可能真實(shí)地反映騎行狀況,便于車手及時調(diào)整自己的舉動,也便于收集騎行數(shù)據(jù)供自己或隊(duì)友們進(jìn)行參考和對比。 自行車碼表一般由安裝

13、于前車圈鋼條上的感應(yīng)磁鐵、前叉上的感應(yīng)器、順著前叉蜿蜒而上的連接線、置于握把上面的碼表座和座上面的碼表。碼表的工作原理是:車圈旋轉(zhuǎn)時感應(yīng)器捕捉到感應(yīng)磁鐵帶來的信息,通過連接線傳輸至碼表,碼表對此進(jìn)行處理后計(jì)算出時速、里程等信息并顯示。它能夠讓我們比較精確的知道自己的當(dāng)前速度、騎行時間、單次里程、總里程、平均速度、最高速度等。1.1.2 課題的意義本設(shè)計(jì)就是針對普通運(yùn)動員在運(yùn)動中不能很好的把握自己達(dá)到了多大的速度,行駛了多遠(yuǎn)的距離而設(shè)計(jì)的。以往的碼表只能進(jìn)行測量速度,里程,時間,溫度等數(shù)據(jù),雖然能實(shí)現(xiàn)很多的功能,但是其中的一些功能不適合自行車業(yè)余愛好者,浪費(fèi)資源,而且性價(jià)比也低,而且也不能很好的

14、把握當(dāng)前運(yùn)動量,從而不能很好的實(shí)現(xiàn)娛樂和鍛煉的效果。而本設(shè)計(jì)卻能實(shí)現(xiàn)娛樂和鍛煉的雙重效果,而且相對業(yè)余愛好者性價(jià)比更高。1.2 Keil C 介紹 Keil C51 Vision3集成開發(fā)環(huán)境是Keil Software,Inc/Keil Elektronik GmbH開發(fā)的基于80C51內(nèi)核的微處理器軟件開發(fā)平臺,內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開發(fā)工具,可以完成從工程建立到管理、編譯、鏈接、目標(biāo)代碼的生成、軟件仿真、硬件仿真等完整的開發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平,而且可以附加靈活的控制選項(xiàng),在開發(fā)大型項(xiàng)目時非常理想。 Keil C51集成開發(fā)環(huán)境的主要功能有

15、以下幾點(diǎn): (1) Vision3是一個集成開發(fā)環(huán)境,它將項(xiàng)目管理、源代碼編輯和程序調(diào)試等組合在一個功能強(qiáng)大的環(huán)境中。 (2) C51國際準(zhǔn)化C交叉編譯器,從C源代碼產(chǎn)生可重定位的目標(biāo)模塊。 (3) A51宏匯編器,從80C51匯編源代碼產(chǎn)生可重定位的目標(biāo)模塊。 (4) BL51鏈接器/定位器,組合由C51和A51產(chǎn)生的可重定位的目標(biāo)模塊,生成絕對目標(biāo)模塊。 (5) LIB51庫管理器,從目標(biāo)模塊生成連接器可以使用的庫文件。 (6) OH51目標(biāo)文件至HEX格式的轉(zhuǎn)換,從絕對目標(biāo)模塊生成Hex文件。 (7) RTX-51實(shí)時操作系統(tǒng),簡化了復(fù)雜的實(shí)時應(yīng)用軟件項(xiàng)目的設(shè)計(jì)。 此軟件可以完成從工程建

16、立到管理、編譯、鏈接、目標(biāo)代碼的生成、軟件仿真、硬件仿真等完整的開發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平。支持在線仿真,純軟件信仿真,多種調(diào)試方式(單步、全速等),其應(yīng)用相對簡單,很容易就可以掌握該軟件的基本操作用法,可以用C語言和匯編兩種語言進(jìn)行編程,還可混編,支持C語言的編程對初學(xué)者提供了很大方便,在調(diào)試過程中,可通過相關(guān)工具,直接查看變量的即時結(jié)果,目標(biāo)代碼的生成也容易。1.3 設(shè)計(jì)內(nèi)容1. 以AT89C51單片機(jī)為主控制芯片。2. 以128*64 LCD為顯示終端顯示自行車時速、里程等信息及系統(tǒng)設(shè)置等系統(tǒng)設(shè)置菜單。3. 能夠人工設(shè)置設(shè)備安裝信息以提高測量精度

17、,提供時速、里程、平均速度、時間等信息。4. 能夠預(yù)設(shè)運(yùn)動量(比如預(yù)設(shè)速度,里程),實(shí)現(xiàn)報(bào)警功能。2 系統(tǒng)方案論證與分析2.1 系統(tǒng)方案2.1.1 系統(tǒng)概述 系統(tǒng)總體設(shè)計(jì)框圖如圖2-1所示。本系統(tǒng)由信號預(yù)處理電路、單片機(jī)AT89C51、128*64LCD顯示模塊、鍵盤控制和系統(tǒng)軟件組成。其中信號預(yù)處理電路包含信號放大、波形變換和波形整形。對待測信號進(jìn)行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機(jī)相連的TTL信號;通過單片機(jī)的設(shè)置可使內(nèi)部定時器T1對脈沖輸入引腳T0進(jìn)行控制,這樣能精確地算出加到T0引腳的單位時間內(nèi)檢測到的脈沖數(shù);設(shè)計(jì)中速度顯示采

18、用LCD模塊,通過速度換算得來的里程數(shù)采用I2C總線并通過E2PROM來存儲,既節(jié)省了所需單片機(jī)的口線和外圍器件,同時也簡化了顯示部分的軟件編程。鍵盤控制信號放大器數(shù)字存儲電路單片機(jī)LCD顯示整形電路圖2-1 系統(tǒng)總體設(shè)計(jì)框圖2.1.2 系統(tǒng)原理 該設(shè)計(jì)能實(shí)時地將所測的速度與累計(jì)里程數(shù)顯示出來,主要是將傳感器輸入到單片機(jī)的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實(shí)時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機(jī)前應(yīng)對其進(jìn)行放大整形,然后通過單片機(jī)計(jì)算出速度和里程,再將所得的數(shù)據(jù)存儲到串口數(shù)據(jù)存儲器,并由LCD 顯示模塊顯示所測速度與里程。本設(shè)計(jì)的里程數(shù)的算法是一種

19、大概的算法(假設(shè)在一定時間內(nèi)自行車是勻速行進(jìn),平均速度與時間的乘積即為里程數(shù))。設(shè)計(jì)時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計(jì)用測量脈沖頻率來計(jì)算速度,因而具有較高的測速精度。在計(jì)算里程時取了自行車的理想狀態(tài)。本設(shè)計(jì)的速度和里程值采用8 位顯示,并包含兩個小數(shù)位。2.2 采集信息部分以及傳感器的選擇 信息采集部分可以選用的傳感器種類很多,例如磁感應(yīng)傳感器,光電感應(yīng)傳感器,金屬傳感器等,而考慮到實(shí)際可操作性以及設(shè)計(jì)要求方面,本設(shè)計(jì)選用的傳感器為光電傳感器。 霍爾傳感器由永久磁鐵和開關(guān)型霍爾集成電路組成?;魻柤呻娐酚苫魻栐?、放大器、整形電路及集電極開路輸出等部分組成,其功能是把磁信號轉(zhuǎn)換成電

20、信號,霍爾元件為磁敏元件,當(dāng)垂直于霍爾元件的磁場強(qiáng)度發(fā)生變化時,其兩端的電壓就會發(fā)生變化,經(jīng)放大和整形即可輸出脈沖電信號。ST1101采用高輸出的紅外光電二極管與高靈敏度光敏晶體管組成,其特點(diǎn)是性能可靠,體積小,結(jié)構(gòu)簡單,廣泛應(yīng)用于碼表,其主要參數(shù)如表2-1所示。表2-1 主要參數(shù)輸入正向電流IF50mA反向電壓Vr6v耗散功率P75mW輸出集-射電壓Vceo25V射-集電壓Veco6V集電極功耗Pc50mW2.3 主控芯片選擇碼表主要以單片機(jī)為主控芯片,而能實(shí)現(xiàn)其功能的芯片卻有很多,本設(shè)計(jì)選用的是AT89C51。AT89C51是一個低電壓,高性能CMOS 8位單片機(jī),帶有4K字節(jié)的可反復(fù)擦寫

21、的程序存儲器(PENROM)和128字節(jié)的存取數(shù)據(jù)存儲器(RAM),這種器件采用ATMEL公司的高密度、不容易丟失存儲技術(shù)生產(chǎn),并且能夠與MCS-51系列的單片機(jī)兼容。片內(nèi)含有8位中央處理器和閃爍存儲單元,有較強(qiáng)的功能的AT89C51單片機(jī)能夠被應(yīng)用到控制領(lǐng)域中。AT89C51提供以下的功能標(biāo)準(zhǔn):4K字節(jié)閃爍存儲器,128字節(jié)隨機(jī)存取數(shù)據(jù)存儲器,32個I/O口,2個16位定時/計(jì)數(shù)器,1個5向量兩級中斷結(jié)構(gòu),1個串行通信口,片內(nèi)震蕩器和時鐘電路。另外,AT89C51還可以進(jìn)行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機(jī)存取數(shù)據(jù)存儲器、定時/計(jì)數(shù)器、

22、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機(jī)存取數(shù)據(jù)存儲器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個復(fù)位。2.4 數(shù)據(jù)處理并顯示模塊2.4.1 多位LED數(shù)碼管顯示 一、數(shù)碼管動態(tài)顯示有多位LED數(shù)碼管顯示時,為了簡化電路,降低成本,將所有位的段選線并聯(lián)在一起,由FPGA的一個8位的I/O口控制,而每一位LED數(shù)碼管的公共陰極或者公共陽極分別由FPGA的其它的I/O口線控制。對于8位的LED數(shù)碼管顯示,可用采用程序控制的方法,通過不斷的移位發(fā)送選中要顯示的數(shù)碼管??梢娫谡麄€顯示模塊中至少要9根I/O口線。因?yàn)槭莿討B(tài)顯示,所以需要定時刷新LED數(shù)碼管。為了穩(wěn)定的顯示,在多位L

23、ED數(shù)碼管顯示時需要有很高的數(shù)據(jù)刷新頻率,否則會導(dǎo)致顯示效果有些閃爍。二、數(shù)碼管靜態(tài)顯示在多位LED數(shù)碼管顯示時,為了能夠顯示效果較好,簡化電路,把每一位LED數(shù)碼管的公共陰極或公共陽極通過串行限流電阻后接地或者接+5V,而每位LED數(shù)碼管的段選線(a、b、c、d、e、f、h)與一片74LS164的4位并行輸出口相連接。因?yàn)镕PGA是并行工作的,故此時FPGA同時發(fā)送36個數(shù)據(jù)用于鎖定9個顯示的數(shù)碼管。這樣不用通過不斷地刷新來改變顯示數(shù)據(jù),也沒有延時,數(shù)碼管也不會因?yàn)轭l率低而閃爍,只有FPGA發(fā)送的數(shù)據(jù)改變時數(shù)碼管才發(fā)生相應(yīng)改變。2.4.2 128*64 LCD顯示一、128*64LCD串口方

24、式顯示當(dāng)PSB腳接低電位時,模塊將進(jìn)入串行模式。從一個完整的串行傳輸流程來看,一開始先傳輸起始字節(jié),它需先接收到五個連續(xù)的1(同步位字符串),在起始字節(jié),此時傳輸計(jì)數(shù)將被重置并且串行傳輸將被同步,再跟隨的兩位字符串分別指定傳輸方向位(RW)及寄存器選擇位(RS),最后第八位則為0。在接收到同步位及RW和RS資料的起始字節(jié)后,每一個八位的指令將被分為兩個字節(jié)接收到:高4位(DB7DB4)的指令資料將會被放在第一個字節(jié)的LSB(最低有效位)部分,而低4位(DB3DB0)的指令資料則會被放在第二個字節(jié)的LSB部分,至于相關(guān)的另四位則都為0。二、128*64LCD并口方式顯示當(dāng)PSB腳(OCMJ4X1

25、6A/B)接高電位時,模塊將進(jìn)入并行模式,在并列模式下可由指令DL FLAG 來選擇8位或4位接口,主控制系統(tǒng)將配合(RS , RW , E , DB0DB7)來達(dá)成傳輸動作。從一個完整的流程來看,當(dāng)下設(shè)定地址指令后(CGRAM,DDRAM)若要讀取數(shù)據(jù)時需先DUMMY READ一次,才會讀取到正確數(shù)據(jù),第二次讀取時則不需DUMMY READ ,除非再進(jìn)行下設(shè)定地址指令才需再次DUMMY READ。在4位傳輸模式中,每一個八位的指令或數(shù)據(jù)都將被分為兩個字節(jié)動作:較高4位(DB7DB4)的資料將會被放在第一個字節(jié)的(DB7DB4)部分,而較低4位(DB3DB0)的資料則會被放在第二個字節(jié)的(DB

26、7DB4)部分,至于相關(guān)的另四位則在4位傳輸模式中DB3DB0接口未使用。鑒于串口口傳輸方式可以大大地減少系統(tǒng)的I/O口使用量,并且可以提高系統(tǒng)的準(zhǔn)確性,故采用串口傳輸方式。本設(shè)計(jì)采用的是128*64LCD液晶顯示。主要參數(shù):(1)工作電壓(VDD):4.55.5V;(2)邏輯電平:2.75.5V;(3)LCD驅(qū)動電壓(Vo):07V;(4)工作溫度(Ta):055(常溫)/-2075(寬溫);(5)保存溫度(Tstg):-1065(常溫)/-3085(寬溫)。2.5 鍵盤部分及所需芯片選擇2.5.1 鍵盤設(shè)計(jì)方案鍵盤在單片機(jī)應(yīng)用系統(tǒng)中,實(shí)現(xiàn)輸入數(shù)據(jù)、傳送命令的功能,是人工干預(yù)的主要手段。鍵盤

27、分兩大類:編碼鍵盤和非編碼鍵盤。編碼鍵盤:由硬件邏輯電路完成必要的鍵識別工作與可靠性措施。每按一次鍵,鍵盤自動提供被按鍵的讀數(shù),同時產(chǎn)生一選通脈沖通知微處理器,一般還具有反彈跳和同時按鍵保護(hù)功能。這種鍵盤易于使用,但硬件比較復(fù)雜,對于主機(jī)任務(wù)繁重之情況。非編碼鍵盤:只簡單地提供鍵盤的行列與矩陣,其他操作如鍵的識別,決定按鍵的讀數(shù)等僅靠軟件完成,故硬件較為簡單,但占用CPU較多時間。有:獨(dú)立式按鍵結(jié)構(gòu)、矩陣式按鍵結(jié)構(gòu)。首先,確定鍵盤編碼方案:采用編碼鍵盤或非編碼鍵盤。隨后,確定鍵盤工作方式:采用中斷或查詢方式輸入鍵操作信息。然后,設(shè)計(jì)硬件電路。非編碼鍵盤系統(tǒng)中,鍵閉合和鍵釋放的信息的獲取,鍵抖動

28、的消除,鍵值查找及一些保護(hù)措施的實(shí)施等任務(wù),均由軟件來完成。鍵盤是單片機(jī)系統(tǒng)設(shè)計(jì)中一種主要的信息輸入接口,合理的設(shè)計(jì),不僅可以節(jié)省系統(tǒng)的設(shè)計(jì)成本,更可使儀器設(shè)備的操作變得更為簡單、方便,很大程度上提高系統(tǒng)綜合性能。本設(shè)計(jì)中,碼表要設(shè)置很多參數(shù),所以需要輸入很多數(shù)據(jù),所以本設(shè)計(jì)中的鍵盤部分是選用的ZLG7290 I2接口鍵盤。鍵盤只需要12個,分別為09十個數(shù)和小數(shù)點(diǎn)以及確認(rèn)鍵。2.5.2 ZLG7290芯片特點(diǎn) 選用的ZLG7290具有以下特點(diǎn):(1) I2C串行接口,提供鍵盤中斷信號,方便與處理器接口;(2) 可驅(qū)動8位共陰數(shù)碼管或64只獨(dú)立LED和64個按鍵;(3) 可控掃描位數(shù)可控任一數(shù)

29、碼管閃爍;(4) 提供數(shù)據(jù)譯碼和循環(huán),移位,段尋址等控制;(5) 8個功能鍵,可檢測任一鍵的連擊次數(shù);(6) 無需外接元件即直接驅(qū)LED,可擴(kuò)展驅(qū)動電流和驅(qū)動電壓;(7) 提供工業(yè)級器件,多種封裝形式PDIP24,SO24。 3 系統(tǒng)硬件設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)圖圖3-1 系統(tǒng)電路圖128*64LCD顯示器ZLG7920芯片AT89C51主控芯片喇叭傳感器鍵盤AT24C02圖3-2 系統(tǒng)框圖系統(tǒng)電路圖如圖3-1所示,系統(tǒng)框圖如圖3-2所示。本設(shè)計(jì)采用的是128*64液晶顯示器,以ZLG7290作為控制芯片的鍵盤,以AT89C51作為系統(tǒng)的主控芯片。3.2 AT89C51主控芯片AT89C51通用寄

30、存器如下:ACC:最重要的暫存器,運(yùn)算資料轉(zhuǎn)移都通過ACC。PC:程序計(jì)數(shù)器,記載著程序下一個待執(zhí)指令位址。B暫存器:用于乘法,除法指令的輔助暫存器。PSW程序狀態(tài)字組:記錄程序運(yùn)作時,CPU各種狀態(tài)。SP堆棧指示器:重置(RESET)時,堆棧指示器設(shè)為07H。DPTR數(shù)據(jù)指針暫存器:16位元暫存器,由DPH、DPL兩個8位元暫存器阻成。工作寄存器:共有 RB0、RB1、RB2、RB3四組工作寄存器。每個寄存器組有8個8位寄存器,分別為R0、R1、R2、R3、R4、R5、R6、R7。AT89C51最小系統(tǒng)電路圖如圖3-3所示。圖3-3 最小系統(tǒng)電路圖數(shù)據(jù)存儲結(jié)構(gòu)如表3-1所示:表3-1 系統(tǒng)結(jié)

31、構(gòu)存儲結(jié)構(gòu)FFH-80H8051特殊功能暫存器(SFR)或是8052的間接定址資料區(qū)7FH-30H使用者的一般資料存放區(qū)(亦可透過SP設(shè)定,存放堆疊資料)20H-2FH可位元定址區(qū)(20.0-20.7.2F.0.-2F.7)10H-1FH暫存器庫 RB3(R0-R7)10H-17H暫存器庫 RB2(R0-R7)08H-0FH暫存器庫 RB1(R0-R7)00H-07H暫存器庫 RB0(R0-R7)3.3 脈沖發(fā)生源3.3.1 輪脈沖檢測本設(shè)計(jì)采用了ST1101紅外光電傳感器,進(jìn)行非接觸式檢測。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當(dāng)沒有物體擋在

32、中間時則輸出為高電平,從而形成一個脈沖。該系統(tǒng)在自行車后輪的軸處保持著與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個鋁盤,在這個鋁盤的邊沿處挖出若干個圓形過孔,把傳感器的檢測部分放在圓孔的圓心位置。每當(dāng)鋁盤隨著后輪旋轉(zhuǎn)的時候,傳感器將向外輸出若干個脈沖。把這些脈沖通過一系列的波形整形成單片機(jī)可以識別的TTL電平,即可算出輪子即時的轉(zhuǎn)速。鋁盤的圓孔的個數(shù)決定了測量的精度,個數(shù)越多,精度越高。這樣就可以在單位時間內(nèi)盡可能多地得到脈沖數(shù)從而避免了因?yàn)閮蓚€過孔之間的距離過大,而車子正好在過孔之間或者是在下個過孔之前停止了,造成較大的誤差。本設(shè)計(jì)在鋁盤過孔的設(shè)計(jì)上采用11個過孔,從而留下了10個同等的間距這樣在以

33、后的軟件設(shè)計(jì)中能夠較為方便的計(jì)算出速度里程。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖3-4所示。圖3-4 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)3.3.2 信號預(yù)處理電路如圖3-5所示,系統(tǒng)的信號預(yù)處理電路由二級電路構(gòu)成,第一級是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng)輸入信號為零或負(fù)電壓時,三極管截止,電路輸出高電平;而當(dāng)輸入信號為正電壓時,三極管導(dǎo)通,此時輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測量任意方波信號的頻率,也可以測量正弦波信號的頻率。由于放大器的放大功能降低了對待測信號的幅度要求,因此,系統(tǒng)能對任意大于0.5V 的正弦波和脈沖

34、信號進(jìn)行測量。預(yù)處理電路的第二級采用帶施密特觸發(fā)器的反相器DM74LS14 來把放大器生成的單相脈沖轉(zhuǎn)換成與COMS 電平相兼容的方波信號(如圖3-6所示),同時將輸出信號加到單片機(jī)的P3.4口上。利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正反饋?zhàn)饔?,可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于VT+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號。從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當(dāng)傳輸線上的電容較大時,波形的上升沿將明顯變壞;當(dāng)傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時,在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當(dāng)其他脈沖信號通過導(dǎo)線間的

35、分布電容或公共電源線疊加到矩形脈沖信號時,信號上將出現(xiàn)附加的噪聲。無論出現(xiàn)上述的那一種情況,都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的VT+ 和VT- 設(shè)置得合適,均能受到滿意的整形效果。圖3-5 信號預(yù)處理電路圖圖 圖3-6 信號處理波形圖3.3.3 E2PROM AT24C02 的應(yīng)用AT24C02是CMOS 2048位串行E2PROM,在內(nèi)部組織成256 8位。AT24C02的特點(diǎn)是具有允許在簡單的二線總線上工作的串行接口和軟件協(xié)議。如圖3-7所示,在本設(shè)計(jì)中用芯片AT24C02的SDA端與單片機(jī)的P3.7 口相連,SCL端與單片機(jī)的P3.5口相連。

36、因?yàn)樵谶@個I2C總線上只有一個器件,所以把AT24C02的地址設(shè)為000,即把A0、A1、A2都接地。單片機(jī)計(jì)算出來的里程數(shù)據(jù)通過SDA、SCL向AT24C02資料傳輸與接口時序。當(dāng)存儲數(shù)據(jù)時,單片機(jī)首先向AT24C02發(fā)送寫信號,當(dāng)確認(rèn)后從單片機(jī)內(nèi)部的數(shù)據(jù)儲存單元提取數(shù)據(jù)然后向AT24C02的內(nèi)部地址傳送數(shù)據(jù)。當(dāng)顯示里程時,單片機(jī)首先向AT24C02發(fā)送讀信號,然后確認(rèn)后,單片機(jī)從AT24C02內(nèi)部的地址向單片機(jī)的讀出單元字節(jié)讀出數(shù)據(jù),供顯示所用。圖3-7 AT24C02與單片機(jī)的接口電路圖3.4 顯示模塊 顯示器電路原理圖如圖3-8所示。圖3-8 顯示器電路原理圖3.4.1 顯示資料RAM

37、(DDRAM) 顯示數(shù)據(jù)RAM 提供64*2 個字節(jié)的空間,最多可以控制4行16字(64個字)的中文字型顯示,當(dāng)寫入顯示資料RAM時,可以分別顯示CGROM,HCGROM 與CGRAM 的字型;本系列模塊可以顯示三種字型, 分別是半寬的HCGROM 字型、 CGRAM 字型及中文CGROM 字型, 三種字型的選擇, 由在DDRAM 中寫入的編碼選擇,在0000H0006H 的編碼中將選擇CGRAM 的自定字型,02H7FH 的編碼中將選擇半寬英數(shù)字的字型,至于A1 以上的編碼將自動的結(jié)合下一個字節(jié),組成兩個字節(jié)的編碼達(dá)成中文字型的編碼BIG5(A140D75F) GB(A1A0F7FF)。詳細(xì)

38、各種字型編碼如下:一、顯示半寬字型:將8位資料寫入DDRAM中,范圍為02H7FH的編碼。二、顯示CGRAM字型:將16位資料寫入DDRAM中,總共有0000H,0002H,0004H,0006H 四種編碼。 三、顯示中文字形:將16位資料寫入DDRAM中,范圍為A140HD75FH的編碼(BIG5),A1A0HF7FFH的編碼(GB)。將16位資料寫入DDRAM方式為透過連續(xù)寫入兩個字節(jié)的資料來完成,先寫入高字節(jié)(D15D8)再寫入低字節(jié)(D7D0)。3.4.2 繪圖RAM(GDRAM)繪圖顯示RAM 提供64*32個字節(jié)的記憶空間(由擴(kuò)充指令設(shè)定繪圖RAM地址),最多可以控制256x64點(diǎn)

39、的二維繪圖緩沖空間, 在更改繪圖RAM時,由擴(kuò)充指令設(shè)定GDRAM地址先設(shè)垂直地址再設(shè)水平地址(連續(xù)寫入兩個字節(jié)的數(shù)據(jù)來完成垂直與水平的坐標(biāo)地址),再寫入兩個8位的資料到繪圖RAM,而地址計(jì)數(shù)器(AC)會自動加一。整個寫入繪圖RAM的步驟如下:一、先將垂直的字節(jié)坐標(biāo)(Y)寫入繪圖RAM地址;二、再將水平的字節(jié)坐標(biāo)(X)寫入繪圖RAM地址;三、將D15D8寫入到RAM中(寫入第一個Bytes);四、將D7D0寫入到RAM中(寫入第二個Bytes)。3.5 鍵盤及ZLG7290芯片3.5.1 芯片引腳及說明 采用24引腳封裝引腳圖3-9所示,引腳說明如表3-2所示。圖3-9 ZLG7290芯片管腳

40、圖表3-2 ZLG7290芯片管腳說明引腳號引腳名稱引腳屬性引腳描述13,12,21,22,3 6Dig7 Dig0輸入/輸出LED顯示位驅(qū)動及鍵盤掃描線10 7,2,1,24,23SegH SegA輸入/輸出LED顯示位驅(qū)動及鍵盤掃描線20SDA輸入/輸出I2C總線接口數(shù)據(jù)/地址線19SCL輸入/輸出I2C總線接口時鐘線14/INT輸出中斷輸出端,低電平有效15、RES輸入復(fù)位輸入端,低電平有效17OSC1輸入連接晶體以產(chǎn)生內(nèi)部時鐘18OSC2輸出16VCC電源電源正(3.35 .5V)11GND電源電源地3.5.2 引腳功能ZLG7290可采樣64個按鍵或傳感器,檢測每個按鍵的連擊次數(shù)。其

41、基本功能如下:一、鍵盤去抖動處理 當(dāng)鍵被按下和放開時,可能會出現(xiàn)電平狀態(tài)反復(fù)變化,鍵盤抖動。若不作處理會引起按鍵盤命令錯誤,所以要進(jìn)行去抖動處理,讀取穩(wěn)定的鍵盤狀態(tài)為準(zhǔn)。 二、雙鍵互鎖處理 當(dāng)有兩個以上按鍵被同時按下時,ZLG7290只采樣優(yōu)先級高的按鍵(優(yōu)先順序?yàn)镾1S2S64,如同時按下S2和S18時采樣到S2)。三、連擊鍵處理 當(dāng)某個按鍵按下時,輸出一次鍵值后,如果該按鍵還未釋放,該鍵值連續(xù)有效,就像連續(xù)壓按該鍵一樣,這種功能稱為連擊連擊。四、功能鍵處理 功能鍵能實(shí)現(xiàn)2個以上按鍵同時按下來擴(kuò)展按鍵數(shù)目或?qū)崿F(xiàn)特殊功能。如圖3-10為鍵盤電路原理圖:圖3-10 鍵盤原理圖從上圖可以看出本設(shè)計(jì)

42、共選用了12個鍵盤,從上到下,從左到右分別為1到9,0,小數(shù)點(diǎn),和設(shè)置鍵。4 系統(tǒng)軟件設(shè)計(jì)4.1 軟件系統(tǒng)設(shè)計(jì)開始初始化數(shù)據(jù)讀出里程顯示頻率測量速度里程計(jì)算是報(bào)警報(bào)警是否否速度顯示速度顯示模塊圖4-1 系統(tǒng)流程圖系統(tǒng)流程圖如圖4-1所示。待測信號經(jīng)預(yù)處理電路后加至單片機(jī)的P3.4(T0)引腳可為單片機(jī)測量信號頻率提供有效的輸入信號。單片機(jī)通過檢測P3.4引腳電平來決定是否啟動測量頻率程序。當(dāng)該引腳為高電平時,系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時才開始測頻率。我們可從硬件的鋁盤上知道兩個過孔之間在圓周上的距離。而這個距離M正好為計(jì)算速度和距離起到了基本的數(shù)據(jù)儲備作用。同時可以從TL0寄存

43、器知道在兩秒內(nèi)單片機(jī)檢測到的N個脈沖。而MN所得到的正是這兩秒內(nèi)鋁盤在圓周上所走得距離S。(此時假設(shè)在這個兩秒內(nèi)車子是勻速前進(jìn)的),距離S除以2秒的時間,就可以大概的算出這2秒內(nèi)鋁盤的線速度。再根據(jù)鋁盤與自行車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線速度的關(guān)系,從而算出自行車在這2秒的平均速度。至于里程的計(jì)算,根據(jù)速度計(jì)算的相加即可得到目前的總里程數(shù)。通過單片機(jī)計(jì)算出來的速度和里程的數(shù)據(jù),輸出給顯示模塊。總里程數(shù)的顯示是設(shè)定出現(xiàn)在自行車開動,單片機(jī)開機(jī)經(jīng)過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運(yùn)行了多少公里了。而速度的顯示則是在計(jì)算出速度里程后立刻顯示出來,體現(xiàn)實(shí)

44、時性。4.2 液晶顯示4.2.1 液晶顯示程序流程液晶顯示是本設(shè)計(jì)中比較重要的部分,因?yàn)樵O(shè)計(jì)的最終沒目的是要顯示行駛的里程、速度、時間等信息,以及安裝信息和預(yù)設(shè)運(yùn)動量的設(shè)置都要通過本部分來完成。所以本部分的設(shè)計(jì)好壞也將影響到整個設(shè)計(jì)的最終結(jié)果。漢字字符顯示地址如表4-1所示。表4-1 DDRAM地址表X坐標(biāo)Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH程序流程圖如圖4-2所示。設(shè)置下一個地址字?jǐn)?shù)是否超過8否是待

45、命、脫離睡眠開顯示設(shè)置顯示地址寫入數(shù)據(jù)開始初始化,功能設(shè)定圖4-2 顯示控制流程圖4.2.2 顯示器具體指令1. 指令代碼為(01H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLL CODE: 功能:將 DDRAM填滿”20H”(空格),把DDRAM地址計(jì)數(shù)器調(diào)整為“00H”,重新進(jìn)入點(diǎn)設(shè)定將I/D設(shè)為”1”,光標(biāo)右移AC加1。2. 地址歸位(02H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX CODE: 功能:把DDRAM地址計(jì)數(shù)器調(diào)整為“00H”,光標(biāo)回原點(diǎn),該功能不影響顯示DDRAM。3. 點(diǎn)設(shè)定(04H/05H/06H/0

46、7H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS CODE:功能:設(shè)定光標(biāo)移動方向并指定整體顯示是否移動。I/D=1光標(biāo)右移,AC自動加1;I/D=0光標(biāo)左移,AC自動減1;SH=1且DDRAM為寫狀態(tài),整體顯示移動,方向由I/D決定(I/D=1左移,I/D=0右移);SH=0或DDRAM為讀狀態(tài),整體顯示不移動。4. 顯示狀態(tài) 開/關(guān)(08H/0CH/ODH/0EH/0FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB CODE: 功能:D=1:整體顯示ON;D=0:整體顯示OFF;C=1:光標(biāo)顯示ON;C=0:光標(biāo)顯示O

47、FF;B=1:光標(biāo)位置反白且閃爍;B=0:光標(biāo)位置不反白閃爍。5. 光標(biāo)或顯示移位控制(10H/14H/18H/1CH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CS/LXX CODE: 功能:10H/14H:光標(biāo)左/右移動,AC減/加1;18H/1CH:整體顯示左/右移動,光標(biāo)跟隨移動,AC值不變。6. 功能設(shè)定(20H/24H/26H/30H/34H/36H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLXREXX CODE: 功能:DL=1:8-BIT控制接口;DL=0:4-BIT控制接口;RE=1:擴(kuò)充指令集動作;RE=0:基本指令

48、集動作。7. 設(shè)定CGRAM地址(40H-7FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0 CODE: 功能:設(shè)定CGRAM地址到地址計(jì)數(shù)器(AC),需確定擴(kuò)充指令中SR=0(卷動地址或RAM地址選擇)。8. 設(shè)定DDRAM地址(80H-9FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0 CODE: 功能:設(shè)定 DDRAM 地址到地址計(jì)數(shù)器(AC)。9. 寫資料到RAMRSRWDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0 CODE:

49、功能:寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/GDRAM),每個RAM地址都要連續(xù)寫入兩個字節(jié)的資料。10. 讀出RAM的值RSRWDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0 CODE: 功能:從內(nèi)部RAM讀取數(shù)據(jù)(DDRAM/CGRAM/GDRAM),當(dāng)設(shè)定地址指令后,若需讀取數(shù)據(jù)時需先執(zhí)行一次空的讀數(shù)據(jù),才會讀取到正確數(shù)據(jù),第二次讀取時則不需要,除非又下設(shè)定地址指令。11. 反白選擇(04H-07H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0 CODE: 功能:選擇4行中的任一行作反白顯示,并可決定反白

50、與否。4.3 鍵盤輸入部分鍵盤采集模塊采用了ZLG7290讀取芯片,20個引腳,引腳說明如表4-2。表4-2 ZLG7290引腳說明引腳號引腳名稱引腳屬性引腳說明13、12、21、22、3、4、5、6Dig7Dig0I/O鍵盤掃描線10、9、8、7、2、1、23、24SegHSegAI/O鍵盤掃描線20SDAI/OI2C總線接口數(shù)據(jù)/地址線19SCLI/OI2C總線接口時鐘線14/INTI中斷輸出端、低有效15/RESI復(fù)位輸入端、低有效17OSIC1I連接晶體以產(chǎn)生內(nèi)部時鐘18OSIC2016VCC電源電源正(3.35.5V)11GND電源電源地該芯片可驅(qū)動64個按鍵,能提供數(shù)據(jù)譯碼和循環(huán)、

51、移位、段尋址等控制,8個功能鍵,可檢測任一鍵的連擊次數(shù)。因?yàn)楸驹O(shè)計(jì)所用的按鍵數(shù)無需64個,所以采用了其中的16個按鍵,用到了3、4、5、6、1、2、23、24八個引腳分別與ROW1ROW4、COL1COL4相連。當(dāng)有按鍵按下時,中斷輸出端/INT變成低電平,芯片ZLG7290通過掃描將所按的鍵值存入寄存器,單片機(jī)通過讀取ZLG7290_Key寄存器的值可獲取所按下的鍵值,寄存器ZLG7290_Key所返回的鍵值是按64個按鍵所編排的,本設(shè)計(jì)只用了其中的16個鍵,并不是一一對應(yīng)于64鍵中的第116個鍵。通過C程序按圖4-2所示內(nèi)部重新設(shè)置返回值,以達(dá)到所按的鍵與圖3-10所示,在設(shè)計(jì)中,K1、K

52、2、K3、K4、K5、K6、K7、K8、K9、分別代表數(shù)字19的數(shù)字鍵,K0、K15、K16分別代表數(shù)字0和-2(通道1)與-16(通道2)。SDA(I2C總線接口數(shù)據(jù)/地址線)、SCL(I2C總線接口時鐘線)、/INT(中斷輸出端、低有效)三個引腳與單片面機(jī)相連,此三個連接線也是單片機(jī)控制其工作和采集其鍵值的接口,芯片的晶振(4MHZ)和工作電壓(+5V)及復(fù)位等由外部直接接入提供。鍵盤采集流程圖如圖4-3:是否是有鍵按下?鍵盤掃描鍵值保存產(chǎn)生中斷開始鍵值是否被讀取否圖4-3 鍵盤采集流程圖當(dāng)輸入設(shè)備鍵盤有鍵按下是,ZLG7290通過掃描鍵盤將所按鍵對應(yīng)的鍵值(按8*8矩陣排序)保存與內(nèi)部寄

53、存器,同時將該芯片的中斷輸出口通知單片機(jī),單片機(jī)采集到外部中斷時,停止當(dāng)前操作而去讀取ZLG7290保存在內(nèi)部寄存器KEY里的值。致 謝在這里,首先要感謝學(xué)院領(lǐng)導(dǎo)和老師能夠給予我這樣一個機(jī)會,能夠做一個自己感興趣的課題,來給自己四年的學(xué)業(yè)畫上一個圓滿的句號。感謝我的指導(dǎo)老師丁老師。由于我去校外實(shí)習(xí)兩個月,所以關(guān)于畢業(yè)設(shè)計(jì)的一些事情都是丁老師特意通知的,而且在我實(shí)習(xí)回來后,對我的課題進(jìn)行批注和輔導(dǎo),再次感謝丁老師對我的悉心指導(dǎo)。感謝我的輔導(dǎo)員王老師。我們即將畢業(yè)離去,回首大學(xué)四年,不管是學(xué)習(xí)、工作、生活等方面遇到什么問題,王老師都像我們的父母一樣關(guān)心著我們,教育我們?nèi)绾巫鋈俗鍪隆8兄x我的同學(xué)。在

54、做畢業(yè)設(shè)計(jì)這段時間里,我遇到很多難題,同學(xué)給予我很大的幫助,如果沒有他們,我的畢業(yè)設(shè)計(jì)就無法完成。感謝我的父母。他們時時刻刻在我的身后支持著我,不管遇到什么困難和挫折,他們永遠(yuǎn)都是我溫暖的避風(fēng)港,給予我支持和幫助。千言萬語也無法訴說我內(nèi)心的感謝,在我以后的道理上,我不會忘記他們對我的支持和幫助,最后,衷心的說一聲:謝謝你們!參考文獻(xiàn)1 馬忠梅.單片機(jī)的C 語言應(yīng)用程序設(shè)計(jì)M.北京: 北京航空航天大學(xué)出版社, 20012 孟立凡,藍(lán)金輝.傳感器原理與應(yīng)用.北京:電子工業(yè)出版社,2007.83 張俊謨.單片機(jī)中級教程(第二版).北京:北京航空航天大學(xué)出版社, 2007.94 李維堤,郭強(qiáng).液晶顯示

55、應(yīng)用技術(shù)M.北京: 電子工業(yè)出版社, 19965 高吉祥,唐朝京.數(shù)字系統(tǒng)與自動控制系統(tǒng)設(shè)計(jì).北京:電子工業(yè)出版社, 2007.66 船倉一郎,土屋堯,堀桂太郎.機(jī)器人控制電子學(xué):北京:科學(xué)出版社,004.57 蔡美琴,等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版).北京;高等教育出版社, 2004.68 趙負(fù)圖,傳感器集成電路手冊,第一版,化學(xué)工業(yè)出版社,2004,5905919 馬建國.電子系統(tǒng)設(shè)計(jì).北京:高等教育出版社,2004.110 譚浩強(qiáng).C程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2005.711 王建校. 51系列單片機(jī)及C51程序設(shè)計(jì)M . 北京:科學(xué)出版社, 2002.1

56、2 霍孟友.單片機(jī)原理與應(yīng)用M .北京:機(jī)械工業(yè)出版社,2004.13 何立民,單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京:航天航空大學(xué)出版社,25,465014 李廣弟,單片機(jī)基礎(chǔ),北京:北京航空航天大學(xué)出版社,2001,566415 何希才,新型實(shí)用電子電路400例,電子工業(yè)出版社,2000年,606516 Wolf W, 孫玉芳等譯. 嵌入式計(jì)算系統(tǒng)設(shè)計(jì)原理. 北京: 機(jī)械工業(yè)出版社, 2002 17 鄭人杰. 計(jì)算機(jī)軟件測試技術(shù). 北京: 清華大學(xué)出版社, 1992 18 胡漢才. 單片機(jī)原理及系統(tǒng)設(shè)計(jì). 北京:清華大學(xué)出版社, 200219 Silicon Storage Technology Inc

57、, SST39VF800A Datasheet.200120 Integrated Silicon Solution Inc. IS61LVI2816 Datasheet.200221 Texas Instruments Inc. TPS767D318 Datasheet. 1999附 錄源程序(用C51編寫的,keil C51編譯器)/*多功能自行車速度計(jì)程序。AT89C51單片機(jī),24M晶振,LCD同時顯示自行車速度、行程和時鐘,并有超速報(bào)警功能。通過鍵盤輸入可對準(zhǔn)時鐘,也可隨時對時鐘和行程復(fù)位,時鐘復(fù)位時即進(jìn)入計(jì)時模式。*/#include#defineuchar unsigned char#defineuint unsigned int/*將表格數(shù)據(jù)存于ROM中*/ucharcode start1= WELCOME! *; /開機(jī)界面ucharcode chart=0 x30,0 x31,0 x32,0 x33,0 x34,0 x35,0 x36,0 x37,0 x38,0 x39; /數(shù)據(jù)09的ASCII存于ROM中ucharcodegroup214=c4.5,c4.6,c4.7,c4.8,c

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!