版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、基于單片機的自行車碼表設計摘 要 隨著人們生活水平的不斷提高,自行車已經(jīng)不僅僅是運輸、代步的工具,其輔助功能也變得越來越重要。因此,人們希望自行車的娛樂、休閑、鍛煉的功能越來越多,能帶來大家更多的健康與快樂。自行車碼表作為自行車的一大輔助工具迅速發(fā)展起來。科學、美觀、合理設計自行車里程表有一定的實用價值。它能合理計算出速度及公里數(shù),使運動者運動適量,達到健康運動與代步的最佳效果。碼表能盡可能真實地反映騎行狀況,便于車手及時調(diào)整自己的舉動。 本設計以AT89C51單片機為主控制芯片,128*64 LCD為顯示終端顯示自行車時速、里程等信息及系統(tǒng)設置等,統(tǒng)設置菜單能夠人工設置設備安裝信息以提高測量
2、精度,提供時速、里程、平均速度、時間等信息,時還附加一報警功能,當行駛到預設里程和速度時,系統(tǒng)會自動報警,提醒已經(jīng)達到預設運動量。 本設計主要包括自行車輪脈沖采集、鍵盤輸入和數(shù)據(jù)顯示等部分,主程序用C語言編寫,完成各項功能及數(shù)據(jù)的處理,通過Keil C來完成程序的編寫和下載,通過單片機實驗開發(fā)板具體實現(xiàn)自行車碼表各項功能。關(guān)鍵詞 ST1101 AT89C51 LCD ZLG7290 報警THE DESIGN OF BASING ON MCU BICYCLE STOPWATCHABSTRACT With the improvement of life level, bike is not onl
3、y 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 quickly. The design
4、 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 project takes AT8
5、9C51 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 set in advan
6、ce, 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 keyboard dealing
7、; 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 alert目 錄摘要IABSTRACTII前言11 緒論21.1 開發(fā)背景及意義21.1.1 課題背景21.1.2 課題的意義21.2 Keil C 介紹21.3 設計內(nèi)容32 系統(tǒng)方案論證與分析4
8、2.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 鍵盤設計方案82.5.2 ZLG7290芯片特點93 系統(tǒng)硬件設計103.1 系統(tǒng)設計圖103.2 AT89C51主控芯片113.3 脈沖發(fā)生源133.3.1 輪脈沖檢測133.3.2 信號預處理電路133.3.3 E2PROM AT24C02 的應用143.4 顯示模塊153.4.1 顯示資料RAM(DDRAM)163.4.2 繪
9、圖RAM(GDRAM)163.5 鍵盤及ZLG7290芯片173.5.1 芯片引腳及說明173.5.2 引腳功能184 系統(tǒng)軟件設計194.1 軟件系統(tǒng)設計194.2 液晶顯示204.2.1 液晶顯示程序流程204.2.2 顯示器具體指令214.3 鍵盤輸入部分24致 謝26參考文獻27附 錄28前言 隨著人們生活水平的逐漸提高,人們對于生活質(zhì)量的要求也日益增加,尤其是對健身的要求。自行車在中國普遍作為代步工具。而在國外,自行車卻是一項十分受歡迎的健身運動。因為它無污染,價位低廉,老少皆宜。而且在運動過程中可以充分享受到大自然,對于忙碌的現(xiàn)代人來說,無疑是一種較好的放松方法。在中國這種情況也在
10、慢慢發(fā)生變化。因此愛好自行車運動的人十分學要一款能測速的裝置,以知道自己的運動情況。并根據(jù)外界條件,如溫度,風速等進行適當?shù)恼{(diào)節(jié),已達到最佳運動的效果。而對于自行車運動員來說,最為關(guān)心的莫過于一段時間內(nèi)的訓練效果。因為教練要根據(jù)一段時間內(nèi)運動員的訓練效果進行評估,從而進行適當?shù)恼{(diào)整已使運動員達到最佳的狀態(tài)。因此需要一種裝置進行對訓練中各種參數(shù)的測定記錄。 碼表主要針對那些業(yè)余愛好者,他們運動一般會選擇晴朗涼爽的天氣進行運動,所以溫度和風速對運動員幾乎沒影響,只要能精確的測量速度和里程以及時間即可。并能在運動員達到預期運動量后能準確提醒運動員已達到預期要求。 本設計以AT89C51單片機為主控芯
11、片,把霍爾傳感器傳來的脈沖信號進行處理,預算,精確的計算出行駛的速度和里程,然后在傳送給LCD顯示器,從LCD上顯示出運動的一系列數(shù)據(jù),而且還可以通過顯示器進行人機對話,可以通過顯示器和鍵盤進行一些參數(shù)的設置,比如像將要安裝的自行車的輪圈的半徑設置,以及預設運動量的和時間的設置。這些都需要通過顯示器進行設置,其中的時間是用芯片內(nèi)自帶的計數(shù)器進行計數(shù)的。 本設計是以AT系列單片機為主控制芯片,采用霍爾元件檢測小車行駛速度。程序用C語言編寫,由主程序、外部中斷服務程序、定時器中斷服務程序、延時子程序等模塊組成。主程序主要完成程序的初始化和鍵盤處理,外部中斷服務程序由測量、計算、讀數(shù)等部分組成。1
12、緒論1.1 開發(fā)背景及意義1.1.1 課題背景 隨著人們生活水平的不斷提高,自行車已經(jīng)不僅僅是運輸、代步的工具,其輔助功能也變得越來越重要。因此,人們希望自行車的娛樂、休閑、鍛煉的功能越來越多,能帶來大家更多的健康與快樂。在這個背景下,自行車里程表作為自行車的一大輔助工具迅速發(fā)展起來.科學、美觀、合理設計自行車里程表有一定的實用價值.它能合理計算出速度及公里數(shù),使運動者運動適量,達到健康運動與代步的最佳效果. 碼表能盡可能真實地反映騎行狀況,便于車手及時調(diào)整自己的舉動,也便于收集騎行數(shù)據(jù)供自己或隊友們進行參考和對比。 自行車碼表一般由安裝于前車圈鋼條上的感應磁鐵、前叉上的感應器、順著前叉蜿蜒而
13、上的連接線、置于握把上面的碼表座和座上面的碼表。碼表的工作原理是:車圈旋轉(zhuǎn)時感應器捕捉到感應磁鐵帶來的信息,通過連接線傳輸至碼表,碼表對此進行處理后計算出時速、里程等信息并顯示。它能夠讓我們比較精確的知道自己的當前速度、騎行時間、單次里程、總里程、平均速度、最高速度等。1.1.2 課題的意義本設計就是針對普通運動員在運動中不能很好的把握自己達到了多大的速度,行駛了多遠的距離而設計的。以往的碼表只能進行測量速度,里程,時間,溫度等數(shù)據(jù),雖然能實現(xiàn)很多的功能,但是其中的一些功能不適合自行車業(yè)余愛好者,浪費資源,而且性價比也低,而且也不能很好的把握當前運動量,從而不能很好的實現(xiàn)娛樂和鍛煉的效果。而本
14、設計卻能實現(xiàn)娛樂和鍛煉的雙重效果,而且相對業(yè)余愛好者性價比更高。1.2 Keil C 介紹 Keil C51 Vision3集成開發(fā)環(huán)境是Keil Software,Inc/Keil Elektronik GmbH開發(fā)的基于80C51內(nèi)核的微處理器軟件開發(fā)平臺,內(nèi)嵌多種符合當前工業(yè)標準的開發(fā)工具,可以完成從工程建立到管理、編譯、鏈接、目標代碼的生成、軟件仿真、硬件仿真等完整的開發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準確性和效率方面達到了較高的水平,而且可以附加靈活的控制選項,在開發(fā)大型項目時非常理想。 Keil C51集成開發(fā)環(huán)境的主要功能有以下幾點: (1) Vision3是一個集成開發(fā)環(huán)境,它
15、將項目管理、源代碼編輯和程序調(diào)試等組合在一個功能強大的環(huán)境中。 (2) C51國際準化C交叉編譯器,從C源代碼產(chǎn)生可重定位的目標模塊。 (3) A51宏匯編器,從80C51匯編源代碼產(chǎn)生可重定位的目標模塊。 (4) BL51鏈接器/定位器,組合由C51和A51產(chǎn)生的可重定位的目標模塊,生成絕對目標模塊。 (5) LIB51庫管理器,從目標模塊生成連接器可以使用的庫文件。 (6) OH51目標文件至HEX格式的轉(zhuǎn)換,從絕對目標模塊生成Hex文件。 (7) RTX-51實時操作系統(tǒng),簡化了復雜的實時應用軟件項目的設計。 此軟件可以完成從工程建立到管理、編譯、鏈接、目標代碼的生成、軟件仿真、硬件仿真
16、等完整的開發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準確性和效率方面達到了較高的水平。支持在線仿真,純軟件信仿真,多種調(diào)試方式(單步、全速等),其應用相對簡單,很容易就可以掌握該軟件的基本操作用法,可以用C語言和匯編兩種語言進行編程,還可混編,支持C語言的編程對初學者提供了很大方便,在調(diào)試過程中,可通過相關(guān)工具,直接查看變量的即時結(jié)果,目標代碼的生成也容易。1.3 設計內(nèi)容1. 以AT89C51單片機為主控制芯片。2. 以128*64 LCD為顯示終端顯示自行車時速、里程等信息及系統(tǒng)設置等系統(tǒng)設置菜單。3. 能夠人工設置設備安裝信息以提高測量精度,提供時速、里程、平均速度、時間等信息。4. 能夠預設運
17、動量(比如預設速度,里程),實現(xiàn)報警功能。2 系統(tǒng)方案論證與分析2.1 系統(tǒng)方案2.1.1 系統(tǒng)概述 系統(tǒng)總體設計框圖如圖2-1所示。本系統(tǒng)由信號預處理電路、單片機AT89C51、128*64LCD顯示模塊、鍵盤控制和系統(tǒng)軟件組成。其中信號預處理電路包含信號放大、波形變換和波形整形。對待測信號進行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機相連的TTL信號;通過單片機的設置可使內(nèi)部定時器T1對脈沖輸入引腳T0進行控制,這樣能精確地算出加到T0引腳的單位時間內(nèi)檢測到的脈沖數(shù);設計中速度顯示采用LCD模塊,通過速度換算得來的里程數(shù)采用I2C總線并通
18、過E2PROM來存儲,既節(jié)省了所需單片機的口線和外圍器件,同時也簡化了顯示部分的軟件編程。鍵盤控制信號放大器數(shù)字存儲電路單片機LCD顯示整形電路圖2-1 系統(tǒng)總體設計框圖2.1.2 系統(tǒng)原理 該設計能實時地將所測的速度與累計里程數(shù)顯示出來,主要是將傳感器輸入到單片機的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機前應對其進行放大整形,然后通過單片機計算出速度和里程,再將所得的數(shù)據(jù)存儲到串口數(shù)據(jù)存儲器,并由LCD 顯示模塊顯示所測速度與里程。本設計的里程數(shù)的算法是一種大概的算法(假設在一定時間內(nèi)自行車是勻速行進,平均速度與
19、時間的乘積即為里程數(shù))。設計時,應綜合考慮測速精度和系統(tǒng)反應時間。本設計用測量脈沖頻率來計算速度,因而具有較高的測速精度。在計算里程時取了自行車的理想狀態(tài)。本設計的速度和里程值采用8 位顯示,并包含兩個小數(shù)位。2.2 采集信息部分以及傳感器的選擇 信息采集部分可以選用的傳感器種類很多,例如磁感應傳感器,光電感應傳感器,金屬傳感器等,而考慮到實際可操作性以及設計要求方面,本設計選用的傳感器為光電傳感器。 霍爾傳感器由永久磁鐵和開關(guān)型霍爾集成電路組成?;魻柤呻娐酚苫魻栐?、放大器、整形電路及集電極開路輸出等部分組成,其功能是把磁信號轉(zhuǎn)換成電信號,霍爾元件為磁敏元件,當垂直于霍爾元件的磁場強度發(fā)生
20、變化時,其兩端的電壓就會發(fā)生變化,經(jīng)放大和整形即可輸出脈沖電信號。ST1101采用高輸出的紅外光電二極管與高靈敏度光敏晶體管組成,其特點是性能可靠,體積小,結(jié)構(gòu)簡單,廣泛應用于碼表,其主要參數(shù)如表2-1所示。表2-1 主要參數(shù)輸入正向電流IF50mA反向電壓Vr6v耗散功率P75mW輸出集-射電壓Vceo25V射-集電壓Veco6V集電極功耗Pc50mW2.3 主控芯片選擇碼表主要以單片機為主控芯片,而能實現(xiàn)其功能的芯片卻有很多,本設計選用的是AT89C51。AT89C51是一個低電壓,高性能CMOS 8位單片機,帶有4K字節(jié)的可反復擦寫的程序存儲器(PENROM)和128字節(jié)的存取數(shù)據(jù)存儲器
21、(RAM),這種器件采用ATMEL公司的高密度、不容易丟失存儲技術(shù)生產(chǎn),并且能夠與MCS-51系列的單片機兼容。片內(nèi)含有8位中央處理器和閃爍存儲單元,有較強的功能的AT89C51單片機能夠被應用到控制領域中。AT89C51提供以下的功能標準:4K字節(jié)閃爍存儲器,128字節(jié)隨機存取數(shù)據(jù)存儲器,32個I/O口,2個16位定時/計數(shù)器,1個5向量兩級中斷結(jié)構(gòu),1個串行通信口,片內(nèi)震蕩器和時鐘電路。另外,AT89C51還可以進行0HZ的靜態(tài)邏輯操作,并支持兩種軟件的節(jié)電模式。閑散方式停止中央處理器的工作,能夠允許隨機存取數(shù)據(jù)存儲器、定時/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存隨機存取數(shù)據(jù)存
22、儲器中的內(nèi)容,但震蕩器停止工作并禁止其它所有部件的工作直到下一個復位。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口線。因為是動態(tài)顯示,所以需要定時刷新LED數(shù)碼管。為了穩(wěn)定的顯示,在多位LED數(shù)碼管顯示時需要有很高的數(shù)據(jù)刷新頻率,否則會導致顯示
23、效果有些閃爍。二、數(shù)碼管靜態(tài)顯示在多位LED數(shù)碼管顯示時,為了能夠顯示效果較好,簡化電路,把每一位LED數(shù)碼管的公共陰極或公共陽極通過串行限流電阻后接地或者接+5V,而每位LED數(shù)碼管的段選線(a、b、c、d、e、f、h)與一片74LS164的4位并行輸出口相連接。因為FPGA是并行工作的,故此時FPGA同時發(fā)送36個數(shù)據(jù)用于鎖定9個顯示的數(shù)碼管。這樣不用通過不斷地刷新來改變顯示數(shù)據(jù),也沒有延時,數(shù)碼管也不會因為頻率低而閃爍,只有FPGA發(fā)送的數(shù)據(jù)改變時數(shù)碼管才發(fā)生相應改變。2.4.2 128*64 LCD顯示一、128*64LCD串口方式顯示當PSB腳接低電位時,模塊將進入串行模式。從一個完
24、整的串行傳輸流程來看,一開始先傳輸起始字節(jié),它需先接收到五個連續(xù)的1(同步位字符串),在起始字節(jié),此時傳輸計數(shù)將被重置并且串行傳輸將被同步,再跟隨的兩位字符串分別指定傳輸方向位(RW)及寄存器選擇位(RS),最后第八位則為0。在接收到同步位及RW和RS資料的起始字節(jié)后,每一個八位的指令將被分為兩個字節(jié)接收到:高4位(DB7DB4)的指令資料將會被放在第一個字節(jié)的LSB(最低有效位)部分,而低4位(DB3DB0)的指令資料則會被放在第二個字節(jié)的LSB部分,至于相關(guān)的另四位則都為0。二、128*64LCD并口方式顯示當PSB腳(OCMJ4X16A/B)接高電位時,模塊將進入并行模式,在并列模式下可
25、由指令DL FLAG 來選擇8位或4位接口,主控制系統(tǒng)將配合(RS , RW , E , DB0DB7)來達成傳輸動作。從一個完整的流程來看,當下設定地址指令后(CGRAM,DDRAM)若要讀取數(shù)據(jù)時需先DUMMY READ一次,才會讀取到正確數(shù)據(jù),第二次讀取時則不需DUMMY READ ,除非再進行下設定地址指令才需再次DUMMY READ。在4位傳輸模式中,每一個八位的指令或數(shù)據(jù)都將被分為兩個字節(jié)動作:較高4位(DB7DB4)的資料將會被放在第一個字節(jié)的(DB7DB4)部分,而較低4位(DB3DB0)的資料則會被放在第二個字節(jié)的(DB7DB4)部分,至于相關(guān)的另四位則在4位傳輸模式中DB3
26、DB0接口未使用。鑒于串口口傳輸方式可以大大地減少系統(tǒng)的I/O口使用量,并且可以提高系統(tǒng)的準確性,故采用串口傳輸方式。本設計采用的是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 鍵盤設計方案鍵盤在單片機應用系統(tǒng)中,實現(xiàn)輸入數(shù)據(jù)、傳送命令的功能,是人工干預的主要手段。鍵盤分兩大類:編碼鍵盤和非編碼鍵盤。編碼鍵盤:由硬件邏輯電路
27、完成必要的鍵識別工作與可靠性措施。每按一次鍵,鍵盤自動提供被按鍵的讀數(shù),同時產(chǎn)生一選通脈沖通知微處理器,一般還具有反彈跳和同時按鍵保護功能。這種鍵盤易于使用,但硬件比較復雜,對于主機任務繁重之情況。非編碼鍵盤:只簡單地提供鍵盤的行列與矩陣,其他操作如鍵的識別,決定按鍵的讀數(shù)等僅靠軟件完成,故硬件較為簡單,但占用CPU較多時間。有:獨立式按鍵結(jié)構(gòu)、矩陣式按鍵結(jié)構(gòu)。首先,確定鍵盤編碼方案:采用編碼鍵盤或非編碼鍵盤。隨后,確定鍵盤工作方式:采用中斷或查詢方式輸入鍵操作信息。然后,設計硬件電路。非編碼鍵盤系統(tǒng)中,鍵閉合和鍵釋放的信息的獲取,鍵抖動的消除,鍵值查找及一些保護措施的實施等任務,均由軟件來完
28、成。鍵盤是單片機系統(tǒng)設計中一種主要的信息輸入接口,合理的設計,不僅可以節(jié)省系統(tǒng)的設計成本,更可使儀器設備的操作變得更為簡單、方便,很大程度上提高系統(tǒng)綜合性能。本設計中,碼表要設置很多參數(shù),所以需要輸入很多數(shù)據(jù),所以本設計中的鍵盤部分是選用的ZLG7290 I2接口鍵盤。鍵盤只需要12個,分別為09十個數(shù)和小數(shù)點以及確認鍵。2.5.2 ZLG7290芯片特點 選用的ZLG7290具有以下特點:(1) I2C串行接口,提供鍵盤中斷信號,方便與處理器接口;(2) 可驅(qū)動8位共陰數(shù)碼管或64只獨立LED和64個按鍵;(3) 可控掃描位數(shù)可控任一數(shù)碼管閃爍;(4) 提供數(shù)據(jù)譯碼和循環(huán),移位,段尋址等控制
29、;(5) 8個功能鍵,可檢測任一鍵的連擊次數(shù);(6) 無需外接元件即直接驅(qū)LED,可擴展驅(qū)動電流和驅(qū)動電壓;(7) 提供工業(yè)級器件,多種封裝形式PDIP24,SO24。 3 系統(tǒng)硬件設計3.1 系統(tǒng)設計圖圖3-1 系統(tǒng)電路圖128*64LCD顯示器ZLG7920芯片AT89C51主控芯片喇叭傳感器鍵盤AT24C02圖3-2 系統(tǒng)框圖系統(tǒng)電路圖如圖3-1所示,系統(tǒng)框圖如圖3-2所示。本設計采用的是128*64液晶顯示器,以ZLG7290作為控制芯片的鍵盤,以AT89C51作為系統(tǒng)的主控芯片。3.2 AT89C51主控芯片AT89C51通用寄存器如下:ACC:最重要的暫存器,運算資料轉(zhuǎn)移都通過AC
30、C。PC:程序計數(shù)器,記載著程序下一個待執(zhí)指令位址。B暫存器:用于乘法,除法指令的輔助暫存器。PSW程序狀態(tài)字組:記錄程序運作時,CPU各種狀態(tài)。SP堆棧指示器:重置(RESET)時,堆棧指示器設為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é)構(gòu)存儲結(jié)構(gòu)FFH-80H8051特殊功能暫存器(SFR)
31、或是8052的間接定址資料區(qū)7FH-30H使用者的一般資料存放區(qū)(亦可透過SP設定,存放堆疊資料)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 輪脈沖檢測本設計采用了ST1101紅外光電傳感器,進行非接觸式檢測。當有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當沒有物體擋在中間時則輸出為高電平,從而形成一個脈沖。該系統(tǒng)在自行車后
32、輪的軸處保持著與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個鋁盤,在這個鋁盤的邊沿處挖出若干個圓形過孔,把傳感器的檢測部分放在圓孔的圓心位置。每當鋁盤隨著后輪旋轉(zhuǎn)的時候,傳感器將向外輸出若干個脈沖。把這些脈沖通過一系列的波形整形成單片機可以識別的TTL電平,即可算出輪子即時的轉(zhuǎn)速。鋁盤的圓孔的個數(shù)決定了測量的精度,個數(shù)越多,精度越高。這樣就可以在單位時間內(nèi)盡可能多地得到脈沖數(shù)從而避免了因為兩個過孔之間的距離過大,而車子正好在過孔之間或者是在下個過孔之前停止了,造成較大的誤差。本設計在鋁盤過孔的設計上采用11個過孔,從而留下了10個同等的間距這樣在以后的軟件設計中能夠較為方便的計算出速度里程。脈沖發(fā)生源的
33、硬件結(jié)構(gòu)圖如圖3-4所示。圖3-4 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)3.3.2 信號預處理電路如圖3-5所示,系統(tǒng)的信號預處理電路由二級電路構(gòu)成,第一級是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應。當輸入信號為零或負電壓時,三極管截止,電路輸出高電平;而當輸入信號為正電壓時,三極管導通,此時輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測量任意方波信號的頻率,也可以測量正弦波信號的頻率。由于放大器的放大功能降低了對待測信號的幅度要求,因此,系統(tǒng)能對任意大于0.5V 的正弦波和脈沖信號進行測量。預處理電路的第二級采用帶施密特觸發(fā)器的反相
34、器DM74LS14 來把放大器生成的單相脈沖轉(zhuǎn)換成與COMS 電平相兼容的方波信號(如圖3-6所示),同時將輸出信號加到單片機的P3.4口上。利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正反饋作用,可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于VT+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號。從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當傳輸線上的電容較大時,波形的上升沿將明顯變壞;當傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時,在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當其他脈沖信號通過導線間的分布電容或公共電源線疊加到矩形脈沖信號時,信號上將出現(xiàn)附
35、加的噪聲。無論出現(xiàn)上述的那一種情況,都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的VT+ 和VT- 設置得合適,均能受到滿意的整形效果。圖3-5 信號預處理電路圖圖 圖3-6 信號處理波形圖3.3.3 E2PROM AT24C02 的應用AT24C02是CMOS 2048位串行E2PROM,在內(nèi)部組織成256 8位。AT24C02的特點是具有允許在簡單的二線總線上工作的串行接口和軟件協(xié)議。如圖3-7所示,在本設計中用芯片AT24C02的SDA端與單片機的P3.7 口相連,SCL端與單片機的P3.5口相連。因為在這個I2C總線上只有一個器件,所以把AT24C02
36、的地址設為000,即把A0、A1、A2都接地。單片機計算出來的里程數(shù)據(jù)通過SDA、SCL向AT24C02資料傳輸與接口時序。當存儲數(shù)據(jù)時,單片機首先向AT24C02發(fā)送寫信號,當確認后從單片機內(nèi)部的數(shù)據(jù)儲存單元提取數(shù)據(jù)然后向AT24C02的內(nèi)部地址傳送數(shù)據(jù)。當顯示里程時,單片機首先向AT24C02發(fā)送讀信號,然后確認后,單片機從AT24C02內(nèi)部的地址向單片機的讀出單元字節(jié)讀出數(shù)據(jù),供顯示所用。圖3-7 AT24C02與單片機的接口電路圖3.4 顯示模塊 顯示器電路原理圖如圖3-8所示。圖3-8 顯示器電路原理圖3.4.1 顯示資料RAM(DDRAM) 顯示數(shù)據(jù)RAM 提供64*2 個字節(jié)的空
37、間,最多可以控制4行16字(64個字)的中文字型顯示,當寫入顯示資料RAM時,可以分別顯示CGROM,HCGROM 與CGRAM 的字型;本系列模塊可以顯示三種字型, 分別是半寬的HCGROM 字型、 CGRAM 字型及中文CGROM 字型, 三種字型的選擇, 由在DDRAM 中寫入的編碼選擇,在0000H0006H 的編碼中將選擇CGRAM 的自定字型,02H7FH 的編碼中將選擇半寬英數(shù)字的字型,至于A1 以上的編碼將自動的結(jié)合下一個字節(jié),組成兩個字節(jié)的編碼達成中文字型的編碼BIG5(A140D75F) GB(A1A0F7FF)。詳細各種字型編碼如下:一、顯示半寬字型:將8位資料寫入DDR
38、AM中,范圍為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é)的記憶空間(由擴充指令設定繪圖RAM地址),最多可以控制256x64點的二維繪圖緩沖空間, 在更改繪圖RAM時,由擴充指令設定
39、GDRAM地址先設垂直地址再設水平地址(連續(xù)寫入兩個字節(jié)的數(shù)據(jù)來完成垂直與水平的坐標地址),再寫入兩個8位的資料到繪圖RAM,而地址計數(shù)器(AC)會自動加一。整個寫入繪圖RAM的步驟如下:一、先將垂直的字節(jié)坐標(Y)寫入繪圖RAM地址;二、再將水平的字節(jié)坐標(X)寫入繪圖RAM地址;三、將D15D8寫入到RAM中(寫入第一個Bytes);四、將D7D0寫入到RAM中(寫入第二個Bytes)。3.5 鍵盤及ZLG7290芯片3.5.1 芯片引腳及說明 采用24引腳封裝引腳圖3-9所示,引腳說明如表3-2所示。圖3-9 ZLG7290芯片管腳圖表3-2 ZLG7290芯片管腳說明引腳號引腳名稱引腳
40、屬性引腳描述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輸入復位輸入端,低電平有效17OSC1輸入連接晶體以產(chǎn)生內(nèi)部時鐘18OSC2輸出16VCC電源電源正(3.35 .5V)11GND電源電源地3.5.2 引腳功能ZLG7290可采樣64個按鍵或傳感器,檢測每個按鍵的連擊次數(shù)。其基本功能如下:一、鍵盤去抖動處理 當鍵被按下和放開時,可
41、能會出現(xiàn)電平狀態(tài)反復變化,鍵盤抖動。若不作處理會引起按鍵盤命令錯誤,所以要進行去抖動處理,讀取穩(wěn)定的鍵盤狀態(tài)為準。 二、雙鍵互鎖處理 當有兩個以上按鍵被同時按下時,ZLG7290只采樣優(yōu)先級高的按鍵(優(yōu)先順序為S1S2S64,如同時按下S2和S18時采樣到S2)。三、連擊鍵處理 當某個按鍵按下時,輸出一次鍵值后,如果該按鍵還未釋放,該鍵值連續(xù)有效,就像連續(xù)壓按該鍵一樣,這種功能稱為連擊連擊。四、功能鍵處理 功能鍵能實現(xiàn)2個以上按鍵同時按下來擴展按鍵數(shù)目或?qū)崿F(xiàn)特殊功能。如圖3-10為鍵盤電路原理圖:圖3-10 鍵盤原理圖從上圖可以看出本設計共選用了12個鍵盤,從上到下,從左到右分別為1到9,0,
42、小數(shù)點,和設置鍵。4 系統(tǒng)軟件設計4.1 軟件系統(tǒng)設計開始初始化數(shù)據(jù)讀出里程顯示頻率測量速度里程計算是報警報警是否否速度顯示速度顯示模塊圖4-1 系統(tǒng)流程圖系統(tǒng)流程圖如圖4-1所示。待測信號經(jīng)預處理電路后加至單片機的P3.4(T0)引腳可為單片機測量信號頻率提供有效的輸入信號。單片機通過檢測P3.4引腳電平來決定是否啟動測量頻率程序。當該引腳為高電平時,系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時才開始測頻率。我們可從硬件的鋁盤上知道兩個過孔之間在圓周上的距離。而這個距離M正好為計算速度和距離起到了基本的數(shù)據(jù)儲備作用。同時可以從TL0寄存器知道在兩秒內(nèi)單片機檢測到的N個脈沖。而MN所得到的正是
43、這兩秒內(nèi)鋁盤在圓周上所走得距離S。(此時假設在這個兩秒內(nèi)車子是勻速前進的),距離S除以2秒的時間,就可以大概的算出這2秒內(nèi)鋁盤的線速度。再根據(jù)鋁盤與自行車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線速度的關(guān)系,從而算出自行車在這2秒的平均速度。至于里程的計算,根據(jù)速度計算的相加即可得到目前的總里程數(shù)。通過單片機計算出來的速度和里程的數(shù)據(jù),輸出給顯示模塊??偫锍虜?shù)的顯示是設定出現(xiàn)在自行車開動,單片機開機經(jīng)過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運行了多少公里了。而速度的顯示則是在計算出速度里程后立刻顯示出來,體現(xiàn)實時性。4.2 液晶顯示4.2.1 液晶顯示程序流程液晶顯
44、示是本設計中比較重要的部分,因為設計的最終沒目的是要顯示行駛的里程、速度、時間等信息,以及安裝信息和預設運動量的設置都要通過本部分來完成。所以本部分的設計好壞也將影響到整個設計的最終結(jié)果。漢字字符顯示地址如表4-1所示。表4-1 DDRAM地址表X坐標Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH程序流程圖如圖4-2所示。設置下一個地址字數(shù)是否超過8否是待命、脫離睡眠開顯示設置顯示地址寫入數(shù)據(jù)開始初始化,功能設
45、定圖4-2 顯示控制流程圖4.2.2 顯示器具體指令1. 指令代碼為(01H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLL CODE: 功能:將 DDRAM填滿”20H”(空格),把DDRAM地址計數(shù)器調(diào)整為“00H”,重新進入點設定將I/D設為”1”,光標右移AC加1。2. 地址歸位(02H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX CODE: 功能:把DDRAM地址計數(shù)器調(diào)整為“00H”,光標回原點,該功能不影響顯示DDRAM。3. 點設定(04H/05H/06H/07H)RSRWDB7DB6DB5DB4DB3DB2DB1
46、DB0LLLLLLLHI/DS CODE:功能:設定光標移動方向并指定整體顯示是否移動。I/D=1光標右移,AC自動加1;I/D=0光標左移,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:光標顯示ON;C=0:光標顯示OFF;B=1:光標位置反白且閃爍;B=0:光標位置不反白
47、閃爍。5. 光標或顯示移位控制(10H/14H/18H/1CH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CS/LXX CODE: 功能:10H/14H:光標左/右移動,AC減/加1;18H/1CH:整體顯示左/右移動,光標跟隨移動,AC值不變。6. 功能設定(20H/24H/26H/30H/34H/36H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLHDLXREXX CODE: 功能:DL=1:8-BIT控制接口;DL=0:4-BIT控制接口;RE=1:擴充指令集動作;RE=0:基本指令集動作。7. 設定CGRAM地址(40H-7FH)RSR
48、WDB7DB6DB5DB4DB3DB2DB1DB0LLLHAC5AC4AC3AC2AC1AC0 CODE: 功能:設定CGRAM地址到地址計數(shù)器(AC),需確定擴充指令中SR=0(卷動地址或RAM地址選擇)。8. 設定DDRAM地址(80H-9FH)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLHAC6AC5AC4AC3AC2AC1AC0 CODE: 功能:設定 DDRAM 地址到地址計數(shù)器(AC)。9. 寫資料到RAMRSRWDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0 CODE: 功能:寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/G
49、DRAM),每個RAM地址都要連續(xù)寫入兩個字節(jié)的資料。10. 讀出RAM的值RSRWDB7DB6DB5DB4DB3DB2DB1DB0HHD7D6D5D4D3D2D1D0 CODE: 功能:從內(nèi)部RAM讀取數(shù)據(jù)(DDRAM/CGRAM/GDRAM),當設定地址指令后,若需讀取數(shù)據(jù)時需先執(zhí)行一次空的讀數(shù)據(jù),才會讀取到正確數(shù)據(jù),第二次讀取時則不需要,除非又下設定地址指令。11. 反白選擇(04H-07H)RSRWDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHR1R0 CODE: 功能:選擇4行中的任一行作反白顯示,并可決定反白與否。4.3 鍵盤輸入部分鍵盤采集模塊采用了ZLG729
50、0讀取芯片,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復位輸入端、低有效17OSIC1I連接晶體以產(chǎn)生內(nèi)部時鐘18OSIC2016VCC電源電源正(3.35.5V)11GND電源電源地該芯片可驅(qū)動64個按鍵,能提供數(shù)據(jù)譯碼和循環(huán)、移位、段尋址等控制,8個功能鍵,可檢測任一鍵的連擊次數(shù)。
51、因為本設計所用的按鍵數(shù)無需64個,所以采用了其中的16個按鍵,用到了3、4、5、6、1、2、23、24八個引腳分別與ROW1ROW4、COL1COL4相連。當有按鍵按下時,中斷輸出端/INT變成低電平,芯片ZLG7290通過掃描將所按的鍵值存入寄存器,單片機通過讀取ZLG7290_Key寄存器的值可獲取所按下的鍵值,寄存器ZLG7290_Key所返回的鍵值是按64個按鍵所編排的,本設計只用了其中的16個鍵,并不是一一對應于64鍵中的第116個鍵。通過C程序按圖4-2所示內(nèi)部重新設置返回值,以達到所按的鍵與圖3-10所示,在設計中,K1、K2、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(中斷輸出端、低有效)三個引腳與單片面機相連,此三個連接線也是單片機控制其工作和采集其鍵值的接口,芯片的晶振(4MHZ)和工作電壓(+5V)及復位等由外部直接接入提供。鍵盤采集流程圖如圖4-3:是否是有鍵按下?鍵盤掃描鍵值保存產(chǎn)生中斷開始鍵值是否被讀取否圖4-3 鍵盤采集流程圖當輸入設備鍵盤有鍵按下是,ZLG7290通過掃描鍵盤將所按鍵對應的鍵值(按8*8矩
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 投資入股電站合同范例
- 承包輪胎煉油合同范例
- 農(nóng)場收購合同范例
- 外包保安合同范例
- 關(guān)于增補保安合同范例
- 復墾合同范例
- 正規(guī)代銷合同范例
- 商場裝潢合同范例
- 最強合同范例
- 電影制作合同范例
- 酒店投資概算表(模板)精華
- GB/T 36393-2018土壤質(zhì)量自然、近自然及耕作土壤調(diào)查程序指南
- GB/T 1412-2005球墨鑄鐵用生鐵
- 新疆維吾爾自治區(qū)公共建筑節(jié)能設計標準實施細則2023
- 2022年西藏自治區(qū)中考英語真題卷(含答案與解析)
- RCS-9626CN電動機保護測控裝置
- 年終總結(jié)運維報告課件
- 體育教學與信息技術(shù)
- 公司力量觀后感
- 《國際法》形成性考核參考資料廣東開放大學2022年10月題庫
- 純電動汽車整車控制器(VCU)策略 PPT
評論
0/150
提交評論