




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告題目名稱:基于 51 單片機的酒精濃度測量報警裝置作者姓名學號班級:王偉敏 20121843 電氣 2012-2 班周彤昕 20123699 電氣 2012-2 班劉少博20121762 電氣 2012-1 班指導老師: 二一四年四月電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告目 錄目 錄.1 第 1 章 緒論.2 第2 章 設計方案.22.1 概述.22.1.1 實驗任務.22.1.2 測試儀特點.22.2 確立方案.32.2.1 設計方案的比較 .32.2.2 設計方案的選擇.42.2.3 可行性分析 .42.3 硬件設計.52.3.
2、1 微控制單元 STC89C52.52.3.22.3.32.3.4 MQ-3 酒精傳感器.7 AD0832 模數轉換. 8 LCD1602 液晶顯示.92.4 軟件設計.102.4.1 編譯語言的選擇.102.4.2 主程序模塊.102.4.3 A/D 轉換模塊. 112.4.4 按鍵輸入模塊.112.4.5 液晶顯示輸出模塊.12第 3 章 實驗結果.153.1 理論分析與計算.153.2 測試方法與儀器.153.3 測試數據及測試結果分析.163.4 心得體會.16參考文獻.17附錄.181電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告第1章緒論隨著我國經濟的增長和社會的轉變,汽車成為
3、現代社會主要的交通工具,隨之帶來的酒后駕駛已成為形成交通事故最主要的因素。為了避免交通事故的發(fā)生,警察常常使用一種便攜式的酒精呼吸檢測儀檢查醉駕, 通過檢測駕駛者呼出的氣體判斷駕駛者是否飲酒。酒后駕駛已成為當今社會不容忽視的問題,其所惹起的交通事故比比皆是,本設計是“酒精超標自動報警器”,該裝置在使用時,對被測試者呼出氣體進行檢測,一旦檢測到測試者有飲酒嫌疑,就會發(fā)出相應提示,以避免酒后駕駛對社會和醉駕者形成的龐大損失。該系統(tǒng)的開辟與利用造福了群體大眾,對我國經濟與社會的穩(wěn)定起著不容疏忽的作用。第2章設計方案2.1 概述2.1.1 實驗任務設計一個基于單片機的酒精濃度檢測系統(tǒng),檢測結果用 LE
4、D 或 LCD 顯示器顯示。 基于 STC89C52 單片機,MQ-3 酒精濃度傳感器,本設計是一種具有檢測及超限報警功能的酒精濃度測試系統(tǒng)。系統(tǒng)選用單片機為控制核心,對檢測到的氣體狀況進行相應的處理分析、處理和顯示,并通過報警進行提示。2.1.2 測試儀特點設計的酒精濃度測試儀應具有如下特點:(1)數據采集系統(tǒng)以單片機為控制核心,外圍電路帶有 LED 顯示以及鍵盤響應電路,無需要其他計算機,用戶就可以與之進行交互工作,完成數據的采集、存儲、計算和分析等過程。(2)系統(tǒng)具有低功耗、小型化、高性能比等特點。(3)從便攜式的角度出發(fā),系統(tǒng)成功使用了數碼管顯示器以及鍵盤。有單片機系統(tǒng)控制鍵盤和 LE
5、D 顯示來實現人機交互操作,界面友好。2電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告(4)軟件設計簡單易懂。設計時,考慮酒精濃度時由傳感器把非電量轉化為電量,傳感器輸出的是 0-5V 的電壓值且電壓值穩(wěn)定,外部干擾小等。因此,可以直接把傳感器輸出電壓值經過 A/D 轉換得到數據送入單片機進行處理。此外,還需要報警電路等。2.2 確立方案2.2.1 設計方案的比較對酒后駕車控制,存在的可設計方案很多,并且能實現其他附加功能。但鑒于成本、可靠性、實用性等因素考慮,提出以下幾種方案。方案一:智能監(jiān)控器。駕駛員一旦飲酒,其呼出的乙醇氣體被捕捉到,監(jiān)控器立即作出反應,其功能有:顯示被測對象的乙醇濃
6、度;振蕩式聲、光報警;累計記錄駕駛員酒后開車的次數;由控制開關強行切斷汽車點火裝置的驅動電源。采用數碼管直接顯示當前時刻駕駛員呼出的氣體中乙醇氣體的含量,因酒敏元件本身存在一定的非線性,監(jiān)控器采用軟件處理后,顯示較為準確。但在實際中,有些駕駛員飲酒后仍會強行開車,一旦駕駛員酒后強行開車,監(jiān)控器則切斷點火裝置的電源,禁止汽車啟動或運行,此時汽車可能會停止在交通要道上,為避免交通堵塞,監(jiān)控器報警后延時 20s,再發(fā)控制信號,而待報警解除后 5s 內控制信號即消失,汽車便可重新啟動。該監(jiān)控器僅適用于有駕駛室的汽油車,不適用于摩托車,對于柴油車,僅有顯示、報警和記錄功能,沒有控制功能。方案二:汽車智能
7、控制。此設計將駕駛員和交管部門構成一個系統(tǒng),交管部門紀錄 駕駛員詳細資料;之后將駕駛證轉變?yōu)榕c IC 卡類似的電子駕照??▋却嬗旭{駛員的姓名、身份證號碼、允許駕駛的車輛類型、每年考核的情況、違章紀錄等內容;最后在汽車上安裝無線通訊設備。汽車將和交通部門設置的管理系統(tǒng)形成一個無線網絡。駕駛員開車時,先要插入正確的電子駕照,卡內的信息通過無線網絡傳到交通部門的管理系統(tǒng)。交通部門將檢查其信息是否正確、有沒有違章行為、酒后駕車的次數是否超過一定數目,如這些信息都達到安全行車的標準才能啟動。行駛時,安裝在汽車上的檢測空氣中酒精含量系統(tǒng)會自動啟動,開始檢測。若發(fā)現駕駛員是酒后駕車,汽車會發(fā)聲,提醒駕駛員不
8、能開車,汽車自動熄滅。如果汽車再次啟動,智能控制系統(tǒng)會再次作出提示,自動熄滅。如果駕駛員連續(xù)三次啟動,系統(tǒng)將會將其信息傳到交通管理系統(tǒng),交通部門將會通知附近交警迅速趕到事發(fā)地,對酒后駕車者進行相應處理。如送到醫(yī)院等。除外,電子3電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告駕照上還會增加酒后駕車的次數,當次數超過一定規(guī)定將會在很長一段時間不能駕車,接受管理部門教育。方案三:采用駕駛員主動吹氣方法,進行判斷駕駛員是否是酒后開車。這個裝置放在駕駛室司機右手位置,當司機發(fā)動汽車時,報警裝置將會響起,提醒你使用酒精控制器。酒精控制器一般要加熱到 1 分鐘左右,該設備綠燈會亮,說明可以吹氣。向酒精探
9、頭吹氣,必須發(fā)出聲音,這樣才能保證測試準確。話筒作用判斷是否吹氣。當吹氣確認后,發(fā)送到單片機,開始對氣體信號進行檢測。酒精含量和電壓信號有一定關系含量越高,電壓越高;溫度越高,靈敏度越高。檢測信號經過了放大、檢波電路,進行信號放大和對噪聲的過濾。之后,通過 A/D 電路轉換為數字信號,由單片機對此信號進行處理判斷,假設酒精含量沒有超標,指示燈亮起,可以啟動汽車,繼電器不起作用,酒精控制器停止工作。反之,超標指示燈亮起,報警裝置同時響起,說明不能行駛,若司機強行啟動,單片機開始控制繼電器,30 秒后繼電器開關切斷點火裝置電源,汽車無法行駛,從而實現酒后控制駕車行駛的功能。2.2.2 設計方案的選
10、擇優(yōu)缺點比較:方案一優(yōu)缺點:智能化,自動檢測到駕駛員呼氣體酒精含量。若駕駛員強行開車,自動切斷點火裝置電源使車無法啟動或行駛。但由于車內除了駕駛員還有乘客,乘客呼出的氣體對檢測裝置干擾。這種方法可靠性不強。方案二優(yōu)缺點:采用電子駕照而系統(tǒng)化。有利于對駕駛員進行管理。此外每個人的電子駕照不同,發(fā)動汽車時,必須插入,具用防盜功能。但是空氣中的干擾很多,檢測不準確,并且建立這么大的網絡系統(tǒng)人力物力投入很大,實現困難。方案三優(yōu)缺點;設計簡單,有效可靠實現酒后駕車控制。但司機需主動進行檢測, 不夠智能化。根據以上方案的優(yōu)缺點比較、設計的要求及實際情況,采用方案三為基礎進行設計。2.2.3 可行性分析采用
11、這種設計方法主要是從以下角度考慮:(1) 從零器件角度看:酒精探頭選用 QM-J3 氣敏元件,是以復合金屬氧化物為主體材料的 N 型半導體氣敏元件,當元件接觸乙醇蒸汽時,其電導率隨氣體濃度4電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告增加而迅速升高。其對汽油蒸汽又抗干擾能力,靈敏度高,響應速度好,壽命長,工作穩(wěn)定可靠等特點。發(fā)射設備選用 F04E 發(fā)射模塊,接收設備選用配套 J04H 接收模塊。它是一種性價比較好的設備,靈敏度高,發(fā)射距離 50 米以內,低功耗。單片機選用 89C2051 芯片。低功耗,體積小,有兩個特殊引腳,可作電壓比較器直接使用。(2) 從設計結構上看:使用元件少,實
12、現簡單。(3) 從設計要求上看:它滿足設計要求,有效可靠檢測駕駛員是否酒后駕車。(4) 從功能角度上看:它除了起到控制酒后駕車功能外,在傳輸碼時,增加碼的個數。安裝在不同汽車上的設備,發(fā)送不同碼,這就要求發(fā)射設備與接收設備必須一一對應,這輛車的發(fā)射器用在其他車上就無效,這樣控制器起到防盜鎖功能。 上述各個元件成本低、使用方便、安裝簡單、易推廣。2.3 硬件設計由于本次設計需要用到單片機,來完成對酒精濃度的檢測,分析了網上的相似課題,有很多是用酒精濃度傳感器 MQ-3 來完成酒精濃度檢測系統(tǒng)的設計。鑒于本次時間限制,本次設計中采用的是 STC89S52 單片機來控制整個電路,電路中采用的是 LC
13、D1602 來顯示實驗實時數據。A/D 芯片的選擇中,用到的是 AD0832,主要是這塊芯片的性能優(yōu)良,時序操作簡單,能很好的解決本次設計中對實時數據轉換的要求。系統(tǒng)結構框圖如圖 1 所示:圖 1 系統(tǒng)結構框圖2.3.1 微控制單元STC89C525電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告基于本系統(tǒng)設計內容的需要,綜合考慮后,我們選擇 STC89C52 單片機為控制核心。主要基于考慮 STC89C52 是低功耗,超低價,高速,高可靠,強抗靜電,強抗干擾,功能強大的單片機。STC89C52 有 40 個引腳,32 個外部雙向輸入/輸出(I/O)端口,同時內含 2 個外中斷口,3 個16
14、 位可編程定時計數器,2 個全雙工串行通信口,2 個讀寫口線,片內振蕩器及時鐘電路。同時 STC89C52 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時/計數器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。其將通用的微處理器和 Flash 存儲器結合在一起,特別是可反復擦寫的 Flash 存儲器可有效地降低開發(fā)本。STC 單片機有 PDIP、PQFP/TQFP 及PLCC 等三種封裝形式,以適應不同產品的需求。STC89C52 單片機引腳如圖 2:
15、圖 2Vcc:電源電壓GND:地P0 口:P0 口是一組 8 位漏極開路型雙向 I/O 口,也即地址/數據總線復用口。STC89C52 引腳圖6電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告P1 口:P1 是一個帶內部上拉電阻的 8 位雙向 I/O 口,P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。P2 口:P2 是一個帶有內部上拉電阻的 8 位雙向 I/O 口,P2 的輸出緩沖級可驅(吸收或輸出電流)4 個TTL 邏輯門電路。P3 口:P3 口時一組帶有內部上拉電阻的 8 位雙向 I/O 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。RST
16、:復位輸入。當振蕩器工作時,RST 引腳出現兩個機器周期以上高電平將使單片機復位。ALE :當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的 1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。 PSEN :程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當89C5X單片機由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在次期間,當訪問外部數據存儲器,將跳過兩次 信號。 EA /VPP :外部訪問允許。欲使 CPU 僅訪問外部程序存儲器(地址為0000
17、H-FFFH), 端必須保持低電平(接地)。XTAL1:振蕩器反相放大器及內部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端2.3.2 MQ-3 酒精傳感器酒精傳感器的選型目前,市面上的酒精傳感器有很多種,本系統(tǒng)直接測量的是呼氣中的酒精濃度,再轉換為血液中的酒精含量濃度,故采用氣敏傳感器??紤]到周圍空氣中的氣體成分可能影響傳感器測量的準確性,所以傳感器只能對酒精氣體敏感,對其他氣體不敏感,故選用 MQ-3 型氣敏傳感器。MQ-3 型氣敏傳感器的傳感器阻值變化率與酒精濃度、外界溫度的關系圖如圖 2.4.1 所示。7電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告圖 2.4.1 傳感器
18、阻值變化率與酒精濃度、外界溫度之間的關系可以看到,MQ-3 酒精傳感器對乙醇蒸氣有很高的靈敏度,并且響應和恢復快速。另外,MQ-3 酒精傳感器簡單的驅動回路和可靠的穩(wěn)定性是相比較于其他型號傳感器的優(yōu)點。MQ-3 酒精傳感器可用于機動車駕駛人員及其他嚴禁酒后作業(yè)人員的現場檢測,也可用于其他場所乙醇蒸氣的檢測。MQ-3 酒精傳感器有 6 只針狀管腳,其中 4 個管腳(兩個 A 和兩個 B)用于信號讀取,兩個 H 腳用于提供加熱電流。電路圖如下圖 3:R3H QM-N10AB25 4 VCC LED +5V DOUT AOUT GND P1 Rp U1A C1R1: 圖 3 MQ-3 傳感器電路原理
19、圖: 2.3.3 AD0832 模數轉換8電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告AD0832 是位逐次逼近模數轉換器,可支持兩個單端輸入通道和一個差分輸入通道。是位逐次逼近模數轉換器,可支持兩個單端輸入通道和一個差分輸入通道。CS_ 片選使能,低電平芯片使能。· CH0 模擬輸入通道 0,或作為 IN+/-使用。· CH1 模擬輸入通道 1,或作為 IN+/-使用。· GND 芯片參考 0 電位(地)。· DI 數據信號輸入,選擇通道控制?!静杉瘍炔繑祿?CH0(1、0)和外部數據- CH 1(1、1)、還有差分輸出的兩種方式】·
20、DO 數據信號輸出,轉換數據輸出。· CLK 芯片時鐘輸入。· Vcc/REF 電源輸入及參考電壓輸入(復用)。芯片的用途:AD 芯片不僅可以將模擬信號轉換為電壓、電流、還可以將模擬信號通過采集的電壓變化來轉換顯示其他的物理量如:溫度、質量等等。AD0832 時序圖9電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告誤差的調校:通過多次測量 ad 芯片的基準電壓,來校準芯片的轉換精度,以此來減小它的誤差。程序設計概要在 AD 模數轉換中,將模擬量轉換為數字量至關重要,首先,連接好 AD 芯片,連通之后用萬用表測量芯片的基準電壓(REF),再根據芯片的位數,即可知道芯片的精度
21、如:ADC0832 是雙通道、分辨率為 256 的一塊常用 ad 芯片。例如:一個 8 位 AD,通過測量知道基準電壓為 5V,則其芯片的轉換精度為5/28=19.53mV。2.3.4 LCD1602 液晶顯示LCD1602 字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式 LCD,目前常用 16×1,16×2,20×2 和 40×2 行等的液晶顯示模塊,模塊組件內部主要由 LCD 顯示屏、控制器、列驅動器和偏壓產生電路構成。2.4 軟件設計2.4.1 編譯語言的選擇對于單片機的開發(fā)應用中,逐漸引入了高級語言,C 語言就是其中的一種。匯編語言
22、的可控性較高級語言來說更具優(yōu)越性。程序編寫語言比較常見的有 C 語言、匯編語言。匯編語言的機器代碼生成效率高,控制性好,但就是移植性不高。C 語言編寫的程序比用匯編編寫的程序更符合人們的思考習慣。還有很多處理器都支持 C 編譯器,這樣意味著處理器也能很快上手。且具有良好的模塊化、容易閱讀、維護等優(yōu)點,且編寫的模塊程序易于移植?;?C 語言和匯編語言的優(yōu)缺點,本系統(tǒng)采用C 語言編寫方法。軟件編寫的主體思路是將系統(tǒng)按功能模塊化劃分,然后根據模塊要實現的功能寫各10電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告?zhèn)€子程序。整個軟件程序的編寫采用查詢式方式編寫的。2.4.2 主程序模塊主程序實現的
23、功能:與硬件相結合實現酒精濃度檢測系統(tǒng)的各個功能。主要是檢測 與顯示,門限調整與顯示,檢測數據顯示功能子函數的調用。見圖 5圖 5 系統(tǒng)整體流程圖(主程序流程圖)2.4.3 A/D 轉換模塊(1)模數轉換模塊的主要功能就是將經放大器放大的模擬電壓信號轉化為 MCU 能夠處理的數字信號,并傳送給 MCU。(2)TLC549 轉換的流程圖見下圖 611電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告當CS變?yōu)榈碗娖胶?,TLC549 芯片被選中,同時前次轉換結果的最高有效位 MSB (A7)自 DATA OUT 端輸出,接著要求自 I/O CLOCK 端輸入 8 個外部時鐘信號,前 7 個I/O
24、CLOCK 信號的作用,是配合 TLC549 輸出前次轉換結果的 A6-A0 位,并為本次轉換做準備:在第 4 個I/O CLOCK 信號由高至低的跳變之后,片內采樣/保持電路對輸入模擬量采樣開始,第 8 個I/O CLOCK 信號的下降沿使片內采樣/保持電路進入保持狀態(tài)并啟動 A/D 開始轉換。轉換時間為 36 個系統(tǒng)時鐘周期,最大為 17us。直到 A/D轉換完成前的這段時間內,TLC549 的控制邏輯要求:或者CS保持高電平,或者 I/O CLOCK 時鐘端保持36 個系統(tǒng)時鐘周期的低電平。由此可見,在自 TLC549 的 I/O CLOCK 端輸入 8 個外部時鐘信號期間需要完成以下工
25、作:讀入前次 A/D 轉換結果;對本次轉換的輸入模擬信號采樣并保持;啟動本次 A/D 轉換開始。 圖 6 數轉換流程圖2.4.4 按鍵輸入模塊(1)按鍵時顯現人機對話的一個控制按鈕,通過按鍵的操作,對系統(tǒng)進行發(fā)送操作指令,后經與 MCU 串行通信,然后在液晶上顯示。(2)按鍵查詢式的流程圖見下圖 7:12電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告圖7 按鍵查詢式的流程圖 按鍵的四個鍵分別接 P1.0,P1.1,P1.2,P1.3,由于 P1 口具有上拉電阻,所以不再需要加上拉電阻進行電壓的放大。2.4.5 液晶顯示輸出模塊LCD1602 模塊在本系統(tǒng)中主要起著開界面數字顯示,以及各控制
26、效果的顯示。采用直接訪問方式。液晶顯示的操作流程圖見下圖 8:圖 8 液晶顯示的操作流程圖13電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告液晶顯示 D0 到 D7 口接P0.0 到 P0.7,單獨使用一個口,為了避免數據的干擾,口沒有上拉電阻,所以需要一個排阻進行電壓的擴大.14 由于 P0電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告第3章實驗結果3.1 理論分析與計算本次設計的酒精濃度檢測系統(tǒng),通過設計相關的硬件電路及進行相應的軟件調試,最后實現了實時檢測酒精濃度,并的在 LCD1602 上顯示的目的。設計出的電路,完全符合本次實驗的設計要求,通過按鍵可以實現調整門限值,對于檢測
27、到的酒精濃度高于設定門限值時,會顯示實時酒精濃度值,系統(tǒng)會自動實現燈光報警功能。3.2 測試方法與儀器1,接上一個 5V 的 USB-B 接口進行整個電路電路的導電并已綠色的 LED 燈發(fā)亮為導通,檢查電路中的零件是否正常工作。2,確保各零件儀器處于正常工作狀態(tài)下時,安上已燒入程序的 STC89C52 并查看各個引腳是否正常插入。3,要測試的酒精濃度時,按上,下兩鍵設置一個值,當所測到的酒精濃度大于所設置的值時,蜂鳴器開始鳴叫,并伴隨著紅色的 LED 燈亮。4,當要設定另一個值時按置零鍵之后,并重新進行設置硬件成品圖 硬件上電開機界面15電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告酒精濃
28、度低,蜂鳴器不響酒精濃度高,蜂鳴器鳴叫3.3 測試數據及測試結果分析根據酒精濃度引起 MQ-5 內阻的變化造成電壓差,產生模擬信號通過 AD0832 數模轉換器轉變成數字信號,單片機通過對數字信號的分析從而產生指令,對各個模塊進行控制。當所測得的酒精濃度比自己預先所設定的值還要小時,蜂鳴器不響。當所側得的酒精濃度比自己預先所設頂的值要大時,蜂鳴器立即響起,并伴隨著紅色 LED 燈亮。3.4 心得體會通過本次課程設計,我提高了對單片機的認識,比原來又加深了對軟件的設計和單片機的學習,在設計電路過程中又有了新的感受,激發(fā)了我努力鉆研的興趣。在做板的過程中要非常小心。硬件調試過程是相對繁鎖的,要特別
29、注意以下幾點。其一,通電之后看 STC89C52 晶振是否起振,晶振起振后是否是標準的正弦波;其二,硬件電路的設計既要追求實際功能的實現,也要考慮元器件的購買方便。在本次課設中學到的知識,我將它們發(fā)揮到其他的學習中去,也將在今后的學習中不斷的提高和完善;而在此期間發(fā)現的不足,我將努力改善,通過學習實踐等方式不斷提高,克服那些知識障礙,以求在今后的學習過程中獲得更大的進步!參考文獻1康華光.電子技術基礎模擬部分(第四版),背景:高等教育出版社.19982康華光.電子技術基礎數字部分,背景:高等教育出版社.199816電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告3何立民.單片機高級教程.第一
30、版.北京:北京航空航天大學出版社.20014趙繼文.傳感器與應用電路設計M.北京:科學出版社.20025微機原理及應用 黃冰等編著 重慶:重慶大學出版社 ,2003 6基于 Proteus 的電路及單片機系統(tǒng)設計與仿真 周潤景等編著 北京:北京航空航天大學出版社,20067單片機程序設計實例先鋒工作室編著 北京:清華大學出版社,20038單片機 C 語言編程與實例趙亮,侯國銳編著 北京:人民郵電出版社,20039夏路易等.電路原理圖與電路板設計教程.北京:北京希望電子出版社.200217電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告附錄附錄1,硬件電路原理圖附錄2硬件protues仿真圖1
31、8電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告附錄3,硬件電路 PCB 圖附錄4,程序清單#include<reg52.h> /包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的 定義#include<intrins.h>#include<string.h>/* 宏定義*/#define uchar unsigned char#define uint unsigned int#define LCDPORT P0#define RS_CLR RS=0#define RS_SET RS=1#define RW_CLR RW=0#define RW_
32、SET RW=1#define EN_CLR EN=0#define EN_SET EN=119電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告#define DataPort P0/寫數據地址#define AddRd 0x91 /讀數據地址sbit RS = P25; /定義端口 sbit RW= P26; sbit EN = P27; /sbit DU =P20; /sbit WE = P21; sbit k0 =P10; /start the system sbit k1 =P11; /setup the stand_valuesbit k2 =P12; /the stand_val
33、ue up sbit k3 =P13; /the stand_value down sbitalarm = P20; /the alarm port/* AD 時鐘信號*/sbit CS = P16; /* AD 片選信號 */sbit DI = P17;/定義 ADC 各口數據; sbit D0= P17; ucharadc_result = 0; /* AD 計算結果 */*變量及字符串的定義*/ ucharLCD_Char="0123456789ABCDEF-." uchar LCD_string0="welcome to guet" uchar
34、LCD_string1="102021226" sbit CLK = P34; #define AddWr 0x90uchar M_Time="2014-4-12"/ show/檢測 time uchar M_Detect="Detect:"uchar M_Detect1="Alcohol:" ucharM_Detect2="set_val:"uintset_value=1; /is mean 20.0mg/ml ; the big_value is 800.0 mg/mlmean alcoho
35、l; alcohol drive is 20.0 mg/100ml=0.2mg/mluchardata_char=0;/uchar M_time1="Time" /時間/memory /uchar M_Storage="Storage"uint data_temp=0; uintflag=0;uchar code dsptab='0','1','2','3','4','5','6','7','8','9&
36、#39;/字符代表碼;20電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告/void cmg88()/關數碼管,點陣函數/DU=1;/P0=0X00;/DU=0;/*-uS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0255 這里使用晶振 12M,精確延時請使用匯編,大致延時長度如下 T=tx2+5 uS- */void delayUs2x(unsigned char t)while(-t);/*-延時子程序- */ void delay(uint a) uint b; for(b=0;b<a;b+)
37、; void delay400ms(void)/400ms 延時 uchar a = 5 ;uint b;while(a-) b=7269;while(b-);/*-21電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告mS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0255 這里使用晶振 12M,精確延時請使用匯編 - */voiddelayMs(unsigned char t)while(t-)/大致延時 1 mSdelayUs2x(245);delayUs2x(245);/*-判忙函數- */bit L
38、CD_Check_Busy(void)DataPort= 0 xFF;RS_CLR;RW_SET;EN_CLR;_nop_(); EN_SET;return (bit)(DataPort& 0 x80);/*-寫入命令函數 - */voidLCD_Write_Com(unsigned char com)while(LCD_Check_Busy(); /忙則等待RS_CLR;RW_CLR;22電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告EN_SET;DataPort= com;_nop_();EN_CLR;/*-寫入數據函數- */voidLCD_Write_Data(unsign
39、ed char Data)while(LCD_Check_Busy(); /忙則等待RS_SET;RW_CLR;EN_SET;DataPort= Data;_nop_();EN_CLR;/*-清屏函數- */void LCD_Clear(void)LCD_Write_Com(0x01); delayMs(5);/*-寫入字符串函數- */voidLCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) if (y = 0)23電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告LCD_Write_Com(0x80 + x
40、);elseLCD_Write_Com(0xC0 + x);while( *s ) LCD_Write_Data( *s);s + ; /*-寫入字符函數- */voidLCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) if (y =0)LCD_Write_Com(0x80 + x);elseLCD_Write_Com(0xC0 + x);LCD_Write_Data( Data);/*-表示行和列- */voidDisplay_One_Char( ucharx,uchary,uchardat) switch(
41、x) case 0:LCD_Write_Com(0x80+y); break; /表示第二行 /表示第一行24電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告case 1:LCD_Write_Com(0xc0+y); break;LCD_Write_Data(dat);/*-初始化函數 - */void LCD_Init(void)LCD_Write_Com(0x38);delayMs(5);LCD_Write_Com(0x38);delayMs(5);LCD_Write_Com(0x38);delayMs(5);LCD_Write_Com(0x38);LCD_Write_Com(0x08)
42、;LCD_Write_Com(0x01);LCD_Write_Com(0x06);delayMs(5);LCD_Write_Com(0x0C); /*顯示關閉*/ /*顯示清屏*/ /*顯示光標移動設置*/ /*顯示開及光標設置*/ /*顯示模式設置*/*-顯示一個數字 - */void xs_int(unsigned intshuju,bit t) /顯示一個數字 unsigned inthuancun6=0; unsigned char biaozhi=0,i;if (shuju< 10) biaozhi = 1 ; elseif(shuju< 100) biaozhi = 2
43、 ; elseif(shuju< 1000) biaozhi = 3 ; elseif(shuju< 10000) biaozhi = 4 ; else25電氣工程學院2013年“萌芽計劃”科創(chuàng)訓練計劃報告if(shuju<=65535) biaozhi = 5 ;switch(biaozhi)case 5:huancun0 = shuju/10000; case4:huancun5 = shuju%10000/1000;case 3:huancun4 = shuju%1000/100;case 2:huancun3 = shuju%100/10;case 1:huancun1 = shuju%10;break;default:break;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪分割轉讓協(xié)議書
- 協(xié)調工作經費協(xié)議書
- 地面硬化補充協(xié)議書
- 商家糾紛和解協(xié)議書
- 公司車牌租賃協(xié)議書
- 合伙轉讓店鋪協(xié)議書
- 勞務外包雙方協(xié)議書
- 勞動違法免責協(xié)議書
- 廚房運營合同協(xié)議書
- 協(xié)會授權掛牌協(xié)議書
- 涉密人員錄用審查表
- GB/T 41631-2022充油電纜用未使用過的礦物絕緣油
- GB/T 39559.2-2020城市軌道交通設施運營監(jiān)測技術規(guī)范第2部分:橋梁
- GB/T 19106-2013次氯酸鈉
- 2023年江西省三支一扶真題及答案解析
- 中國鋁業(yè)遵義氧化鋁有限公司氧化鋁工程分解分級槽基礎工程 施工組織設計
- 初中信息技術-算法基礎知識教學教學課件
- 訴訟文書送達地址確認書
- 《中興通訊績效管理制度》-人事制度表格【管理資料】
- 鐵路工務技術手冊
- (完整版)硬件測試規(guī)范
評論
0/150
提交評論