




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)說明書畢業(yè)設(shè)計(jì)說明書 自行車?yán)锍趟俣扔?jì)的設(shè)計(jì)自行車?yán)锍趟俣扔?jì)的設(shè)計(jì) 目 錄 序 言.1 第一章 系統(tǒng)方案.2 1.1 課題的主要任務(wù)及內(nèi)容.2 1.2 任務(wù)分析與實(shí)現(xiàn).2 1.3 單片機(jī)選擇.3 1.4 顯示模塊的選擇.4 1.5 傳感器的選擇.4 1.6 系統(tǒng)簡(jiǎn)介.5 第二章 硬件設(shè)計(jì).7 2.1 單片機(jī)的介紹.7 2.1.1 單片機(jī)原理簡(jiǎn)介.7 2.1.2 單片機(jī)的引腳功能介紹.8 2.2 單片機(jī)外圍電路的設(shè)計(jì).10 2.2.1 時(shí)鐘電路.10 2.2.2 復(fù)位電路的設(shè)計(jì).10 2.2.3 報(bào)警電路的設(shè)計(jì).11 2.3 傳感器.11 2.4 顯示電路的設(shè)計(jì).15 2.4.1 顯示器
2、 lcd1602 的介紹.15 2.4.2 顯示電路的設(shè)計(jì)電路.19 第三章 軟件設(shè)計(jì).21 3.1 軟件實(shí)現(xiàn)的功能.21 3.2 主程序.21 3.3 顯示子程序的設(shè)計(jì).23 第四章 系統(tǒng)調(diào)試與仿真.25 4.1 系統(tǒng)仿真調(diào)試.25 4.2 protel99 的介紹.25 4.3 硬件調(diào)試.26 4.3.1 常見的硬件故障.26 4.3.2 調(diào)試方法.27 4.3.3 調(diào)試步驟.27 結(jié)束語.28 參考文獻(xiàn).29 致 謝.30 附 錄.31 附錄一 元器件清單.31 附錄二 電路圖.32 附錄三 實(shí)物照片.34 附錄四 源程序.35 附錄五 中英文文獻(xiàn).51 序 言 傳感器,是一種檢測(cè)裝置,
3、能感受到被測(cè)的信息,并能將檢測(cè)感受到的信息,按 一定規(guī)律變換成為電信號(hào)或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存 儲(chǔ)、顯示、記錄和控制等要求。它是實(shí)現(xiàn)自動(dòng)檢測(cè)和自動(dòng)控制的首要環(huán)節(jié)1。 它的作用是將一種能量轉(zhuǎn)換成另一種能量的形式。英文名字為 sensor 或 transducer,亦稱變換器、換能器。在科學(xué)技術(shù)迅速發(fā)展的當(dāng)今社會(huì),傳感器的應(yīng)用 越來越廣泛,如在日常生活、航空、航天,常規(guī)武器、交通運(yùn)輸,機(jī)械制造、生物醫(yī) 學(xué)工程、化工、自動(dòng)化檢測(cè)工程及計(jì)量等各項(xiàng)領(lǐng)域2。 單片微型計(jì)算機(jī)是制作在一塊集成電路芯片上的計(jì)算機(jī),簡(jiǎn)稱單片機(jī),又稱微控 制器。它包括中央處理器(central proc
4、essing unit,cpu) 、用 ram 構(gòu)成的數(shù)據(jù)存儲(chǔ) 器、用 rom 構(gòu)成的程序存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、各種輸入/輸出(i/o)接口和時(shí)鐘電 路,可獨(dú)立地進(jìn)行工作。特別適用于控制領(lǐng)域。因此,單片機(jī)只要與適當(dāng)?shù)能浖巴?部設(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)3。 單片機(jī)由于其體積小、功能強(qiáng),可靠性高,靈活方便等優(yōu)點(diǎn),所以被廣泛的應(yīng)用 于各個(gè)領(lǐng)域,并對(duì)各行各業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起到重要的推動(dòng)作用4。 本設(shè)計(jì)介紹了一種基于單片機(jī)控制的簡(jiǎn)易自行車速度以及里程計(jì)算系統(tǒng),包括自 行車?yán)锍瘫淼挠布?gòu)成,軟件邏輯以及程序代碼。該里程測(cè)速系統(tǒng)以 stc89c52 作為系 統(tǒng)控制核心,采用傳感
5、器來檢測(cè)信號(hào),通過一定時(shí)間間隔對(duì)信號(hào)的采集,結(jié)合自行車 本身車輪參數(shù),經(jīng)過單片機(jī)對(duì)采集信號(hào)進(jìn)行分析計(jì)算,最終在液晶顯示器 lcd 上顯示 車輛行駛的里程和速度,具有超速報(bào)警 5。 此次的畢業(yè)設(shè)計(jì)過程中,有三個(gè)需要解決的關(guān)鍵問題: (1)5v 電源怎么實(shí)現(xiàn)。 (2)速度怎樣采樣。 (3)速度顯示模塊采用何種方式,液晶還是數(shù)碼管。 第一章 系統(tǒng)方案 1.1 課題的主要任務(wù)及內(nèi)容 本課題主要任務(wù)是利用霍爾元件、單片機(jī)等部件設(shè)計(jì)一個(gè)可用 1602 液晶顯示的實(shí) 時(shí)顯示里程和速度的自行車的速度里程表。本文主要介紹了自行車的速度里程表的設(shè) 計(jì)思想、電路原理、方案論證以及元件的選擇等內(nèi)容,整體上分為硬件部分
6、設(shè)計(jì)和軟 件部分設(shè)計(jì)。 本文首先要對(duì)該課題的任務(wù)進(jìn)行方案論證,包括硬件方案和軟件方案的設(shè)計(jì);繼 而具體介紹了自行車的速度里程表的硬件設(shè)計(jì),包括傳感器的選擇、單片機(jī)的選擇、 顯示電路的設(shè)計(jì);然后闡述了該自行車的速度里程表的軟件設(shè)計(jì),包括數(shù)據(jù)處理子程 序的設(shè)計(jì)、顯示子程序的設(shè)計(jì);最后對(duì)本次設(shè)計(jì)進(jìn)行了系統(tǒng)的總結(jié)。 具體的硬件電路包括 stc89c52 單片機(jī)的外圍電路以及 lcd 液晶顯示電路、霍爾檢 測(cè)電路等。 軟件設(shè)計(jì)包括:芯片的初始化程序、定時(shí)中斷采樣子程序、顯示子程序等,軟件 采用 c 語言編寫,軟件設(shè)計(jì)的思想主要是自頂向下,模塊化設(shè)計(jì),各個(gè)子模塊逐一設(shè) 計(jì)。 1.2 任務(wù)分析與實(shí)現(xiàn) 本設(shè)計(jì)
7、的任務(wù)是:以 stc89c52 單片機(jī)為處理核心,用傳感器將車輪的轉(zhuǎn)數(shù)轉(zhuǎn)換為 電脈沖,進(jìn)行處理后送入單片機(jī)。里程及速度的測(cè)量,是經(jīng)過 stc89c52 的定時(shí)/計(jì)數(shù) 器測(cè)出定時(shí) 1s 會(huì)計(jì)數(shù)幾個(gè)脈沖,再經(jīng)過單片機(jī)的計(jì)算得出,其結(jié)果通過 lcd 液晶顯示 器顯示出來。 測(cè)速,首先要解決是采樣的問題。使用單片機(jī)進(jìn)行測(cè)速,可以使用簡(jiǎn)單的脈沖計(jì) 數(shù)法。只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個(gè)或固定的多個(gè)脈沖,將脈沖送入單片機(jī)中進(jìn)行 計(jì)算,即可獲得轉(zhuǎn)速的信息。常用的測(cè)速元件有霍爾傳感器、光電傳感器和光電編碼 器。里程測(cè)量傳感器的選擇也有以下幾種方案:使用光敏電阻對(duì)里程進(jìn)行測(cè)量、利用 編碼器對(duì)車輪的圈數(shù)進(jìn)行測(cè)量、利用
8、霍爾傳感器對(duì)里程進(jìn)行測(cè)量、利用干簧管型傳感 器測(cè)量里程。 要求達(dá)到的各項(xiàng)指標(biāo)及實(shí)現(xiàn)方法如下: (1).上電后實(shí)時(shí)顯示速度 (2).路程實(shí)時(shí)記錄(掉電存儲(chǔ)) (3).半徑可設(shè)定(掉電存儲(chǔ)) (4).超速報(bào)警 (5).掉電存儲(chǔ) 實(shí)現(xiàn):利用軟件編程,對(duì)數(shù)據(jù)進(jìn)行處理得到需要的數(shù)值。 最終實(shí)現(xiàn)目標(biāo):自行車的速度里程表具有里程、速度測(cè)試與顯示功能,采用單片 機(jī)作控制,顯示電路可顯示里程及速度。 1.3 單片機(jī)選擇 隨著微電子技術(shù)和超大規(guī)模集成電路技術(shù)的發(fā)展,單片微型計(jì)算機(jī)以其體積小、性 價(jià)比高、功能強(qiáng)、可靠性高等獨(dú)有的特點(diǎn),在各個(gè)領(lǐng)域(如工業(yè)控制、家電產(chǎn)品、汽 車電子、智能儀器儀表)得到了廣泛的應(yīng)用。下面
9、就簡(jiǎn)要介紹具有代表性的幾款單片 機(jī)6。 1. 8031 單片機(jī)是 intel 公司生產(chǎn)的 mcs-51 系列單片機(jī)中的一種,除無片內(nèi) rom 外,其余特性與 mcs-51 單片機(jī)基本一樣,內(nèi)部含有一個(gè) 8 位 cpu、128 個(gè)字節(jié)的 ram,21 個(gè)特殊功能寄存器。而單片機(jī) 8031 要進(jìn)行存儲(chǔ)器的擴(kuò)展比較麻煩,外圍器件 多,而且 8031 的功耗也大。 2. 單片機(jī) 8032/8052/8752 是增強(qiáng)型產(chǎn)品,而 8032、80c32 片內(nèi)是沒有 rom 的, 而 89c51 內(nèi)部含有 4k 字節(jié)的 flash 的 rom。52 系列的單片機(jī)計(jì)數(shù)器為三個(gè) 16 位計(jì)數(shù) 器,中斷源為 8 個(gè)
10、。 3.8051 是最早最典型的產(chǎn)品,是在 8031 的基礎(chǔ)上片內(nèi)又集成 4krom,作為程序存 儲(chǔ)器。8051 單片機(jī)與 80c51 單片機(jī)從外形看是完全一樣的,其指令系統(tǒng)、引腳信號(hào)、 總線等完全一致(完全兼容) ,也就是說在 8051 下開發(fā)的軟件完全可以在 80c51 上應(yīng) 用,反過來,在 80c51 下開發(fā)的軟件也可以在 8051 上應(yīng)用7。 4.stc89c52 是一種低功耗、高性能 cmos8 位微控制器,具有 8k 在系統(tǒng)可編程 flash 存儲(chǔ)器。在單片機(jī)芯片上,擁有靈巧的 8 位 cpu 和在系統(tǒng)可編程 flash,使得 stc89c52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、
11、超有效的解決方案。具有以下標(biāo)準(zhǔn) 功能:8k 字節(jié) flash,512 字節(jié) ram, 32 位 i/o 口線,看門狗定時(shí)器,內(nèi)置 4kb eeprom,max810 復(fù)位電路,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全 雙工串行口。另 cpu 停止工作,允許 ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉 電保護(hù)方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中 斷或硬件復(fù)位為止。最高運(yùn)作頻率 35mhz,6t/12t 可選8。 在本次設(shè)計(jì)中,經(jīng)過分析與比較,選擇了單片機(jī) stc89c52,這是因?yàn)椋?1.單片機(jī) stc89c52 采用的是 chm
12、os 工藝:高速度、高密度、低功耗。也就是說 stc89c52 單片機(jī)是一種低功耗單片機(jī)。 2.可靠性高、便于擴(kuò)展。 3.控制功能強(qiáng)。 4.單片機(jī) 89c51 片內(nèi)存儲(chǔ)容量較小,除此之外,單片機(jī) stc89c52 還具有集成度高、 體積小、性價(jià)比高、應(yīng)用廣泛、易于產(chǎn)品化等特點(diǎn)。 1.4 顯示模塊的選擇 動(dòng)態(tài)掃描 led 數(shù)碼管顯示。里程表的顯示內(nèi)容以數(shù)字為主,利用 led 數(shù)碼管可基 本滿足使用要求,且成本較低。但是用動(dòng)態(tài)掃描的方式驅(qū)動(dòng)數(shù)碼管,亮度太低,在陽 光下幾乎看不見顯示內(nèi)容,失去使用價(jià)值。 串行靜態(tài) led 數(shù)碼管顯示。把單片機(jī)的串行口設(shè)置為方式 0(同步移位寄存器) , 輸出顯示信息
13、,可實(shí)現(xiàn) led 數(shù)碼管的靜態(tài)顯示,其亮度令人滿意。但由于要使用 74hc164/74ls164 串并轉(zhuǎn)換芯片驅(qū)動(dòng) led 數(shù)碼管,因此會(huì)帶來體積大、成本高、功耗高 等缺點(diǎn)。 lcd 液晶顯示模塊。液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn) 在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了9。 在本次設(shè)計(jì)中,經(jīng)過分析與比較使用 lcd1602 作為顯示模塊。 1.5 傳感器的選擇 紅外光電傳感器。把紅外對(duì)管分別安裝在自行車車輪的兩側(cè),當(dāng)車輪轉(zhuǎn)動(dòng)時(shí),輻 條會(huì)阻擋紅外對(duì)管的光路,接收管輸出低電平,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、速度 等。紅外對(duì)管的優(yōu)點(diǎn)是測(cè)量精度高,缺點(diǎn)是安
14、裝比較復(fù)雜和容易受外來光線、灰塵等 的影響。 開關(guān)型霍爾傳感器?;魻杺鞲衅魇抢没魻栃?yīng)把磁輸入信號(hào)轉(zhuǎn)換成電信號(hào)的器 件。把開關(guān)型霍爾傳感器安裝在自行車貼近車輪的支架上,磁鋼安裝在輻條上,當(dāng)磁 鋼靠近霍爾傳感器的時(shí)候,傳感器輸出一個(gè)無抖動(dòng)的低電平,單片機(jī)根據(jù)此信號(hào)可計(jì) 算里程、速度等?;魻杺鞲衅鞯膬?yōu)點(diǎn)是穩(wěn)定和安裝簡(jiǎn)易,缺點(diǎn)是成本較高。 干簧管。干簧管是一種磁敏的有觸點(diǎn)無源電子開關(guān)元件,應(yīng)用在里程表上的原理 與開關(guān)型霍爾傳感器類似,把干簧管安裝在自行車貼近車輪的支架上,磁鋼安裝在輻 條上,當(dāng)磁鋼靠近霍爾傳感器的時(shí)候,干簧管閉合,單片機(jī)根據(jù)此信號(hào)可計(jì)算里程、 速度等。干簧管的優(yōu)點(diǎn)是成本低廉和安裝簡(jiǎn)
15、易,缺點(diǎn)是比較脆弱和不夠穩(wěn)定。 本里程表選用開關(guān)型霍爾傳感器,穩(wěn)定、安裝簡(jiǎn)易。 1.6 系統(tǒng)簡(jiǎn)介 系統(tǒng)由霍爾傳感器脈沖檢測(cè)電路、lcd1602 液晶顯示、數(shù)據(jù)存儲(chǔ)模塊、主控單片機(jī) 系統(tǒng)組成,霍爾傳感器把車輪的每周期信號(hào)轉(zhuǎn)換成脈沖傳送給單片機(jī),單片機(jī)通過判 斷脈沖周期計(jì)算出轉(zhuǎn)速及路程,通過數(shù)據(jù)穩(wěn)定處理等程序,得出轉(zhuǎn)速穩(wěn)定近似值,通 過 lcd1602 液晶屏顯示,并記錄總路程于內(nèi)部掉電存儲(chǔ),能保證掉電數(shù)據(jù)不丟失。系 統(tǒng)方框圖如圖 1-1 所示。 測(cè)量自行車的速度的原理有兩種: 測(cè)量一定時(shí)間間隔 t,自此時(shí)間段自行車車輪轉(zhuǎn)過的圈數(shù) q。假設(shè)車輪周長為 c,則 速度 v=c*q/t;測(cè)量自行車車輪轉(zhuǎn)
16、過一圈的時(shí)間 t,則速度 v=c/t。本里程表是根據(jù)前 一個(gè)原理計(jì)算速度的。 主控單片機(jī)霍爾傳感器 車輪運(yùn)動(dòng) 內(nèi)部掉電存儲(chǔ)模塊 輸入控制 lcd1602 圖 1-1 系統(tǒng)方框圖 工作原理: 里程、速度等都是由霍爾元器件測(cè)量。通過頻率計(jì)輸出脈沖,代表車輪轉(zhuǎn)動(dòng)圈數(shù), 已知自行車輪胎的半徑為 50cm,輪子每轉(zhuǎn)動(dòng)一圈,安裝在車輪輻條上的磁鋼接近霍爾 傳感器一次,傳感器送一個(gè)脈沖信號(hào)給單片機(jī)的外部中斷計(jì)數(shù)器 t0,產(chǎn)生一次中斷, 圈數(shù)加一。圈數(shù)*2*0.5 即為車前進(jìn)距離,而通過單片機(jī) t0 定時(shí)器記錄時(shí)間,間隔 1 秒,1 秒內(nèi)的前進(jìn)距離除以時(shí)間 1 秒,得到 1 秒內(nèi)的當(dāng)前速度。而總里程 l 除以
17、總時(shí) 間 t 得到平均速度10。 若速度大于所設(shè)定的值,則 p1.0 口輸出低電平,led 警示燈亮,揚(yáng)聲器發(fā)出聲音。 可以通過按鍵來改變半徑和速度的上限值。 第二章 硬件設(shè)計(jì) 2.1 單片機(jī)的介紹 2.1.1 單片機(jī)原理簡(jiǎn)介 單片機(jī)是指集成在一個(gè)芯片上的微型計(jì)算機(jī),也就是把組成微型計(jì)算機(jī)的各種功 能部件,包括 cpu(central processing unit)、隨機(jī)存儲(chǔ)器 ram(random access memory)、只讀存儲(chǔ)器 rom(read-only memory)、基本輸入/輸出(input/output)接口電 路。定時(shí)器/計(jì)數(shù)器等部件都制作在一塊集成芯片上,構(gòu)成一個(gè)完
18、整的微型計(jì)算機(jī)從而 實(shí)現(xiàn)微型計(jì)算機(jī)的基本功能。單片機(jī)內(nèi)部結(jié)構(gòu)示意圖如圖 2-1 所示11。 定時(shí)/計(jì)數(shù)器中斷系統(tǒng) cpu 存儲(chǔ)器 并行 i/o 口 串口 i/o 口 txd rxd t int p0-p3 圖 2-1 單片機(jī)內(nèi)部結(jié)構(gòu)示意圖 1.中央處理器(cpu) 中央處理器是單片機(jī)最核心的部分,主要完成運(yùn)算和控制功能。 2.內(nèi)部存儲(chǔ)器 內(nèi)部存儲(chǔ)器包括內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi)部 ram)和內(nèi)部程序存儲(chǔ)器。存儲(chǔ)器是由大量 的寄存器所組成,其中每一個(gè)寄存器就稱為一個(gè)存儲(chǔ)單元。 3.定時(shí)/計(jì)數(shù)器 單片機(jī)的定時(shí)器和計(jì)數(shù)器是同一結(jié)構(gòu),只是計(jì)數(shù)器記錄的是單片機(jī)外部發(fā)生的事 件,由單片機(jī)的外部電路提供計(jì)數(shù)信號(hào);而
19、定時(shí)器是由單片機(jī)內(nèi)部提供一個(gè)非常穩(wěn)定 的計(jì)數(shù)信號(hào)。 4.中斷系統(tǒng) 中斷系統(tǒng)在計(jì)算機(jī)中起著十分重要的作用,是現(xiàn)代計(jì)算機(jī)系統(tǒng)中廣泛采用的一種 實(shí)時(shí)控制技術(shù),能對(duì)突發(fā)事件進(jìn)行及時(shí)處理,從而大大提高系統(tǒng)的實(shí)時(shí)性能。 5.串行 i/o 接口 串行 i/o 口的數(shù)據(jù)各位按順序傳輸,其特點(diǎn)是需要一對(duì)傳輸線,成本低;但速度 慢,效率低,適合靜態(tài)顯示。 6.并行 i/o 接口 并行 i/o 接口的數(shù)據(jù)所有位同時(shí)傳送。其特點(diǎn)是傳輸速度快,效率高;但傳送多 少位就需要多少根傳輸線,因此傳送成本高,適合動(dòng)態(tài)顯示。 2.1.2 單片機(jī)的引腳功能介紹 stc89c52 是一種帶 8k 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fp
20、erom-flash programable and erasable read only memory )的低電壓,高性能 comos8 的微處 理器,俗稱單片機(jī)。該器件采用 atmel 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo) 準(zhǔn)的 mcs-51 指令集和輸出管腳相兼容。引腳如圖 2-2 所示: 圖 2-2 stc89c52 引腳圖 stc89c52 具體介紹如下: 主電源引腳(2 根) vcc(pin40):電源輸入,接5v 電源 gnd(pin20):接地線 外接晶振引腳(2 根) xtal1(pin19):片內(nèi)振蕩電路的輸入端 xtal2(pin18):片內(nèi)振蕩電路的輸出端 控制引腳
21、(4 根) rst/vpp(pin9):復(fù)位引腳,引腳上出現(xiàn) 2 個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。 ale/prog(pin30):地址鎖存允許信號(hào) psen(pin29):外部存儲(chǔ)器讀選通信號(hào) ea/vpp(pin31):程序存儲(chǔ)器的內(nèi)外部選通。接低電平,從外部程序存儲(chǔ)器讀指令, 如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。 可編程輸入/輸出引腳(32 根) stc89c52 單片機(jī)有 4 組 8 位的可編程 i/o 口,分別為 p0、p1、p2、p3 口,每個(gè)口有 8 位(8 根引腳),共 32 根。 po 口(pin39pin32):8 位雙向 i/o 口線,名稱為 p0.0p0.7 p1
22、口(pin1pin8):8 位準(zhǔn)雙向 i/o 口線,名稱為 p1.0p1.7 p2 口(pin21pin28):8 位準(zhǔn)雙向 i/o 口線,名稱為 p2.0p2.7 p3 口(pin10pin17):8 位準(zhǔn)雙向 i/o 口線,名稱為 p3.0p3.7 2.2 單片機(jī)外圍電路的設(shè)計(jì) 2.2.1 時(shí)鐘電路 stc89c52 內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳 xtal1 和 xtal2 分 別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。本文所 用的是內(nèi)部方式的時(shí)鐘電路,如圖 2-3 所示,在 xtal1 和 xtal2 引腳上外接定時(shí)元件, 內(nèi)部振蕩器就產(chǎn)生自
23、激振蕩。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。 晶體振蕩頻率可以在 1.212mhz 之間選擇,電容值在 530pf 之間選擇,電容值的大 小可對(duì)頻率起微調(diào)的作用。 y1 12mhz c2 22pf c3 22pf xtal1 xtal2 圖 2-3 時(shí)鐘電路 2.2.2 復(fù)位電路的設(shè)計(jì) 本系統(tǒng)的復(fù)位電路是采用按鍵復(fù)位的電路,如圖 2-4 所示,是常用復(fù)位電路之一。 單片機(jī)復(fù)位通過按鍵產(chǎn)生高電平復(fù)位稱手動(dòng)復(fù)位。上電時(shí),剛接通電源,電容 c 相當(dāng) 于瞬間短路,+5v 立即加到 ret/vpd 端,該高電平使 89c52 全機(jī)自動(dòng)復(fù)位,這就是上電 復(fù)位;若運(yùn)行過程中需要程序從頭執(zhí)行,只
24、需按下按鍵即可。按下按鍵,可直接把+5v 加到了 ret/vpd 端從而復(fù)位稱為手動(dòng)復(fù)位。復(fù)位后,p0 到 p3 并行 i/o 口全為高電平, 其它寄存器全部清零,只有 sbuf 寄存器狀態(tài)不確定。 工作原理:通電瞬間,rc 電路充電,rst 引腳出現(xiàn)高電平,只要 rst 端保持 10ms 以上高電平,就能使單片機(jī)有效地復(fù)位。 c1 4.7uf r1 10k vcc rst 主主 主主 1 1 2 2 3 3 4 4 r4 傳傳傳傳4 圖 2-4 按鍵復(fù)位電路 2.2.3 報(bào)警電路的設(shè)計(jì) 本次報(bào)警電路采用蜂鳴器報(bào)警,當(dāng)自行車行駛的速度超過本設(shè)計(jì)所設(shè)定的速度時(shí), p1.0 口輸出低電平,使三極管
25、導(dǎo)通,蜂鳴器發(fā)出報(bào)警信號(hào)。報(bào)警電路如 2-5 所示: b1 bell q 1 pn p v cc r6 1.5k bell 圖 2-5 報(bào)警電路 2.3 傳感器 霍爾傳感器是一種磁傳感器。用它可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)有關(guān) 的場(chǎng)合中使用。霍爾傳感器以霍爾效應(yīng)為工作基礎(chǔ),是由霍爾元件和它的附屬電路組 成的集成傳感器?;魻杺鞲衅髟诠I(yè)生產(chǎn)、交通運(yùn)輸和日常生活中有著非常廣泛的應(yīng) 用12。 1.霍爾效應(yīng)霍爾元件-霍爾傳感器 由于霍爾元件產(chǎn)生的電勢(shì)差很小,故通常將霍爾元件與放大器電路、溫度補(bǔ)償電路 及穩(wěn)壓電源電路等集成在一個(gè)芯片上,稱之為霍爾傳感器. a44e 123 圖 2-6 霍爾傳感器
26、霍爾傳感器也稱為霍爾集成電路,其外形較小,如圖 2-6 所示,是其中一種型號(hào) 的外形圖。 2.霍爾傳感器的分類 霍爾傳感器分為線性型霍爾傳感器和開關(guān)型霍爾傳感器兩種。 (1)線性型霍爾傳感器由霍爾元件、線性放大器和射極跟隨器組成,它輸出模擬量。 (2)開關(guān)型霍爾傳感器由穩(wěn)壓器、霍爾元件、差分放大器,斯密特觸發(fā)器和輸出級(jí) 組 成,它輸出數(shù)字量。 3.霍爾傳感器的特性 (1)線性型霍爾傳感器的特性如圖 2-7 所示: 圖 2-7 線性霍爾傳感器的特性 輸出電壓與外加磁場(chǎng)強(qiáng)度呈線性關(guān)系,如圖 2-7 所示,可見,在b1b2的磁感應(yīng) 強(qiáng)度范圍內(nèi)有較好的線性度,磁感應(yīng)強(qiáng)度超出此范圍時(shí)則呈現(xiàn)飽和狀態(tài)。 (
27、2)開關(guān)型霍爾傳感器的特性 如圖 2-8 所示,其中bop為工作點(diǎn)“開”的磁感應(yīng)強(qiáng)度,brp為釋放點(diǎn)“關(guān)”的磁 感應(yīng)強(qiáng)度。 圖 2-8 開關(guān)型霍爾傳感器特性 當(dāng)外加的磁感應(yīng)強(qiáng)度超過動(dòng)作點(diǎn)bop時(shí),傳感器輸出低電平,當(dāng)磁感應(yīng)強(qiáng)度降到動(dòng) 作點(diǎn)bop以下時(shí),傳感器輸出電平不變,一直要降到釋放點(diǎn)brp時(shí),傳感器才由低電平 躍變?yōu)楦唠娖?。bop與brp之間的滯后使開關(guān)動(dòng)作更為可靠。 另外還有一種“鎖鍵型”(或稱“鎖存型”)開關(guān)型霍爾傳感器,其特性如圖 2-9 所示: 圖 2-9 鎖鍵型開關(guān)型霍爾傳感器 當(dāng)磁感應(yīng)強(qiáng)度超過動(dòng)作點(diǎn)bop時(shí),傳感器輸出由高電平躍變?yōu)榈碗娖?,而在外磁?chǎng) 撤消后,其輸出狀態(tài)保持不變
28、(即鎖存狀態(tài)),必須施加反向磁感應(yīng)強(qiáng)度達(dá)到brp時(shí), 才能使電平產(chǎn)生變化。 4.霍爾傳感器的應(yīng)用 按被檢測(cè)對(duì)象的性質(zhì)可將它們的應(yīng)用分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測(cè) 受檢對(duì)象本身的磁場(chǎng)或磁特性,后者是檢測(cè)受檢對(duì)象上人為設(shè)置的磁場(chǎng),這個(gè)磁場(chǎng)是 被檢測(cè)的信息的載體,通過它,將許多非電、非磁性物理量,例如速度、加速度、角度、 轉(zhuǎn)數(shù)、轉(zhuǎn)速以及工作狀態(tài)發(fā)生變化的時(shí)間等,轉(zhuǎn)變成電學(xué)量來進(jìn)行檢測(cè)和控制11。 (1)線性型霍爾傳感器主要用于一些物理量的測(cè)量。 電流傳感器 位移測(cè)量 (2)開關(guān)型霍爾傳感器主要用于測(cè)轉(zhuǎn)數(shù)、轉(zhuǎn)速、風(fēng)速、流速、接近開關(guān)、關(guān)門告 知器、報(bào)警器、自動(dòng)控制電路等。 如圖 2-10 所
29、示,在非磁性材料的圓盤邊上粘一塊磁鋼,霍爾傳感器放在靠近圓 盤邊緣處,圓盤旋轉(zhuǎn)一周,霍爾傳感器就輸出一個(gè)脈沖,從而可測(cè)出轉(zhuǎn)數(shù)(計(jì)數(shù)器), 若接入頻率計(jì),便可測(cè)出轉(zhuǎn)速10。 圖 2-10 模擬測(cè)速 如果把開關(guān)型霍爾傳感器按預(yù)定位置有規(guī)律地布置在軌道上,當(dāng)裝在運(yùn)動(dòng)車輛上 的永磁體經(jīng)過它時(shí),可以從測(cè)量電路上測(cè)得脈沖信號(hào)。根據(jù)脈沖信號(hào)的分布可以測(cè)出 車輛的運(yùn)動(dòng)速度。 本設(shè)計(jì)采用的開關(guān)型霍爾傳感器尺寸小、工作電壓范圍寬,工作可靠,價(jià)格便宜, 因此獲得極為廣泛的應(yīng)用。電路如圖 2-11 所示: 圖 2-11 開關(guān)型霍爾傳感器 傳感器的工作原理如圖 2-12 所示: 信號(hào)放大波形變化波形整形單片機(jī) 圖 2-
30、12 傳感器工作原理 2.4 顯示電路的設(shè)計(jì) 在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品 的通用器件,如在計(jì)算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示 的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以 下幾種:發(fā)光管、led 數(shù)碼管、液晶顯示器。發(fā)光管和 led 數(shù)碼管比較常用,軟件都比 較簡(jiǎn)單,但硬件電路復(fù)雜。 在單片機(jī)系統(tǒng)中應(yīng)用液晶顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn): (1)顯示質(zhì)量高 由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光, 而不像陰極射線管顯示器(crt)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯
31、示器畫質(zhì)高 且不會(huì)閃爍。 (2)數(shù)字式接口 液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。 (3)體積小、重量輕 液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上 比相同顯示面積的傳統(tǒng)顯示器要輕得多。 (4)功耗低 相對(duì)而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng) ic 上,因而耗電量 比其它顯示器要少得多。 2.4.1 顯示器 lcd1602 的介紹 1.液晶顯示原理 液晶顯示的原理是利用液晶的物理特性,通過電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電 就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路 直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯
32、示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z 像機(jī)、pda 移動(dòng)通信工具等眾多領(lǐng)域。 2.液晶顯示器的分類 液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點(diǎn)陣式 等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式來分, 可以分為靜態(tài)驅(qū)動(dòng)(static)、單純矩陣驅(qū)動(dòng)(simple matrix)和主動(dòng)矩陣驅(qū)動(dòng) (active matrix)三種。 3.液晶顯示器各種圖形的顯示原理: 線段的顯示 點(diǎn)陣圖形式液晶由 mn 個(gè)顯示單元組成,假設(shè) lcd 顯示屏有 64 行,每行有 128 列,每 8 列對(duì)應(yīng) 1 字節(jié)的 8 位,即每行有 16 字節(jié),共 16
33、8=128 個(gè)點(diǎn)組成,屏上 6416 個(gè)顯示單元與顯示 ram 區(qū) 1024 字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位 置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由 ram 區(qū)的 000h00fh 的 16 字節(jié)的內(nèi)容決 定,當(dāng)(000h)=ffh 時(shí),則屏幕的左上角顯示一條短亮線,長度為 8 個(gè)點(diǎn);當(dāng) (3ffh)=ffh 時(shí),則屏幕的右下角顯示一條短亮線;當(dāng)(000h)=ffh,(001h) =00h,(002h)=00h,(00eh)=00h,(00fh)=00h 時(shí),則在屏幕的頂部顯示一 條由 8 段亮線和 8 條暗線組成的虛線。這就是 lcd 顯示的基本原理。 字符的顯示 用 lcd 顯示
34、一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由 68 或 88 點(diǎn)陣組成,既要 找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示 ram 區(qū)的 8 字節(jié),還要使每字節(jié)的不同位為 “1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個(gè)字符。 但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在 文本方式,根據(jù)在 lcd 上開始顯示的行列號(hào)及每行的列數(shù)找出顯示 ram 對(duì)應(yīng)的地址, 設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。 漢字的顯示 漢字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一 般用字模提取軟件),每個(gè)漢字占 32b,分左右兩半,各占 16b,左邊為
35、1、3、5 右邊為 2、4、6根據(jù)在 lcd 上開始顯示的行列號(hào)及每行的列數(shù)可找出顯示 ram 對(duì)應(yīng) 的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加 1,送第二個(gè)字節(jié),換 行按列對(duì)齊,送第三個(gè)字節(jié)直到 32b 顯示完 lcd 就可以得到一個(gè)完整的漢字。 4.主要技術(shù)參數(shù)如表 2-1 所示: 表 2-1 lcd1602 主要技術(shù)參數(shù) 顯示容量162 個(gè)字符 芯片工作電壓4.55.5 工作電流2.0ma(5.0v) 模塊最佳電壓 5.0v 字符尺寸2.954.35(wxh)mm 5.引腳接口說明如表 2-2 所示13: 表 2-2 lcd1602 引腳接口 編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說
36、明 1vss 電源地 9d2 數(shù)據(jù) 2vdd 電源正極 10d3 數(shù)據(jù) 3vl 液晶顯示偏壓 11d4 數(shù)據(jù) 4rs 數(shù)據(jù)/命令選擇 12d5 數(shù)據(jù) 5r/w 讀/寫選擇 13d6 數(shù)據(jù) 6e 使能信號(hào) 14d7 數(shù)據(jù) 7d0 數(shù)據(jù) 15bla 背光源正極 8d1 數(shù)據(jù) 16blk 背光源負(fù)極 第 1 腳:vss 為地電源 第 2 腳:vdd 接 5v 電源 第 3 腳:vl 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度 最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過一個(gè) 10k 的電位器調(diào)整對(duì)比 度。 第 4 腳:rs 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指
37、令寄存器。 第 5 腳:r/w 為寄存器選擇,高電平時(shí)進(jìn)行讀寫操作,低電平時(shí)進(jìn)行寫操作。當(dāng) rs 和 r/w 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) rs 為低電平 r/w 為高電 平時(shí)可以讀信號(hào),當(dāng) rs 為高電平 r/w 為低電平時(shí)可以寫入數(shù)據(jù)。 第 6 腳:e 端為使能端,當(dāng) e 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第 714 腳:d0d7 為 8 位雙向數(shù)據(jù)線。 第 15 腳:背光源正極。 第 16 腳:背光源負(fù)極。 lcd1602 分為帶背光和不帶背光兩種,基本控制器大部分為 hd44780,帶背光的比 不帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如下圖 2-
38、13 所示: 圖 2-13 lcd1602 帶背光與不帶背光的外形尺寸差別 6.lcd 寄存器的選擇如表 2-3 所示: 表 2-3 lcd 寄存器的選擇 er/wrs 功能說明 100 寫入命令寄存器 101 寫入數(shù)據(jù)寄存器 110 讀取忙碌標(biāo)志及 ram 地址 111 讀取 ram 數(shù)據(jù) 0x 不動(dòng)作 7.1602lcd 的指令說明及時(shí)序 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令,控制指令如表 2-4 所示: 表 2-4 1602 控制指令 序號(hào)指令 rsr/wd7d6d5d4d3d2d1d0 1 清除顯示 0000000001 2 光標(biāo)返回 000000001* 3 置輸入模
39、式 00000001i/ds 4 顯示開/關(guān)控制 0000001dcb 5 光標(biāo)或字符移位 000001s/c r/l* 6 置功能 00001dlnf* 7 置字符發(fā)生存貯器地址 0001 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 001 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 01bf 計(jì)數(shù)器地址 10 寫數(shù)到 cgram 或 ddram) 10 要寫的數(shù)據(jù)內(nèi)容 11 從 cgram 或 ddram 讀數(shù) 11 讀出的數(shù)據(jù)內(nèi)容 1602 液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明: 1 為高電平、0 為低電平) 指令 1:清除顯示,指令碼 01h,光標(biāo)復(fù)位到地址
40、00h 位置。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00h。 指令 3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕 上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令 4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示 關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) b:控制光標(biāo) 是否閃爍,高電平閃爍,低電平不閃爍。 指令 5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令 6:功能設(shè)置命令 dl:高電平時(shí)為 4 位總線,低電平時(shí)為 8 位總線 n:低電平時(shí) 為單行顯示,高電平時(shí)雙
41、行顯示 f: 低電平時(shí)顯示 5x7 的點(diǎn)陣字符,高電平時(shí)顯示 5x10 的點(diǎn)陣字符。 指令 7:字符發(fā)生器 ram 地址設(shè)置。 指令 8:ddram 地址設(shè)置。 指令 9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命 令或者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 2.4.2 顯示電路的設(shè)計(jì)電路 本設(shè)計(jì)中 lcd1602 的數(shù)據(jù)總線接 stc89c52 單片機(jī)的 p0 口,控制引腳 rs 接 p2.7 口, r/w 接 p2.6 口,e 接 p2.5 口。vl 是對(duì)比控制引腳,電壓在 05v 之間,bla 和 blk 是 背光電源的正負(fù)
42、極,使用時(shí)需要連接限流電阻,電流大小可以控制背光亮度。液晶顯 示電路如圖 2-14 所示14: ea/vpp 31 x 1 19 x 2 18 reset 9 rd/p37 17 wr/p36 16 p32/int0 12 p33/int1 13 p34/t0 14 p35/t1 15 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27
43、 28 psen 29 a le/prd g 30 p31/tx d 11 p30/rx d 10 u 2 stc89c52rc v cc v cc vss 1 vdd 2 vl 3 rs 4 r/w 5 e 6 d0 7 d1 8 d2 9 d3 10 d4 11 d5 12 d6 13 d7 14 bla 15 blk 16 u 1lcd 1602 v cc r2 51r v cc 主主 主主主 主 主主 主主主 c 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 r5 傳傳 圖 2-14 液晶顯示電路 第三章 軟件設(shè)計(jì) 3.1 軟件實(shí)現(xiàn)的功能 1. 利用霍爾傳感器產(chǎn)生
44、里程數(shù)的脈沖信號(hào) 2. 利用單片機(jī)自帶的計(jì)數(shù)器 t0 對(duì)霍爾傳感器脈沖信號(hào)進(jìn)行計(jì)數(shù) 3. 對(duì)數(shù)據(jù)進(jìn)行處理,要求用 lcd 顯示里程總數(shù)和即時(shí)速度 4. 自行車超速,系統(tǒng)發(fā)出報(bào)警信號(hào)。 3.2 主程序 1.初始化程序 主要工作:將 t0 設(shè)為外部控制定時(shí)器方式;外中斷 0 及外中斷 1 設(shè)為邊沿觸發(fā)方 式;將部分內(nèi)存單元清零;設(shè)置輪子周長;開中斷及定時(shí)器;將 eeprom 中的數(shù)據(jù)調(diào)入 內(nèi)存等。 2.輪圈大小的設(shè)計(jì) p1.5 和 p1.6 兩個(gè)引腳分別接兩個(gè)開關(guān),通過調(diào)節(jié)這兩個(gè)開關(guān),可以改變輪圈的半 徑。 3.主要程序流程圖 通過對(duì)按鍵和定時(shí)器的監(jiān)測(cè),進(jìn)行按鍵和顯示獨(dú)立執(zhí)行,當(dāng)有按鍵按下根據(jù)按鍵
45、 的類型作相應(yīng)的處理,定時(shí) 500ms 進(jìn)行一次顯示更新。程序流程圖如圖 3-1 所示: 500 ms是否到 是否按鍵按下 y n 開始 初始化數(shù)據(jù)及端口 按鍵處理并保存數(shù)據(jù) 時(shí)間計(jì)數(shù)及數(shù)據(jù)顯示 y 圖 3-1 軟件總體流程圖 4.算法流程 a44e 輸出端 out 連到單片機(jī)外部中斷 t0 上,用磁鐵靠近 a44e,輸出端產(chǎn)生一個(gè)低 電平信號(hào),使 cpu 產(chǎn)生一次中斷計(jì)一次數(shù)。假定輪圈的周長為 l,在輪圈上安裝 m 個(gè)永 久磁鐵,則測(cè)得的里程值最大誤差為 l/m。本設(shè)計(jì)中取 m=1。當(dāng)輪子每轉(zhuǎn)一圈,通過霍 爾元件傳感器采集到一個(gè)脈沖信號(hào),并從引腳 p3.2 中斷 0 端輸入,可以采用兩種定時(shí)
46、 器,一個(gè)定時(shí)器定位 1s,一個(gè)是計(jì)數(shù)器。計(jì)數(shù)器是用來計(jì)數(shù) 1s 鐘輪子的圈數(shù)。從而可 以計(jì)算出它的里程與速度。 里程s=周長l*圈數(shù)n 速度 v=周長 l/t 通過計(jì)數(shù)外部中斷的脈沖數(shù),每經(jīng)過 1s 進(jìn)行一次監(jiān)測(cè),從而得出速度,并計(jì)算出 路程,再通過液晶 1602 顯示。程序流程圖如圖 3-2 所示: 定時(shí)器1s是否到位 是否有脈沖 n n y 開始 外部中斷計(jì)數(shù) 計(jì)算轉(zhuǎn)速及路程 y 數(shù)據(jù)存儲(chǔ)及液晶顯示 圖 3-2 算法流程 3.3 顯示子程序的設(shè)計(jì) 本設(shè)計(jì)采用 lcd 液晶顯示器接口電路,數(shù)據(jù)總線接 stc89c52 單片機(jī)的 p0 口,控 制引腳 rs 接 p2.7 口,r/w 接 p2
47、.6 口。e 接 p2.5 口。通過編輯軟件,先把所要顯示的 數(shù)據(jù)放入存儲(chǔ)單元,然后把數(shù)據(jù)送入對(duì)應(yīng)的地址,完成顯示。液晶屏每 0.5s 更新一次 顯示。若發(fā)生報(bào)警,顯示屏上的值將會(huì)停留在最近一次的顯示值,直至復(fù)位按鈕按下 或按鈕按下。顯示子程序的流程圖如圖 3-3 所示: y 開始 顯示屏初始化 讀取顯示數(shù)據(jù)v和s 顯示v和s 延時(shí)0.5s? 更新顯示v和s p1.0=0? 保持顯示v和s y n n 圖 3-3 顯示程序框圖 第四章 系統(tǒng)調(diào)試與仿真 系統(tǒng)調(diào)試包括硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件系統(tǒng)的硬 件電路故障包括設(shè)計(jì)性錯(cuò)誤和工藝故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)
48、試, 除發(fā)現(xiàn)和解決程序錯(cuò)誤外,也可以發(fā)現(xiàn)硬件故障校時(shí)電路。本次設(shè)計(jì)中需要的調(diào)試如下: 4.1 系統(tǒng)仿真調(diào)試 本次實(shí)驗(yàn)采用的是 uvision2件進(jìn)行調(diào)試。它是 keil software 公司推出的一款可 用于多種8051mcu 的集成開發(fā)環(huán)境(ide) ,該 ide 同時(shí)也是 pk51及其它開發(fā)套件的一 個(gè)重要組件。除增加了源代碼、功能導(dǎo)航器、模板編輯以及改進(jìn)的搜索功能外, uvision2提供了一個(gè)配置向?qū)Чδ埽铀倭藛?dòng)代碼和配置文件的生成。此外其內(nèi)置 的仿真器可模擬目標(biāo) mcu,包括指令集、片上外圍設(shè)備及外部信號(hào)等。uvision2提供邏 輯分析器,可監(jiān)控基于 mcui/o 引腳和外設(shè)
49、狀態(tài)變化下的程序變量15。 程序調(diào)試界面如圖 4-1 所示。 4.2 protel99 的介紹 早期的 protel 主要作為印制板自動(dòng)布線 工具使用,運(yùn)行在 dos 環(huán)境,對(duì)硬件的 要求很低,在無硬盤 286 機(jī)的 1m 內(nèi)存下就能運(yùn)行,但它的功能也較少,只有電路 原理圖繪制與印制板設(shè)計(jì)功能,其印制板自動(dòng)布線的布通率也低,而現(xiàn)今的 protel 已發(fā)展到 dxp 2004,是個(gè)龐大的 eda 軟件,完全安裝有 200 多 m,它工作 在 windows95 環(huán)境下,是個(gè)完整的板級(jí)全方位電子設(shè)計(jì)系統(tǒng),它包含了電路原理圖 繪制、模擬電路與數(shù)字電路 混合信號(hào)仿真、多層 印制電路板 設(shè)計(jì)(包含印制電
50、路 板自動(dòng)布線) 、可編程邏輯器件 設(shè)計(jì)、圖表生成、 電子表格生成、支持宏操作等功 能,并具有 client/server(客戶/服務(wù)器)體系結(jié)構(gòu),同時(shí)還兼容一些其它設(shè)計(jì) 軟件的文件格式,如 orcad,pspice,excel 等,其多層印制線路板的自動(dòng)布線可 實(shí)現(xiàn)高密度 pcb 的 100%布通率。在國內(nèi) protel 軟件較易買到,有關(guān) protel 軟件 和使用說明的書也有很多,這為它的普及提供了基礎(chǔ)。 因此本設(shè)計(jì)的原理圖用的軟件是 protel99。圖見附錄 2 所示。 圖 4-1 程序調(diào)試界面 4.3 硬件調(diào)試 4.3.1 常見的硬件故障 (1)邏輯錯(cuò)誤: 樣機(jī)硬件的邏輯錯(cuò)誤是由于
51、設(shè)計(jì)錯(cuò)誤或加工過程中的工藝性錯(cuò)誤而造成的,包括 錯(cuò)線,開路和短路等等,其中短路是最常見的故障。 (2)元器件失效: 元器件失效的原因有兩個(gè)方面,一是器件本身已經(jīng)損壞或性能不符合要求;二是由 于組裝錯(cuò)誤造成的元器件失效,如電解電容,二極管的極性錯(cuò)誤或集成塊安裝方向錯(cuò)誤 等。 (3)性差: 若樣機(jī)中存在電源故障,則加電后將造成器件損壞。電源故障包括電壓值不符合設(shè) 計(jì)要求,電源引出線和插座不對(duì)應(yīng),電源功率不足和負(fù)載能力差等。 4.3.2 調(diào)試方法 脫機(jī)調(diào)試是在樣機(jī)加點(diǎn)之前,先用萬用表等工具,根據(jù)硬件電氣原理圖和裝配圖,仔 細(xì)檢查樣機(jī)線路的正確性,并核對(duì)元器件型號(hào),規(guī)格和安裝是否合要求。特別注意電源
52、的走線,防止電源之間的短路和極性錯(cuò)誤,重點(diǎn)檢查系統(tǒng)的總線或其他信號(hào)線之間是否 存在相互的短路。樣機(jī)所用的電源,事先必須單獨(dú)調(diào)試后才能加到系統(tǒng)中,在不插芯片 的情況下,加電檢測(cè)各底座上引腳的電位,仔細(xì)測(cè)量各點(diǎn)電位是否正常,尤其應(yīng)注意單片 機(jī)底座上的各點(diǎn)電位是否正常。 4.3.3調(diào)試步驟 接通 5v 電源,液晶顯示器會(huì)顯示速度為 0,當(dāng)磁鐵靠近霍爾元器件時(shí),就會(huì)顯示 速度的值,不停的靠近霍爾傳感器,速度的值就會(huì)越來越大。可以通過切換開關(guān)來查 看此時(shí)的路程和半徑??梢酝ㄟ^改變半徑改變路程與速度。圖為附錄所示。 結(jié)束語 本設(shè)計(jì)是以 stc89c52 單片機(jī)為主要控制電路,通過霍爾傳感器傳送給單片機(jī),利
53、 用單片機(jī)內(nèi)部的計(jì)時(shí)和中斷,計(jì)算里程速度并通過液晶顯示器顯示。在此次設(shè)計(jì)中本 人也遇到了很多困難,開始拿到課題時(shí)還覺得很簡(jiǎn)單,可通過動(dòng)手做之后,才發(fā)現(xiàn)自 己的不足,對(duì)單片機(jī)知識(shí)掌握的不牢,所有知識(shí)都只局限于課本上老師講過的,課外 知識(shí)積累的太少。通過此次設(shè)計(jì),本人學(xué)到了很多老師課上沒教的知識(shí),如霍爾元件, 液晶顯示器等的管腳及其功能,了解了它們的用法、原理、接口電路及其應(yīng)用程序, 進(jìn)一步加強(qiáng)了本人的專業(yè)基礎(chǔ)知識(shí)和相關(guān)專業(yè)課程知識(shí),提高了本人的動(dòng)手能力,能 將所學(xué)知識(shí)運(yùn)用在實(shí)際生活中;培養(yǎng)獨(dú)立自主、綜合分析的思維與創(chuàng)新能力。在以后 的學(xué)習(xí)中,本人要多閱讀課外書籍,不能只局限于書本,擴(kuò)展本人的思路
54、,積累更多 的知識(shí),并將它應(yīng)用到實(shí)際生活中去。 在本次的畢業(yè)設(shè)計(jì)過程中,三個(gè)需要解決的關(guān)鍵問題都得到了解決: 第一、電源可以通過網(wǎng)上購買 usb 充電器 5v 電源適配器,更方便進(jìn)行測(cè)試。 第二、速度可以通過霍爾元器件進(jìn)行模擬,再送進(jìn)單片機(jī)進(jìn)行計(jì)算。從而可以得出速 度與里程。 第三、顯示電路可以用液晶顯示器,可以減少電路的復(fù)雜程度,使得電路更加美觀。 在此過程中也遇到了問題,液晶顯示器的顯示屏顯示的字很模糊,因此在液晶顯 示器的 3 腳與地接了一個(gè) 2k5k 的電阻。 參考文獻(xiàn) 1郁有文,常健,程繼紅.傳感器原理及工程應(yīng)用m.西安:電子科技大學(xué)出版社,2008. 2何希才. 傳感器技術(shù)及應(yīng)用m
55、. 北京:航空航天大學(xué)出版社,2001. 3袁新燕.關(guān)于“單片機(jī)原理與應(yīng)用”教學(xué)的討論j.電腦開發(fā)與應(yīng)用,1997,10(4): 56-59. 4唐煒.單片機(jī)原理與應(yīng)用課程教學(xué)改革探討j.電氣電子教學(xué)學(xué)報(bào),2002,24(3): 21-23. 5樓然苗, 李光飛. 51 系列單片機(jī)設(shè)計(jì)實(shí)例m. 北京:航空航天大學(xué)出版社,2003. 6張友德,趙志英,涂時(shí)亮.單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)m. 上海:復(fù)旦大學(xué)出版社, 2006. 7曾一江. 單片機(jī)原理與接口技術(shù)m.北京:科學(xué)出版社, 2006. 8qu jin-yu.measure of engine speed based on c8052f c
56、hipj.tractor/模式定義 uchar b_radius = 50;/半徑存儲(chǔ)變量 cm uint total_dis = 0;/總路程 total distance,單位 100m uint b_speed = 0;/自行車速度 uchar up_speed = 22;/超速設(shè)置 sbit bell = p10;/蜂鳴器報(bào)警 extern unsigned long distance; /總路程 /地址定義 #define h_add0x20/高位地址 #define s_add0x00/起始位地址 #define dis_add0x08/路程存儲(chǔ)地址 #define radius_
57、add0x0c/半徑存儲(chǔ)地址 #define up_spd_add0x10/上限速度存儲(chǔ)地址 /保存數(shù)據(jù) void savedata(void) sectorerase(h_add,s_add); byte_write(total_dis/256, h_add,dis_add);/保存距離 byte_write(total_dis%256, h_add,dis_add+1); byte_write(b_radius/256, h_add,radius_add); /保存半徑 byte_write(b_radius%256, h_add,radius_add+1); byte_write(up_
58、speed, h_add,up_spd_add); /保存上限速度 /讀數(shù)據(jù) void readdata(void) total_dis = byte_read(h_add,dis_add)*256; total_dis += byte_read(h_add,dis_add+1); distance = total_dis*100; b_radius = byte_read(h_add,radius_add)*256; b_radius += byte_read(h_add,radius_add+1); up_speed = byte_read(h_add,up_spd_add); /- /顯
59、示總路程 void showtoldis(uchar x,uchar y) wrlcds(x,y,route: km); wrfloatnum(x,y+6,total_dis/10.0); /顯示速度 void showspeed(uchar x,uchar y) wrlcds(x,y,spd: km/h); if(b_speed 10000) wrfloatnum(x,y+4,b_speed/10.0); else /超速 wrlcds(x,y,spd:*km/h); /寫半徑數(shù)值 void wrradiusnum(uchar x,uchar y,uint num) /補(bǔ)零使得顯示位數(shù)相等
60、if(num = 0) wrnum(x,y+,0); if(num max_num) *var = ini_num; /減法函數(shù) void subvar(uchar *var,uchar min_num,uchar ini_num) if(*var) min_num) (*var) -; /設(shè)置溫度減 else (*var) = ini_num; /- 按鍵處理函數(shù) - void ex_mode(void) plusvar( /模式變換 void ex_add(void) if(mode = m_radius) plusvar(/半徑減 if(mode = m_up_spd) plusvar(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹節(jié)節(jié)約紙張活動(dòng)方案
- 沃爾沃售后活動(dòng)方案
- 河南農(nóng)村閱讀活動(dòng)方案
- 比武比賽活動(dòng)方案
- 求婚政策活動(dòng)方案
- 檢察院思想體檢活動(dòng)方案
- 校長走訪教師活動(dòng)方案
- 武漢婦聯(lián)聯(lián)誼活動(dòng)方案
- 汽車修理店活動(dòng)方案
- 母嬰洗澡活動(dòng)方案
- 云南楚雄州金江能源集團(tuán)有限公司招聘筆試真題2024
- 2025-2030中國動(dòng)力電池回收利用技術(shù)路線與經(jīng)濟(jì)性評(píng)估分析研究報(bào)告
- 2025年深圳中考物理試卷真題(含答案)
- 互聯(lián)網(wǎng)行業(yè)產(chǎn)品經(jīng)理專業(yè)顧問聘用協(xié)議
- 2025年 東北石油大學(xué)招聘考試筆試試題附答案
- 2025年安徽省中考地理真題試卷(含答案)
- 人教版2025年八年級(jí)英語下學(xué)期期末總復(fù)習(xí)(專題訓(xùn)練)專題01單項(xiàng)選擇【期末易錯(cuò)100題】(人教版)(學(xué)生版+解析)
- 2025至2030中國心理保健行業(yè)發(fā)展趨勢(shì)分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2024年浙江省普通高中學(xué)業(yè)水平適應(yīng)性考試歷史試題(解析版)
- 2023流域超標(biāo)準(zhǔn)洪水防御預(yù)案編制導(dǎo)則
- 三寶、四口、五臨邊安全培訓(xùn)PPT課件
評(píng)論
0/150
提交評(píng)論