版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作知識(shí)與能力目標(biāo)熟悉單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)流程1熟練單片機(jī)應(yīng)用系統(tǒng)的硬件系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)2熟練單片機(jī)應(yīng)用系統(tǒng)程序開(kāi)發(fā)流程和方法3
項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作應(yīng)用系統(tǒng)功能演示
項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作1項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)系統(tǒng)方案設(shè)計(jì)23系統(tǒng)硬件電路設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)與調(diào)試45系統(tǒng)的調(diào)試6項(xiàng)目擴(kuò)展任務(wù)系統(tǒng)的開(kāi)發(fā)流程
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作1)項(xiàng)目目標(biāo)掌握利用單片機(jī)的定時(shí)器實(shí)現(xiàn)不同頻率的音調(diào)。掌握利用單片機(jī)實(shí)現(xiàn)音樂(lè)的播放。掌握按鍵實(shí)現(xiàn)對(duì)單片機(jī)的控制。在達(dá)到以上3點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“項(xiàng)目擴(kuò)展任務(wù)”中提出的問(wèn)題,以組或個(gè)人為單位,在規(guī)定時(shí)間內(nèi)完成擴(kuò)展項(xiàng)目任務(wù)。
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作2)項(xiàng)目任務(wù)在基于單片機(jī)的簡(jiǎn)易電子琴要求具有以下功能:對(duì)于電子琴按鍵電路,當(dāng)用戶(hù)按下不同的按鍵時(shí),可以播放8個(gè)基本音,如果用戶(hù)短按按鍵,則對(duì)應(yīng)的基本音只響一聲,如果用戶(hù)長(zhǎng)按按鍵,則對(duì)應(yīng)的基本音則一直響直到松開(kāi)按鍵。對(duì)于電子琴按鍵電路,當(dāng)用戶(hù)按下不同的按鍵時(shí),數(shù)碼管則會(huì)顯示相應(yīng)的字符。對(duì)于歌曲按鍵電路,當(dāng)用戶(hù)按下不同的按鍵時(shí),則會(huì)播放不同的歌曲。
項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作2.系統(tǒng)方案設(shè)計(jì)功能設(shè)計(jì)系統(tǒng)方案設(shè)計(jì)關(guān)鍵技術(shù)總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作該電子琴具有以下功能:(1)對(duì)于電子琴按鍵電路,當(dāng)用戶(hù)按下不同的按鍵時(shí),可以播放8個(gè)基本音,如果用戶(hù)短按按鍵,則對(duì)應(yīng)的基本音只響一聲,如果用戶(hù)長(zhǎng)按按鍵,則對(duì)應(yīng)的基本音則一直響直到松開(kāi)按鍵。(2)對(duì)于電子琴按鍵電路,當(dāng)用戶(hù)按下不同的按鍵時(shí),數(shù)碼管則會(huì)顯示相應(yīng)的字符。(3)對(duì)于歌曲按鍵電路,當(dāng)用戶(hù)按下不同的按鍵時(shí),則會(huì)播放不同的歌曲。功能設(shè)計(jì)項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作
關(guān)鍵技術(shù)基于單片機(jī)的簡(jiǎn)易電子琴在設(shè)計(jì)時(shí)需要解決以下2個(gè)方面的問(wèn)題:(1)利用單片機(jī)中定時(shí)器實(shí)現(xiàn)不同頻率的音調(diào)。(2)利用按鍵實(shí)現(xiàn)對(duì)單片機(jī)的控制。項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作1、最小系統(tǒng)模塊的設(shè)計(jì)2、按鍵控制模塊的設(shè)計(jì)3、發(fā)音模塊的設(shè)計(jì)4、電源模塊的設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)35、數(shù)碼管顯示模塊的設(shè)計(jì)項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作系統(tǒng)總體硬件電路4項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)1)單片機(jī)發(fā)聲的概述
一般來(lái)說(shuō),單片機(jī)不像其他專(zhuān)業(yè)樂(lè)器那樣能奏出多種音色的聲音,即不包含相應(yīng)幅度的諧振頻率。單片機(jī)演奏的音樂(lè)基本都是單音頻率。因此單片機(jī)演奏音樂(lè)比較簡(jiǎn)單,只弄清楚“音調(diào)”和“節(jié)拍”兩個(gè)概念即可。音調(diào)主要由聲音的頻率決定,節(jié)拍表示一個(gè)音符持續(xù)的時(shí)間。因此,只要知道一個(gè)音符的頻率,便可以讓單片機(jī)發(fā)出相應(yīng)頻率的振蕩信號(hào),從而產(chǎn)生相應(yīng)的音符聲音。那么如何利用單片機(jī)來(lái)實(shí)現(xiàn)“音調(diào)”和“節(jié)拍”呢?音調(diào)的實(shí)現(xiàn)可以通過(guò)單片機(jī)的定時(shí)器進(jìn)行定時(shí)中斷,在中斷服務(wù)程序中將單片機(jī)I/O口來(lái)回置高電平或者是低電平的,從而讓揚(yáng)聲器發(fā)出相應(yīng)的聲音。節(jié)拍是每個(gè)音符持續(xù)的時(shí)間可以采用循環(huán)延時(shí)的方法或單片機(jī)另外一個(gè)定時(shí)/計(jì)數(shù)器來(lái)來(lái)實(shí)現(xiàn)控制一個(gè)音符唱多長(zhǎng)的時(shí)間。項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作如何來(lái)產(chǎn)生對(duì)應(yīng)音階的頻率信號(hào)呢?以中音DO(523Hz)為例,已知中音DO頻率為523Hz,其周期T=1/523=1912μs,,則半周期為1912/2=956μs,因此只要讓定時(shí)器計(jì)時(shí)956μs,每計(jì)數(shù)956μs時(shí)將I/O反相,就可得到中音DO(523Hz)。當(dāng)然這里要用定時(shí)器計(jì)時(shí)956μs,則需要用到前面所學(xué)知識(shí),假定單片機(jī)晶振是12MHZ,同時(shí)利用AT89C51的內(nèi)部定時(shí)器T0來(lái)實(shí)現(xiàn)956μs的定時(shí),那么我們?cè)O(shè)置T0工作計(jì)數(shù)器模式(MODE1),則956μs的定時(shí)對(duì)應(yīng)初始值為65535-956=64579=0xFC43,那么我們把這個(gè)值分別賦值給TH0和TL0,即為T(mén)H0=0xFC,TL0=0x43。2)音樂(lè)的產(chǎn)生表3-1音符頻率表項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作其方法是:若要產(chǎn)生某個(gè)音的頻率信號(hào),只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將輸出信號(hào)反相,然后重復(fù)計(jì)時(shí)再反相,就可在某個(gè)I/O引腳上得到此頻率的脈沖。音符頻率(HZ)簡(jiǎn)譜碼(T值)音符頻率(HZ)簡(jiǎn)譜碼(T值)低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低
33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#646664463高
131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中
65964777#6186565268中4FA69864820高7SI196765283項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作程序中的全局變量FREQL和FREQL就是音符頻率表,分別為數(shù)據(jù)的高8位和低8位,如下:unsignedcharcodeFREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, //低音1、2、3、4、5、6、70xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC, //中音1、2、3、4、5、6、70xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, //高音1、2、3、4、5、6、70xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF //超高音1、2、3、4、5、6、7};項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作unsignedcharcodeFREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, //低音1、2、3、4、5、6、70x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B, //中音1、2、3、4、5、6、70x8F,0xEE,0x44,0x6B,0xB4,0xF4,0x2D, //高音1、2、3、4、5、6、70x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16 //超高音1、2、3、4、5、6、7};FREQH和FREQL中分別為數(shù)據(jù)的高8位和第8位,分別用來(lái)初始化TH0、TL0。項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms音樂(lè)的音拍,一個(gè)節(jié)拍為單位(C調(diào))(如表3-2所示)表3-2曲調(diào)值表
對(duì)于不同的曲調(diào)我們也可以用延時(shí)函數(shù)或者單片機(jī)的另外一個(gè)定時(shí)/計(jì)數(shù)器來(lái)完成
項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作系統(tǒng)仿真電路圖項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作系統(tǒng)程序流程圖項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作程序設(shè)計(jì)2413在此系統(tǒng)上增加暫停/開(kāi)始按鈕,實(shí)現(xiàn)在播放音樂(lè)時(shí)可以實(shí)現(xiàn)暫停和開(kāi)始完成系統(tǒng)的程序的設(shè)計(jì)、仿真調(diào)試完成項(xiàng)目技術(shù)報(bào)告的制作項(xiàng)目1簡(jiǎn)易電子琴的設(shè)計(jì)與制作項(xiàng)目任務(wù)擴(kuò)展完成系統(tǒng)硬件電路的制作項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)與制作項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)知識(shí)與能力目標(biāo)了解DS18B20溫度傳感器的工作原理1掌握單片機(jī)最DS18B20溫度傳感器進(jìn)行讀寫(xiě)控制的方法2對(duì)照DS18B20溫度傳感器的數(shù)據(jù)手冊(cè),理解對(duì)其進(jìn)行寫(xiě)和讀軟件編制方法3
項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)應(yīng)用系統(tǒng)功能演示
項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)1項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)系統(tǒng)方案選擇和論證23系統(tǒng)硬件電路設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)與調(diào)試45系統(tǒng)的調(diào)試6項(xiàng)目擴(kuò)展任務(wù)系統(tǒng)的開(kāi)發(fā)流程
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)1)項(xiàng)目目標(biāo)了解DS18B20溫度傳感器的工作原理。掌握單片機(jī)最DS18B20溫度傳感器進(jìn)行讀寫(xiě)控制的方法。對(duì)照DS18B20溫度傳感器的數(shù)據(jù)手冊(cè),理解對(duì)其進(jìn)行寫(xiě)和讀軟件編制方法。在完成以上4點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“項(xiàng)目擴(kuò)展任務(wù)”中提出的問(wèn)題和要求,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成擴(kuò)展項(xiàng)目任務(wù)。
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)2)項(xiàng)目任務(wù)在基于單片機(jī)的溫度報(bào)警系統(tǒng),可以實(shí)現(xiàn)以下功能:(1)能夠?qū)崟r(shí)檢測(cè)室溫溫度,并能顯示當(dāng)前溫度值,只顯示整數(shù)。(2)可以手動(dòng)調(diào)節(jié)溫度的上限和下限值,每次增加或減少1℃。(3)當(dāng)溫度達(dá)到或超過(guò)限值,則報(bào)警。
項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)2.系統(tǒng)方案選擇和論證芯片選擇和論證系統(tǒng)方案設(shè)計(jì)關(guān)鍵技術(shù)總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)1、單片機(jī)芯片的選擇方案和論證這里我們需要選擇的單片機(jī)需要具備的特點(diǎn)如下:高集成度、體積小,可靠性高控制功能強(qiáng)易擴(kuò)展優(yōu)異的性?xún)r(jià)比方案一:采用STC89C51芯片作為硬件核心。STC89C51內(nèi)部具有8KB、ROM存儲(chǔ)空間,512字節(jié)數(shù)據(jù)存儲(chǔ)空間,帶有2KB的EEPROM存儲(chǔ)空間,與MCS-51系列單片機(jī)完全兼容,STC89C51可以通過(guò)串口下載。方案二:采用AT89C51芯片作為硬件核心。AT89C51內(nèi)部具有4KBROM存儲(chǔ)空間,256字節(jié)數(shù)據(jù)存儲(chǔ)空間,沒(méi)有EEPROM存儲(chǔ)空間,與MCS-51系列單片機(jī)完全兼容,具有在線(xiàn)編程可擦除技術(shù)。兩種單片機(jī)都滿(mǎn)足設(shè)計(jì)的需要,但STC89C51相對(duì)AT89C51價(jià)格便宜,且抗干擾能力強(qiáng),因此此項(xiàng)目選擇STC89C51。芯片選擇和論證項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)2.溫度傳感器的選擇方案和論證利用物質(zhì)各種物理性質(zhì)隨溫度變化的規(guī)律把溫度轉(zhuǎn)換為電量的傳感器稱(chēng)為溫度傳感器。溫度傳感器的發(fā)展大致經(jīng)歷了以下三個(gè)階段:1)傳統(tǒng)的分立式溫度傳感器(含敏感元件);2)模擬集成溫度傳感器/控制器;3)智能溫度傳感器。國(guó)際上新型溫度傳感器從模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。方案一:設(shè)計(jì)測(cè)溫電路,使用熱敏電阻之類(lèi)的器件利用其感溫效應(yīng),再將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),經(jīng)過(guò)A/D轉(zhuǎn)換后,就送入單片機(jī)進(jìn)行數(shù)據(jù)的處理。但這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,從硬件設(shè)計(jì)的角度上來(lái)講,會(huì)比較麻煩。方案二:采用美國(guó)DALLAS半導(dǎo)體器件公司溫度傳感器DS18B20,其無(wú)需經(jīng)過(guò)A/D轉(zhuǎn)換,直接可以讀取被測(cè)溫度。從以上兩種方案不難看出,采用方案二,電路設(shè)計(jì)和軟件設(shè)計(jì)都會(huì)大大簡(jiǎn)化,故采用了方案二。芯片選擇和論證項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)3.掉電保持的選擇方案和論證這里的掉電保持是指當(dāng)系統(tǒng)斷電后,系統(tǒng)里設(shè)置的溫度的上下限值不會(huì)因?yàn)閿嚯姸鴣G失。
方案一:串行EEPROMI2C-BUS的存儲(chǔ)器件AT24C02具有掉電數(shù)據(jù)不丟失的特點(diǎn),利用它實(shí)現(xiàn)數(shù)據(jù)的記錄。方案二:利用DS18B20具有一個(gè)非易失性電可擦除EEROM,可以用來(lái)存儲(chǔ)設(shè)置的溫度的上下限值。從以上兩種方案不難看出,采用方案二,無(wú)需再增加額外的器件,可以節(jié)約成本,因此此設(shè)計(jì)選擇方案二。芯片選擇和論證項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)
關(guān)鍵技術(shù)基于單片機(jī)的溫度報(bào)警系統(tǒng)在設(shè)計(jì)時(shí)需要解決以下3個(gè)方面的問(wèn)題:1)理解DS18B20溫度傳感器的工作原理。2)利用單片機(jī)對(duì)DS18B20溫度傳感器進(jìn)行讀寫(xiě)控制的方法。3)對(duì)照DS18B20溫度傳感器的數(shù)據(jù)手冊(cè),理解對(duì)其進(jìn)行讀和寫(xiě)的軟件編制方法。項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)1、最小系統(tǒng)模塊的設(shè)計(jì)2、按鍵控制模塊的設(shè)計(jì)3、發(fā)音模塊的設(shè)計(jì)4、電源模塊的設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)35、數(shù)碼管顯示模塊的設(shè)計(jì)6、溫度傳感器模塊的設(shè)計(jì)36DS18B20的實(shí)物和引腳圖補(bǔ)充:溫度傳感器DS18B20的概述37DS18B20是美國(guó)DALLAS半導(dǎo)體器件公司在其前代產(chǎn)品DS18B20的基礎(chǔ)上推出的單線(xiàn)數(shù)字化智能集成度傳感器,其特點(diǎn)是:獨(dú)特的單線(xiàn)接口,只需1個(gè)接口引腳即可通信。不需要額外的外部元件搭建外圍電路即可正常運(yùn)行??捎脭?shù)據(jù)線(xiàn)供電,不需備份電源。測(cè)量范圍為-55~+125℃,增量值為0.5℃;等效的華氏溫度范圍是-67~257℉,增量值為0.9℉。以9~12位數(shù)字值方式讀出溫度。在1s典型值內(nèi),把溫度變換為數(shù)字。用戶(hù)可定義的非易失性的溫度告警設(shè)置。38
主要的優(yōu)點(diǎn)是:1)DS18B20可將被測(cè)溫度直接轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào)輸出。2)DS18B20能提供9~12位溫度讀數(shù),精度高且其信息傳輸只需1根信號(hào)線(xiàn),與計(jì)算機(jī)接口十分簡(jiǎn)便,讀寫(xiě)及溫度變換的功率全部來(lái)自于數(shù)據(jù)線(xiàn),因此不需額外的附加電源。3)每一個(gè)DS18B20都含有一個(gè)唯一的序列號(hào),這樣的設(shè)計(jì)是為了允許多個(gè)DS18B20連接到同一總線(xiàn)上,因此非常適合構(gòu)建多點(diǎn)溫度檢測(cè)系統(tǒng)。4)負(fù)壓特性。DS18B20的當(dāng)電源極性接反時(shí),它雖然不能正常工作,但也不會(huì)因發(fā)熱而燒毀。項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)系統(tǒng)總體硬件電路4項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)系統(tǒng)軟件程序設(shè)計(jì)1)1.溫度傳感器DS18B20的程序編制方法單總線(xiàn)上每一個(gè)器件的使用都是從初始化開(kāi)始的,初始化的時(shí)序是,單片機(jī)首先發(fā)出復(fù)位脈沖,在經(jīng)過(guò)一定延時(shí)后,一個(gè)或多個(gè)單總線(xiàn)器件發(fā)出應(yīng)答脈沖,如果單片機(jī)檢測(cè)到單總線(xiàn)上有器件存在,就可以發(fā)出傳送ROM命令。具體的傳送ROM命令見(jiàn)下表所示。4項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)系統(tǒng)軟件程序設(shè)計(jì)只有當(dāng)上一表所示的任意一條ROM指令被成功執(zhí)行后,才會(huì)執(zhí)行單片機(jī)發(fā)出的訪(fǎng)問(wèn)被選中器件的存儲(chǔ)和控制命令,這些命令被存放在DS18B20的RAM中,主要實(shí)現(xiàn)啟動(dòng)單總線(xiàn)溫度傳感器DS18B20溫度轉(zhuǎn)換等功能,具體的RAM命令格式見(jiàn)下表所示。項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)1)DS18B20的初始化方法DS18B20要求嚴(yán)格的協(xié)議來(lái)確保數(shù)據(jù)傳送的完整性。協(xié)議由幾種單線(xiàn)上的信號(hào)類(lèi)別組成,即:復(fù)位脈沖、存在脈沖、寫(xiě)0、寫(xiě)1、讀0和讀1。所有這些信號(hào)除了存在脈沖之外,均由總線(xiàn)主器件(系統(tǒng)中的STC89C51)產(chǎn)生。下圖給出了DS18B20的初始化復(fù)位脈沖時(shí)序圖,當(dāng)主器件開(kāi)始與從器件DS18B20進(jìn)行通信時(shí),主器件必須先給出復(fù)位脈沖,經(jīng)過(guò)給定時(shí)間,DS18B20發(fā)出存在脈沖,表示已經(jīng)準(zhǔn)備好發(fā)送或者接收由主器件發(fā)送的ROM命令和存儲(chǔ)器操作命令。/***********ds18b20延遲子函數(shù)(晶振11.0592MHz的11微秒延時(shí)函數(shù))*******/voiddelay_18B20(unsignedintt){ while(t--);}////////////////////////////////////////////////////**********ds18b20初始化函數(shù)**********************/////////////////////////////////////////////////////voidInit_DS18B20(){ unsignedcharx=1;while(x) { while(x) { DQ=1;_nop_();_nop_(); DQ=0;delay_18B20(50); DQ=1;delay_18B20(6); x=DQ;} delay_18B20(45); x=~DQ;}DQ=1;}項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)2)寫(xiě)操作時(shí)序如下圖所示,當(dāng)主器件把數(shù)據(jù)線(xiàn)從高邏輯電平拉至低邏輯電平時(shí),產(chǎn)生寫(xiě)時(shí)間片。有兩種類(lèi)型的寫(xiě)時(shí)間片,分別為寫(xiě)1時(shí)間片和寫(xiě)0時(shí)間片,所有時(shí)間片必須有最短為60μs的持續(xù)期,在各寫(xiě)周期之間必須有最短為1μs的恢復(fù)時(shí)間。在DQ線(xiàn)由高電平變?yōu)榈碗娖街螅珼S18B20在15μs至60μs的時(shí)間窗口之間對(duì)DQ線(xiàn)采樣,如果DQ線(xiàn)為高電平,寫(xiě)1就發(fā)生;如果DQ線(xiàn)為低電平,便發(fā)生寫(xiě)0。/*************ds18b20寫(xiě)一個(gè)字節(jié)****************/voidDS18B20_WriteByte(uchardat)//通過(guò)一線(xiàn)制總線(xiàn)向18B20寫(xiě)一個(gè)字節(jié){ unsignedchari=0; for(i=8;i>0;i--)//循環(huán)一個(gè)字節(jié)位數(shù) { DQ=1;_nop_();_nop_();//一線(xiàn)制總線(xiàn)置高2μs準(zhǔn)備寫(xiě)過(guò)程 DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); //一線(xiàn)制總線(xiàn)置低5μs給出寫(xiě)過(guò)程條件
DQ=val&0x01;delay_18B20(6); //向一線(xiàn)制總線(xiàn)移出最低位并延遲66μs滿(mǎn)足寫(xiě)數(shù)據(jù)條件 dat=dat/2;//寫(xiě)字節(jié)右移一位 } DQ=1;delay_18B20(1);//總線(xiàn)置高,完成寫(xiě)過(guò)程}項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)3)讀操作時(shí)序如下圖所示,當(dāng)從DS18B20讀數(shù)據(jù)時(shí),主器件產(chǎn)生讀時(shí)間片。當(dāng)主器件把數(shù)據(jù)線(xiàn)DQ從邏輯高電平拉至低電平時(shí),產(chǎn)生讀時(shí)間片。數(shù)據(jù)線(xiàn)DQ必須保持在低邏輯電平至少1μs;總線(xiàn)控制器(主機(jī))將總線(xiàn)電平先拉低大于1μs的時(shí)間,然后釋放總線(xiàn)。隨后,如果由DS18B20將總線(xiàn)繼續(xù)拉低超過(guò)15μs,則讀出的數(shù)據(jù)是0;如果DS18B20將總線(xiàn)繼續(xù)拉低少于15μs,則讀出的數(shù)據(jù)是1。因此總控制器釋放總線(xiàn)超過(guò)15μs后隨時(shí)都可能由上拉電阻將總線(xiàn)拉到高電平,因此控制器在釋放總線(xiàn)后的15μs內(nèi)采樣總線(xiàn)可以保證讀出數(shù)據(jù)是正確的,如果超過(guò)15μs再采樣總線(xiàn),就有可能采樣到錯(cuò)誤數(shù)據(jù)。在讀時(shí)間片結(jié)束時(shí),I/O引腳經(jīng)過(guò)外部的上拉電阻拉回至高電平。unsignedcharDS18B20_ReadByte(void){ uchari=0; uchardat=0; for(i=8;i>0;i--) { DQ=1;_nop_();_nop_(); //一線(xiàn)制總線(xiàn)置高2μs準(zhǔn)備讀過(guò)程 dat>>=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); //一線(xiàn)制總線(xiàn)置低4μs給出讀過(guò)程條件 DQ=1;_nop_();_nop_();_nop_();_nop_(); //一線(xiàn)制總線(xiàn)置高4μs準(zhǔn)備讀取數(shù)據(jù)位 if(DQ) dat|=0x80;//讀取數(shù)據(jù)位并存入暫存變量 delay_18B20(6);//延遲66μs滿(mǎn)足讀數(shù)據(jù)條件 }DQ=1;//總線(xiàn)置高,完成讀過(guò)程 return(dat);//將暫存變量作為函數(shù)的返回值}項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)4)讀取DS18B20當(dāng)前溫度值程序初始化DS18B20向DS18B20寫(xiě)跳過(guò)ROM指令CCH向DS18B20寫(xiě)啟動(dòng)溫度轉(zhuǎn)換指令44H初始化DS18B20向DS18B20寫(xiě)跳過(guò)ROM指令CCH向DS18B20寫(xiě)讀取溫度值指令BEHTL:讀取溫度的低8位;TH:讀取溫度的高8位;htemp:讀取溫度上限;ltemp:讀取溫度下限;延時(shí)一段時(shí)間延時(shí)一段時(shí)間voidRead_Temprature(){ Init_DS18B20(); DS18B20_WriteByte(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 DS18B20_WriteByte(0x44); //啟動(dòng)溫度轉(zhuǎn)換delay_18B20(1000); Init_DS18B20(); DS18B20_WriteByte(0xCC); //跳過(guò)讀序號(hào)列號(hào)的操作 DS18B20_WriteByte(0xBE); //讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度
delay_18B20(1000); TL=DS18B20_ReadByte();//先讀的是溫度值低位 TH=DS18B20_ReadByte();//接著讀的是溫度值高位 htemp=DS18B20_ReadByte();//上限
ltemp=DS18B20_ReadByte();//下限}項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)5)溫度處理程序
該程序的功能將讀取的溫度值,進(jìn)行轉(zhuǎn)換,只保留整數(shù)部分,參考程序如下:unsignedcharTemprature_oper(){unsignedchartemp_value;Read_Temprature();temp_value=TH<<4;temp_value+=(TL&0xf0)>>4;returntemp_value;}項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)6)寫(xiě)溫度報(bào)警值程序該程序的功能是是將設(shè)置的溫度的上下限值寫(xiě)進(jìn)溫度傳感器DS18B20的內(nèi)部自帶EEPROM里面。參考程序如下:voidSet_Alarm_Temp_Value(uchartemphigh,uchartemplow){ Init_DS18B20(); DS18B20_WriteByte(0xCC);//跳過(guò)序列號(hào) DS18B20_WriteByte(0x4E);//將設(shè)定的溫度報(bào)警器值寫(xiě)入DS18B20 DS18B20_WriteByte(temphigh);//寫(xiě)TH DS18B20_WriteByte(templow);//寫(xiě)TL DS18B20_WriteByte(0x7F);//12位精度delay(1000); Init_DS18B20(); DS18B20_WriteByte(0xCC);//跳過(guò)序列號(hào) DS18B20_WriteByte(0x48);//溫度報(bào)警值存入DS18B20}項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)系統(tǒng)仿真電路圖處理上下限值,并將處理后的值存入DS18B20的EEPROM中是否否是顯示當(dāng)前溫度值模式設(shè)置鍵是否按下加/減鍵按下是否為上下限修改模式顯示當(dāng)前溫度值開(kāi)始初始化按鈕、溫度傳感器輸入口及顯示輸出口讀取溫度上下限值,顯示當(dāng)前溫度調(diào)用按鍵掃描項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)系統(tǒng)程序流程圖項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)程序設(shè)計(jì)2413在原有功能的基礎(chǔ)上,增加顯示負(fù)溫度值的功能完成系統(tǒng)的程序的設(shè)計(jì)、仿真調(diào)試完成項(xiàng)目技術(shù)報(bào)告的制作項(xiàng)目2溫度報(bào)警系統(tǒng)的設(shè)計(jì)項(xiàng)目任務(wù)擴(kuò)展完成系統(tǒng)硬件電路的制作項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作
項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作應(yīng)用系統(tǒng)功能演示
項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)系統(tǒng)方案選擇和論證23系統(tǒng)硬件電路設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)與調(diào)試45系統(tǒng)的調(diào)試6項(xiàng)目擴(kuò)展任務(wù)系統(tǒng)的開(kāi)發(fā)流程
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1)項(xiàng)目目標(biāo)理解超聲波模塊的工作原理。理解1602液晶的原理。掌握超聲波傳模塊和1602液晶模塊進(jìn)行讀、寫(xiě)的方法。對(duì)照超聲波HC-SR04模塊和1602液晶的數(shù)據(jù)手冊(cè),理解對(duì)它們進(jìn)行讀和寫(xiě)的軟件編制方法。在完成以上4點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“項(xiàng)目擴(kuò)展任務(wù)”中提出的問(wèn)題和要求,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成擴(kuò)展項(xiàng)目任務(wù)。
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)項(xiàng)目任務(wù)在基于單片機(jī)的汽車(chē)倒車(chē)報(bào)警系統(tǒng),可以實(shí)現(xiàn)以下功能:能夠測(cè)量0~5M范圍內(nèi)的距離,并用1602液晶顯示當(dāng)前距離,同時(shí)利用1602液晶顯示當(dāng)前溫度值??梢允謩?dòng)設(shè)置距離報(bào)警限值,當(dāng)距離到達(dá)限值,則報(bào)警。具有溫度補(bǔ)償功能。
項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2.系統(tǒng)方案選擇和論證測(cè)距傳感器選擇系統(tǒng)方案設(shè)計(jì)關(guān)鍵技術(shù)總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1、測(cè)距傳感器的選擇1)激光測(cè)距傳感器
激光傳感器利用激光的方向性強(qiáng)和傳光性好的特點(diǎn),它工作時(shí)先由激光傳感器對(duì)準(zhǔn)障礙物發(fā)射激光脈沖,經(jīng)障礙物反射后向各個(gè)方向散射,部分散射光返回到接收傳感器,能接收其微弱的光信號(hào),從而記錄并處理光脈沖發(fā)射到返回所經(jīng)歷的時(shí)間即可測(cè)定距離,即用往返時(shí)間的一半乘以光速就能得到距離。其優(yōu)點(diǎn)是測(cè)量的距離遠(yuǎn)、速度快、測(cè)量精確度高、量程范圍大,缺點(diǎn)是對(duì)人體存在安全問(wèn)題,而且制作的難度大成本也比較高。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1、測(cè)距傳感器的選擇2)紅外線(xiàn)測(cè)距傳感器紅外線(xiàn)測(cè)距傳感器利用的就是紅外線(xiàn)信號(hào)在遇到障礙物其距離的不同則其反射的強(qiáng)度也不同,根據(jù)這個(gè)特點(diǎn)從而對(duì)障礙物的距離的遠(yuǎn)近進(jìn)行測(cè)量的。其優(yōu)點(diǎn)是成本低廉,使用安全,制作簡(jiǎn)單,缺點(diǎn)就是測(cè)量精度低,方向性也差,測(cè)量距離近。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作
關(guān)鍵技術(shù)基于單片機(jī)的汽車(chē)倒車(chē)報(bào)警系統(tǒng)在設(shè)計(jì)時(shí)需要解決以下3個(gè)方面的問(wèn)題:1)理解超聲波HC-SR04模塊的工作原理。2)理解1602液晶顯示的原理。3)對(duì)照超聲波HC-SR04模塊和1602液晶的數(shù)據(jù)手冊(cè),理解對(duì)它們進(jìn)行讀和寫(xiě)的軟件編制方法。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1、最小系統(tǒng)模塊的設(shè)計(jì)2、超聲波模塊電路的設(shè)計(jì)3、1602液晶顯示電路設(shè)計(jì)4、電源模塊的電路設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)35、發(fā)音模塊模塊的電路設(shè)計(jì)6、溫度傳感器模塊的電路設(shè)計(jì)7、鍵盤(pán)模塊的電路設(shè)計(jì)67HR-SR04超聲波集成模塊的實(shí)物和引腳圖補(bǔ)充:HR-SR04超聲波集成模塊的介紹68
HR-SR04超聲波集成模塊是將超聲波發(fā)射探頭,超聲波接收探頭,CX20106A芯片電路,74LS04芯片放大電路集成到的一起的一個(gè)超聲波集成模塊。HR-SR04超聲波集成模塊的引腳排布如圖所示。各引腳的功能:VCC端口—接+5V電源;GND—接地;Trig端口—觸發(fā)控制信號(hào)輸入;Echo—回響信號(hào)輸出;69超聲波時(shí)序如上圖圖,可知HR-SR04型超聲波集成模塊的工作原理:采用I/O觸發(fā)測(cè)距,但至少要給10us的高電平信號(hào)。模塊自動(dòng)發(fā)送8個(gè)40kHz的方波脈沖,并能夠自動(dòng)檢測(cè)是否有信號(hào)返回。有信號(hào)返回,通過(guò)Echo輸出高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回所用的時(shí)間,則,所測(cè)量的距離=(高電平時(shí)間×聲速)/2。701602液晶的實(shí)物圖補(bǔ)充:1602字符型LCD簡(jiǎn)介1602字符型LCD簡(jiǎn)介
字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。市面上字符液晶絕大多數(shù)都是基于HD44780液晶芯片的,控制原理是完全相同的。1602LCD分為帶背光和不帶背光兩種,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別。各引腳接口說(shuō)明如下表所示:編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫(xiě)選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極1602LCD引腳功能說(shuō)明第1腳:VSS為電源。第2腳:VDD接5V正電源。第3叫:VL為液晶顯示器對(duì)比度調(diào)整端。接電源時(shí)對(duì)比對(duì)最弱,接地時(shí)對(duì)比度最高,但對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇端。高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫(xiě)信號(hào)線(xiàn)端。高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:E端為使能端。當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線(xiàn)。第15腳:背光源正極。第16腳:背光源負(fù)極。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作系統(tǒng)總體硬件電路4項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)1.超聲波測(cè)距程序的編制
超聲波測(cè)距主要功能就是獲取的超聲波模塊測(cè)量的結(jié)果,將此結(jié)果根據(jù)DS18B20檢測(cè)到的溫度值轉(zhuǎn)化為對(duì)應(yīng)距離。超聲波測(cè)距子程序流程圖如圖所示。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1)超聲波測(cè)距的原理介紹超聲波是一種振動(dòng)頻率超過(guò)20kHz的機(jī)械波,它可以沿直線(xiàn)方向傳播,而且傳播的方向性好,傳播的距離也較遠(yuǎn),在介質(zhì)中傳播時(shí)遇到障礙物在入射到它的反射面上就會(huì)產(chǎn)生反射波。由于超聲波的以上幾個(gè)特點(diǎn),所以超聲波被廣泛地應(yīng)用于物體距離的測(cè)量、厚度等方面。當(dāng)進(jìn)行距離的測(cè)量時(shí),由安裝在同一水平線(xiàn)上的超聲波發(fā)射器和接收器完成超聲波的發(fā)射與接收,并且同時(shí)啟動(dòng)定時(shí)器進(jìn)行計(jì)數(shù)。首先由超聲波發(fā)射探頭向倒車(chē)的方向發(fā)射超聲波并同時(shí)啟動(dòng)定時(shí)器計(jì)時(shí),超聲波在空氣中傳播的途中一旦遇到障礙物后就會(huì)被反射回來(lái),當(dāng)接收探頭收到反射波后就會(huì)給負(fù)脈沖到單片機(jī)使其立刻停止計(jì)時(shí)。這樣,定時(shí)器就能夠準(zhǔn)確的記錄下了超聲波發(fā)射點(diǎn)至障礙物之間往返傳播所用的時(shí)間t(s)。由于在常溫下超聲波在空氣中的傳播速度大約為340m/s,所以障礙物到發(fā)射探頭之間的距離可以利用公式1計(jì)算:項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1)超聲波測(cè)距的原理介紹因?yàn)閱纹瑱C(jī)內(nèi)部定時(shí)器的計(jì)時(shí)實(shí)際上就是對(duì)機(jī)器周期T的計(jì)數(shù),而本設(shè)計(jì)中時(shí)鐘頻率fosc取12MHz,設(shè)計(jì)數(shù)值N,則:項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)超聲波測(cè)距程序?qū)τ贖R-SR04的操作需要:第一步:觸發(fā)HR-SR04,即需要給HR-SR04的Trig端一個(gè)持續(xù)約10us的高電平信號(hào)。這里我們用Trig_HR_SR04()函數(shù)來(lái)實(shí)現(xiàn),具體參考程序如下。voidTrig_HR_SR04()//啟動(dòng)模塊
{
TRIG=1;//啟動(dòng)一次模塊
_nop_();
_nop_();
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
_nop_(); _nop_();
_nop_(); _nop_();
_nop_(); _nop_(); _nop_(); TRIG=0;}項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)超聲波測(cè)距程序第二步:就是需要獲取從發(fā)射超聲波到接收到返回信號(hào)的時(shí)間。經(jīng)過(guò)前面一步,HR-SR04就會(huì)自動(dòng)生成8個(gè)40kHz的方波脈沖,當(dāng)其遇到障礙物時(shí),HR-SR04會(huì)自動(dòng)檢測(cè)到返回信號(hào),并且此時(shí)HR-SR04的Echo端就會(huì)產(chǎn)生高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回所用的時(shí)間,這段時(shí)間就是我們需要獲取的時(shí)間。這里我們可以利用定時(shí)器的計(jì)數(shù)功能來(lái)實(shí)現(xiàn)。具體的參考程序如下:初始化HR_SR04:Init_HR_SR04()voidInit_HR_SR04() //初始化{
//設(shè)T0為方式1,GATE=1; TMOD=0x01; TH0=0; TL0=0; ET0=1;//允許T0中斷 EA=1;//開(kāi)啟總中斷
TR0=0; }獲取時(shí)間T:Time_HR_SR04()
unsignedcharTime_HR_SR04() { unsignedchartime; while(!ECHO); //當(dāng)RX為零時(shí)等待 TR0=1;//開(kāi)啟計(jì)數(shù) while(ECHO); //當(dāng)RX為1計(jì)數(shù)并等待 TR0=0;//關(guān)閉計(jì)數(shù) time=TH0*256+TL0; returntime;}
項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)超聲波測(cè)距程序第三步:計(jì)算距離。在這里設(shè)計(jì)的程序根據(jù)不同的溫度計(jì)算距離,參考程序如下://根據(jù)不同的溫度計(jì)算距離intJS_HR_SR04(unsignedcharWD,unsignedchartime1){
intL;L=time1*(331.45+61*WD/10/100)/200/10; returnL;}
4項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)2.顯示數(shù)據(jù)子程序的編制
顯示數(shù)據(jù)子程序的主要功能就是把超聲波模塊測(cè)量后的結(jié)果經(jīng)單片機(jī)處理完畢的距離顯示在LCD液晶顯示屏上。顯示數(shù)據(jù)子程序流程圖如圖所示。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作1)1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)
1602液晶內(nèi)置了DDRAM,DDRAM就是顯示數(shù)據(jù)RAM,用來(lái)寄存待顯示的字符代碼,共有80個(gè)字節(jié),其地址與屏幕的對(duì)應(yīng)關(guān)系如圖所示。1602液晶模塊內(nèi)部固化了字模存儲(chǔ)器CGROM和CGRAM。HD44780內(nèi)置了192個(gè)常用字符的字模,存放于字符產(chǎn)生器CGROM(CharacterGeneratorROM)中,另外還有8個(gè)允許用戶(hù)自定義的字符產(chǎn)生RAM,稱(chēng)為CGRAM(CharacterGeneratorRAM)。思考:如果我們需要讓1602液晶屏的第二行第一列顯示1個(gè)字符“A”,該如何操作呢?項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)1602LCD的指令說(shuō)明
1602液晶模塊內(nèi)部的控制器共有11條控制指令。清屏指令:清屏,光標(biāo)撤回到液晶顯示屏的左上方,將地址計(jì)數(shù)器的值設(shè)置為00H。光標(biāo)歸位指令:光標(biāo)撤回到液晶顯示屏的左上方,將地址計(jì)數(shù)器的值設(shè)置為00H,保持DDRAM的內(nèi)容不變。進(jìn)入模式設(shè)置指令:光標(biāo)和顯示模式設(shè)置。其中:I/D:設(shè)置光標(biāo)移動(dòng)方向:高電平右移,低電平左移;S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)1602LCD的指令說(shuō)明顯示開(kāi)關(guān)控制指令:控制顯示器開(kāi)/關(guān)、光標(biāo)顯示/關(guān)閉、光標(biāo)是否閃爍。D:D=H顯示功能開(kāi);D=L顯示功能關(guān);C:C=H有光標(biāo);C=L無(wú)光標(biāo);B:B=H光標(biāo)不閃爍;B=L光標(biāo)閃爍;設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令:是光標(biāo)移位或使整個(gè)顯示屏移位。S/C=0R/L=0:光標(biāo)左移一格,且AC值減1;S/C=0R/L=1:光標(biāo)右移一格,且AC值加1;S/C=1R/L=0:顯示器上字符全部左移一格,但光標(biāo)不動(dòng);S/C=1R/L=1:顯示器上字符全部右移一格,但光標(biāo)不動(dòng);項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)1602LCD的指令說(shuō)明功能設(shè)定指令:設(shè)定數(shù)據(jù)總線(xiàn)位數(shù)、顯示行數(shù)及字型。DL=0:數(shù)據(jù)總線(xiàn)為4位;DL=1:數(shù)據(jù)總線(xiàn)為8位;N=0:顯示1行;N=1:顯示2行;F=0:5X7點(diǎn)陣/每字符;F=1:5X10點(diǎn)陣/每字符設(shè)定CGRAM地址指令:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM地址。
從DDRAM或CGRAM讀出數(shù)據(jù)指令:讀取DDRAM或CGRAM中的內(nèi)容。
項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作2)1602LCD的指令說(shuō)明讀取忙信號(hào)或AC地址指令:(1)讀取忙碌信號(hào)BF的內(nèi)容,BF=1:表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)發(fā)送來(lái)的數(shù)據(jù)或指令;BF=0:液晶顯示器可以接收單片機(jī)發(fā)送來(lái)的數(shù)據(jù)或指令。(2)讀取地址計(jì)數(shù)器(AC)的內(nèi)容。數(shù)據(jù)寫(xiě)入DDRAM或CGRAM指令:(1)將字符碼寫(xiě)入DDRAM,以使液晶顯示屏顯示出對(duì)應(yīng)的字符。(2)將使用者自己設(shè)計(jì)的圖形存入CGRAM。
項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作3)1602LCD的基本操作時(shí)序讀狀態(tài):輸入:RS=L,R/W=H,E=H輸出:D0—D7=狀態(tài)字寫(xiě)指令:輸入:RS=L,R/W=L,D0—D7=指令碼,E=高脈沖輸出:無(wú)讀數(shù)據(jù):輸入:RS=H,R/W=H,E=H輸出:D0—D7=數(shù)據(jù)寫(xiě)數(shù)據(jù):輸入:RS=H,R/W=L,D0—D7=數(shù)據(jù),E=高脈沖輸出:無(wú)4)1602LCD程序舉例該程序?qū)崿F(xiàn)的功能是在1602液晶顯示器的第一行顯示靜態(tài)字符,第二行在給定時(shí)間間隔內(nèi)循環(huán)動(dòng)態(tài)顯示ASCII碼表。仿真電路圖程序講解項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作系統(tǒng)仿真電路圖項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作程序設(shè)計(jì)2413理解本項(xiàng)目完成系統(tǒng)的程序的設(shè)計(jì)、仿真調(diào)試完成項(xiàng)目技術(shù)報(bào)告的制作項(xiàng)目3汽車(chē)倒車(chē)報(bào)警系統(tǒng)的設(shè)計(jì)與制作項(xiàng)目任務(wù)擴(kuò)展完成系統(tǒng)硬件電路的制作項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作
項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作應(yīng)用系統(tǒng)功能演示
項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作1項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)系統(tǒng)方案選擇和論證23系統(tǒng)硬件電路設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)與調(diào)試45系統(tǒng)的調(diào)試6項(xiàng)目擴(kuò)展任務(wù)系統(tǒng)的開(kāi)發(fā)流程
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作1)項(xiàng)目目標(biāo)理解24C02的工作原理。理解紅外接收模塊的原理。理解繼電器的工作原理對(duì)照24C02、HS0038紅外一體化接收頭的數(shù)據(jù)手冊(cè),理解對(duì)它們進(jìn)行讀和寫(xiě)的軟件編制方法。理解密碼修改等功能的程序。在完成以上4點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“項(xiàng)目擴(kuò)展任務(wù)”中提出的問(wèn)題和要求,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成擴(kuò)展項(xiàng)目任務(wù)。
項(xiàng)目設(shè)計(jì)目標(biāo)與任務(wù)1.項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作2)項(xiàng)目任務(wù)基于單片機(jī)的電子密碼鎖,可以實(shí)現(xiàn)以下功能:1)管理員的密碼為“131420”,當(dāng)輸入此密碼時(shí),用戶(hù)以管理員的身份可以進(jìn)行密碼的修改,此時(shí)密碼默認(rèn)為“000000”。2)設(shè)計(jì)開(kāi)鎖密碼為六位,為了防止密碼被竊取要求在輸入密碼時(shí)在LCD屏幕上顯示*號(hào)。3)4×4的矩陣鍵盤(pán)其中包括0-9的數(shù)字鍵、*、#和A-D的功能鍵,其中的ABC無(wú)定義、*號(hào)鍵為取消當(dāng)前操作、#號(hào)鍵為確認(rèn)、D鍵為修改密碼。4)能夠LCD顯示在密碼正確時(shí)顯示OPEN,密碼錯(cuò)誤時(shí)顯示ERROR,輸入密碼時(shí)顯示INPUTPASSWORD。5)實(shí)現(xiàn)輸入密碼錯(cuò)誤超過(guò)限定的三次電子密碼鎖定。6)本產(chǎn)品具備報(bào)警功能,當(dāng)輸入密碼錯(cuò)誤時(shí)蜂鳴器響并且LED燈亮。7)密碼可以由用戶(hù)自己修改設(shè)定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。8)輸入正確的密碼繼電器閉合,可以隨意驅(qū)動(dòng)負(fù)載。9)密碼具有紅外遙控器輸入功能,和按鍵功能一樣,這樣用戶(hù)更加方便操作。10)LCD的亮度隨光線(xiàn)的強(qiáng)弱自動(dòng)進(jìn)行調(diào)節(jié)。
項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作2.系統(tǒng)方案選擇和論證總體方案的選擇系統(tǒng)方案設(shè)計(jì)關(guān)鍵技術(shù)總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作1.帶有紅外遙控的電子密碼鎖總體方案的選擇方案一:采用數(shù)字電路控制。
用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶(hù)輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶(hù)輸入密碼的時(shí)間超過(guò)10秒(一般情況下,用戶(hù)不會(huì)超過(guò)10秒,若用戶(hù)覺(jué)得不便,還可以修改)電路將報(bào)警20秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單但控制的準(zhǔn)確性和靈活性差。故在本項(xiàng)目中不采用。項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作1.帶有紅外遙控的電子密碼鎖總體方案的選擇方案二:采用一種是用以STC89C51為核心的單片機(jī)控制方案。選用單片機(jī)STC89C51作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理如下圖所示:項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作
關(guān)鍵技術(shù)基于單片機(jī)的帶有紅外遙控的電子密碼鎖在設(shè)計(jì)時(shí)需要解決以下6個(gè)方面的問(wèn)題:1)理解24C02的工作原理。2)理解紅外接收模塊的原理。3)理解繼電器的工作原理4)對(duì)照24C02、HS0038紅外一體化接收頭的數(shù)據(jù)手冊(cè),理解對(duì)它們進(jìn)行讀和寫(xiě)的軟件編制方法。5)如何實(shí)現(xiàn)上述項(xiàng)目任務(wù)中所描述的密碼修改等功能。6)如何實(shí)現(xiàn)LCD的亮度隨光線(xiàn)的強(qiáng)弱自動(dòng)進(jìn)行調(diào)節(jié)。項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作1、最小系統(tǒng)模塊的設(shè)計(jì)2、密碼存儲(chǔ)模塊電路的設(shè)計(jì)3、LCD顯示模塊電路的設(shè)計(jì)4、鍵盤(pán)模塊電路的設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)35、報(bào)警模塊電路的設(shè)計(jì)6、開(kāi)鎖模塊電路的設(shè)計(jì)
7、電源模塊電路的設(shè)計(jì)
8、紅外模塊電路的設(shè)計(jì)105
1)AT24C02存儲(chǔ)芯片簡(jiǎn)介AT24C02是美國(guó)Atmel公司的低功耗CMOS型E2PROM,內(nèi)含256×8位存儲(chǔ)空間,具有工作電壓寬(2.5~5.5V)、擦寫(xiě)次數(shù)多、寫(xiě)入速度快、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小等特點(diǎn)。而且他是采用了I2C總線(xiàn)式進(jìn)行數(shù)據(jù)讀寫(xiě)的串行器件,占用很少的資源和I/O線(xiàn),并且支持在線(xiàn)編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。下圖分別展示了貼片和直插兩種封裝類(lèi)型的24C02的引腳排布情況。各引腳的名稱(chēng)及功能如表所示。補(bǔ)充1:AT24C02存儲(chǔ)芯片106補(bǔ)充1:AT24C02存儲(chǔ)芯片管腳名稱(chēng)主要功能A0、A1、A2器件地址選擇SDA串行數(shù)據(jù)/地址SCL串行時(shí)鐘WP寫(xiě)保護(hù)VCC+1.8V~+6VVSS地107
2)AT24C02與STC89C51單片機(jī)連接電路設(shè)計(jì)因?yàn)樵诒卷?xiàng)目中由于只采用了AT24C02,所以A0、A1、A2的連接選擇了三個(gè)端口連接到VSS,地址為0。AT24C02的4、8腳分別是VSS和VCC,所以分別接地、電源。AT24C02的5腳SDA為串行數(shù)據(jù)輸入/輸出,6腳SCL為串行時(shí)鐘輸入線(xiàn),在電路設(shè)計(jì)時(shí),SDA和SCL都需要和正電源間各接一個(gè)10K的電阻上拉。AT24C02的7腳為WP為寫(xiě)保護(hù),如果WP管腳接到VCC,所有的內(nèi)容都被寫(xiě)保護(hù)(只能讀),當(dāng)WP管腳接到VSS或懸空,則允許器件進(jìn)行正常的讀/寫(xiě)操作。所以在本設(shè)計(jì)中,WP需要接地。補(bǔ)充1:AT24C02存儲(chǔ)芯片108LCD1602液晶連接電路設(shè)計(jì)
此部分的電路,與前面項(xiàng)目中電路的設(shè)計(jì)有兩個(gè)地方不同:1、1602液晶模塊的第3腳VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。但在本設(shè)計(jì)的時(shí)候,沒(méi)有采用10K的電位器,而是直接用的兩個(gè)電阻R8和R9,通過(guò)兩個(gè)電阻的分壓來(lái)實(shí)現(xiàn)最佳對(duì)比度,其中R9的取值范圍為200歐~1.5K歐。2、1602液晶模塊的第15腳和第16腳分別是背光源正極和背光源負(fù)極,按理來(lái)講,只要15腳接VCC,16腳接GND就可以,但是在本設(shè)計(jì)里面第15腳接VCC,但第16腳沒(méi)有直接接地,而是設(shè)計(jì)成了如圖所示的電路,這樣設(shè)計(jì)的目的是希望能夠?qū)崿F(xiàn)1602液晶的亮度隨光線(xiàn)自動(dòng)調(diào)節(jié)的功能。補(bǔ)充2:LCD1602液晶1091)繼電器的介紹電磁繼電器一般由鐵芯、線(xiàn)圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線(xiàn)圈兩端加上一定的電壓,線(xiàn)圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線(xiàn)圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))釋放。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線(xiàn)圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱(chēng)為“常開(kāi)觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱(chēng)為“常閉觸點(diǎn)”。繼電器一般有兩股電路,為低壓控制電路和高壓工作電路。補(bǔ)充3:繼電器1102)開(kāi)鎖模塊電路的設(shè)計(jì)如圖所示,電路中繼電器是通過(guò)PNP型三極管驅(qū)動(dòng),當(dāng)閥值超過(guò)設(shè)定時(shí),單片機(jī)會(huì)由高電平跳變成低電平,三極管導(dǎo)通繼電器吸合,繼電器起開(kāi)關(guān)作用,可以驅(qū)動(dòng)負(fù)載,端子1和3接鎖的兩根線(xiàn)就可以了。補(bǔ)充3:繼電器1111)紅外遙控電路的介紹紅外遙控的發(fā)射電路是采用紅外發(fā)光二極管來(lái)發(fā)出經(jīng)過(guò)調(diào)制的紅外光波;紅外接收電路由紅外接收二極管、三極管或硅光電池組成,它們將紅外發(fā)射器發(fā)射雕紅外光轉(zhuǎn)換為相應(yīng)的電信號(hào),再送后置放大器。發(fā)射機(jī)一般由指令鍵(或操作桿)、指令編碼系統(tǒng)、調(diào)制電路、驅(qū)動(dòng)電路、發(fā)射電路等幾部分組成。當(dāng)按下指令鍵或推動(dòng)操作桿時(shí),指令編碼電路產(chǎn)生所需的指令編碼信號(hào),指令編碼信號(hào)對(duì)載體進(jìn)行調(diào)制,再由驅(qū)動(dòng)電路進(jìn)行功率放大后由發(fā)射電路向外發(fā)射經(jīng)調(diào)制定指令編碼信號(hào)。接收電路一般由接收電路、放大電路、解調(diào)電路、指令譯碼電路、驅(qū)動(dòng)電路、執(zhí)行電路(機(jī)構(gòu))等幾部分組成。接收電路將發(fā)射器發(fā)出的已調(diào)制的編碼指令信號(hào)接收下來(lái),并進(jìn)行放大后送解調(diào)電路,解調(diào)電路將已調(diào)制的指令編碼信號(hào)解調(diào)出來(lái),即還原為編碼信號(hào)。指令譯碼器將編碼指令信號(hào)進(jìn)行譯碼,最后由驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)執(zhí)行電路實(shí)現(xiàn)各種指令的操作控制。補(bǔ)充4:紅外遙控1122)紅外模塊電路的設(shè)計(jì)本項(xiàng)目里,采用紅外無(wú)線(xiàn)遙控模塊套件,該套件包括:紅外遙控器、38KHz紅外接收管。紅外遙控器實(shí)物如圖所示,該紅外遙控器是一種集紅外線(xiàn)接收和放大整形于一體,不需要任何外接元件,就能完成從紅外線(xiàn)接收到輸出與TTL電平信號(hào)兼容的所有工作,而體積又很小巧,它適合于各種紅外線(xiàn)遙控和紅外線(xiàn)數(shù)據(jù)傳輸,發(fā)射距離可以達(dá)到8米,非常適合在室內(nèi)操控各種設(shè)備。補(bǔ)充4:紅外遙控圖3-64紅外遙控器實(shí)物圖圖3-6538KHz紅外接收管實(shí)物圖外模塊電路的設(shè)計(jì)主要就是紅外接收電路的設(shè)計(jì),它的設(shè)計(jì)如圖所示。項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作系統(tǒng)總體硬件電路項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作系統(tǒng)主程序模塊流程圖開(kāi)始初始化模式選擇識(shí)別按鍵密碼輸入手動(dòng)清除密碼比較開(kāi)門(mén)舊密碼輸入新密碼輸入存入緩存區(qū)再次輸入密碼重新輸入設(shè)置完畢返回NANBY2項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作新增模塊運(yùn)用舉例1)24C02的操作程序舉例24c02是一個(gè)非揮發(fā)eeprom存儲(chǔ)器器件,采用的IIC總線(xiàn)技術(shù)。24c02的應(yīng)用,主要在存儲(chǔ)一些掉電后還要保存數(shù)據(jù)的場(chǎng)合,在上次運(yùn)行時(shí),保存的數(shù)據(jù),在下一次運(yùn)行時(shí)還能夠調(diào)出。這里我們列舉個(gè)例子來(lái)講授對(duì)24c02的讀、寫(xiě)控制。例子:寫(xiě)入了一個(gè)字節(jié)數(shù)值0x88到24c02的0x02的位置。我們?cè)僭谙乱豢虂?lái)讀出這個(gè)字節(jié)到P2口來(lái)驗(yàn)證結(jié)果,操作結(jié)束后,P10燈會(huì)亮起。2項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作新增模塊運(yùn)用舉例2)紅外遙控模塊操作舉例
紅外遙控模塊包括兩部分:紅外發(fā)射部分和紅外接收部分。紅外發(fā)射部分就是紅外遙控器,紅外接收部分就是1838一體紅外接收頭。1838一體紅外接收頭是我們最常用的紅外接收元器件,被廣泛應(yīng)用于電視機(jī)、空調(diào)、冰箱及電視機(jī)頂盒等需要紅外遙控的電器上。在圖3-66中,我們已經(jīng)知道1838一體紅外接收頭有三個(gè)引腳1、2、3,分別是OUT、、GND、VCC,其中OUT端接單片機(jī)的I/O口。當(dāng)你拿著紅外遙控器對(duì)準(zhǔn)紅外接收頭按下時(shí),紅外接收頭的OUT引腳將會(huì)發(fā)生變化,不同的按鍵按下,OUT引腳的變化不一樣,而這種變化是由遙控器決定的,1838一體紅外接收頭只是起到接收信號(hào)和解碼的作用。因此我們必須要首先了解紅外遙控器的編碼原理。2項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作新增模塊運(yùn)用舉例①紅外遙控器的編碼基本原理這里以運(yùn)用比較廣泛,解碼比較容易的NEC標(biāo)準(zhǔn)為例說(shuō)明編碼原理。當(dāng)紅外遙控器的一個(gè)鍵按下超過(guò)36ms,振蕩器使芯片激活,將發(fā)射一組NEC紅外遙控編碼,該編碼由引導(dǎo)碼、16位定制碼(8位定制碼、8位定制碼的反碼)和16位數(shù)據(jù)碼(8位數(shù)據(jù)碼、8位數(shù)據(jù)碼的反碼)組成。說(shuō)明:引導(dǎo)碼是一個(gè)遙控碼的起始部分,用于通知紅外遙控信號(hào)的來(lái)臨,由一個(gè)9ms的高電平(起始碼)和一個(gè)4.5ms的低電平(結(jié)果碼)組成。16位定制碼,一般是用來(lái)識(shí)別紅外遙控器,能區(qū)別不同的電器設(shè)備,不同機(jī)種遙控碼互相干擾。16位數(shù)據(jù)碼分為8位操作碼(功能碼)及其反碼,其中,8位操作碼(功能碼)是用來(lái)識(shí)別用戶(hù)的功能,反碼用于核對(duì)數(shù)據(jù)是否接收準(zhǔn)確。如圖所示,這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼即發(fā)射數(shù)據(jù)時(shí):0用“0.56ms高電平+0.565ms低電平=1.125ms”表示;1用“高電平0.56ms+低電平1.69ms=2.25ms”表示;
需要注意的是:當(dāng)一體化接收頭收到38kHz紅外信號(hào)時(shí),紅外一體化接收頭輸出的波形是與發(fā)射波形是反向的,即首先是9ms的低電平,然后是4.5ms的高電平,然后再是定制碼和數(shù)據(jù)碼。2項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作新增模塊運(yùn)用舉例②單片機(jī)紅外遙控器的解碼程序舉例利用單片機(jī)實(shí)現(xiàn)對(duì)紅外遙控器解碼關(guān)鍵在于單片機(jī)如何檢測(cè)這些脈沖并計(jì)算大小,其基本思路:把紅外接收頭的OUT引腳與單片機(jī)的外部中斷引腳相連,并將外部中斷設(shè)置為低電平觸發(fā)方式,用定時(shí)器記錄每次電平跳變之間的時(shí)間,通過(guò)判斷時(shí)間,來(lái)獲取這些碼值,進(jìn)而判斷遙控器按下了哪個(gè)鍵。這里我們列舉一個(gè)例子,來(lái)進(jìn)一步的說(shuō)明這部分程序的編寫(xiě)思路。項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作系統(tǒng)仿真電路圖項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作程序設(shè)計(jì)2413在原有功能的基礎(chǔ)上,增加顯示負(fù)溫度值的功能完成系統(tǒng)的程序的設(shè)計(jì)、仿真調(diào)試完成項(xiàng)目技術(shù)報(bào)告的制作項(xiàng)目4帶紅外遙控的電子密碼鎖的設(shè)計(jì)與制作項(xiàng)目任務(wù)擴(kuò)展完成系統(tǒng)硬件電路的制作項(xiàng)目512864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作
項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作應(yīng)用系統(tǒng)功能演示
項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作1項(xiàng)目解決的主要內(nèi)容系統(tǒng)方案選擇和論證23系統(tǒng)硬件電路設(shè)計(jì)與制作系統(tǒng)軟件程序設(shè)計(jì)與調(diào)試45項(xiàng)目擴(kuò)展任務(wù)目錄
項(xiàng)目解決的主要內(nèi)容1.項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作本課題所研究的電子萬(wàn)年歷是單片機(jī)控制技術(shù)的一個(gè)具體應(yīng)用,主要研究?jī)?nèi)容包括以下幾個(gè)方面:1)選用電子萬(wàn)年歷芯片時(shí),應(yīng)重點(diǎn)考慮功能實(shí)在、使用方便、單片存儲(chǔ)、低功耗、抗斷電的器件。2)根據(jù)選用的電子萬(wàn)年歷芯片設(shè)計(jì)外圍電路和單片機(jī)的接口電路。3)在硬件設(shè)計(jì)時(shí),結(jié)構(gòu)要盡量簡(jiǎn)單實(shí)用、易于實(shí)現(xiàn),使系統(tǒng)電路盡量簡(jiǎn)單。4)根據(jù)硬件電路圖,在開(kāi)發(fā)板上完成器件的焊接。5)根據(jù)設(shè)計(jì)的硬件電路,編寫(xiě)控制STC89C52芯片的單片機(jī)程序。6)通過(guò)編程、編譯、調(diào)試,把程序下載到單片機(jī)上運(yùn)行,并實(shí)現(xiàn)本設(shè)計(jì)的功能。7)在硬件電路和軟件程序設(shè)計(jì)時(shí),主要考慮提高人機(jī)界面的友好性,方便用戶(hù)操作等因素。
項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作2.系統(tǒng)方案選擇和論證總體方案的選擇系統(tǒng)方案設(shè)計(jì)關(guān)鍵技術(shù)總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作總體結(jié)構(gòu)設(shè)計(jì)項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作1)單片機(jī)芯片設(shè)計(jì)與論證方案1:采用51系列單片機(jī)作為系統(tǒng)控制器單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制。由于其功耗低、體積較小、技術(shù)成熟和成本低等優(yōu)點(diǎn),在各個(gè)領(lǐng)域應(yīng)用廣泛。而且抗干擾性能好。方案2:采用凌陽(yáng)系列單片機(jī)作為系統(tǒng)的控制器凌可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它陽(yáng)系列單片機(jī)將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性。凌陽(yáng)系列單片機(jī)提高了系統(tǒng)的處理速度,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。因51單片機(jī)價(jià)格比凌陽(yáng)系列低得多,且本設(shè)計(jì)不需要很高的處理速度,從經(jīng)濟(jì)和方便使用角度考慮,本設(shè)計(jì)選擇了方案1。項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作2)按鍵控制模塊設(shè)計(jì)與論證方案一:采用矩陣鍵盤(pán),由于按鍵多可實(shí)現(xiàn)數(shù)值的直接鍵入,但在系統(tǒng)中需要CPU不間斷的對(duì)其端口掃描。方案二:采用獨(dú)立按鍵,查詢(xún)簡(jiǎn)單,程序處理簡(jiǎn)單,可節(jié)省CPU資源。因系統(tǒng)中所需按鍵不多,為了釋放更多的CPU占有時(shí)間,操作方便,故采用方案二。項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作3)時(shí)鐘模塊設(shè)計(jì)與論證方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。方案二:采用DS1302為計(jì)時(shí)時(shí)鐘芯片該芯片是串行電路,與單片機(jī)接口簡(jiǎn)單,但需另備電池和32.768kHz晶振,因焊接工藝和晶振質(zhì)量等原因會(huì)導(dǎo)致精度降低。方案三:采用DS12C887為計(jì)時(shí)時(shí)鐘芯片該芯片與單片機(jī)采用8位并口通信,傳遞信息速度快。自帶有鋰電池和晶振,外部掉電后,其內(nèi)部時(shí)間信息還能夠保持10年之久,因電路被封裝在一起,可以保證很高的精度和抗干擾能力。而且芯片功能豐富,可以通過(guò)內(nèi)部寄存器設(shè)置鬧鐘,并產(chǎn)生鬧鐘中斷。由于DS1302時(shí)鐘芯片計(jì)數(shù)時(shí)間精度高,而且具有閏年補(bǔ)償功能且價(jià)格經(jīng)濟(jì)實(shí)惠等優(yōu)點(diǎn),故采用方案二。項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作4)溫度采集模塊設(shè)計(jì)與論證方案一:采用溫度傳感器(如熱敏電阻或AD590),再經(jīng)AD轉(zhuǎn)換得到數(shù)字信號(hào),精度較準(zhǔn),但價(jià)格昂貴,電路較復(fù)雜。方案二:采用數(shù)字式溫度傳感器DS18B20,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式,但準(zhǔn)確度不高,誤差最大達(dá)2度。因?yàn)橛肈S18B20溫度芯片,采用單總線(xiàn)訪(fǎng)問(wèn),降低成本、降低制作難度且可節(jié)省單片機(jī)資源,故采用方案二。項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作5)顯示模塊模塊設(shè)計(jì)與論證方案一:采用靜態(tài)顯示方法,靜態(tài)顯示模塊的硬件制作較復(fù)雜及功耗大,要用到多個(gè)移位寄存器,但不占用端口,只需兩根串口線(xiàn)出。方案二:采用動(dòng)態(tài)顯示方法,動(dòng)態(tài)顯示模塊的硬件制作簡(jiǎn)單,段掃描和位掃描各占用一個(gè)端口,總需占用單片機(jī)14個(gè)端口,采用間斷掃描法功耗小、硬件成本低及整個(gè)硬件系統(tǒng)體積相對(duì)減小。方案三:采用LCD的方法,具有硬件制作簡(jiǎn)單可直接與單片機(jī)接口,顯示內(nèi)容多,功耗小,成本低等優(yōu)點(diǎn),LCD12864可顯示很多個(gè)字符,采用LCD的缺點(diǎn)是顯示不夠大。比較以上三種方案:方案一硬件復(fù)雜體積大、功耗大;方案二硬件簡(jiǎn)單、功耗?。环桨溉布?jiǎn)單,顯示內(nèi)容多,功耗小,成本低等。本系統(tǒng)設(shè)計(jì)要求達(dá)到功耗小、體積小、成本低,顯示信息多等要求,權(quán)衡三種方案,選擇方案三。項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作
關(guān)鍵技術(shù)基于單片機(jī)的12864顯示的數(shù)字電子萬(wàn)年歷在設(shè)計(jì)時(shí)需要解決以下4個(gè)方面的問(wèn)題:1)理解12864LCD的工作原理。2)理解DS1302時(shí)鐘芯片的原理。3)對(duì)照DS1302時(shí)鐘芯片、12864LCD的數(shù)據(jù)手冊(cè),理解對(duì)它們進(jìn)行讀和寫(xiě)的軟件編制方法。4)如何利用12864液晶實(shí)現(xiàn)上述項(xiàng)目任務(wù)中所描述的時(shí)間的顯示、溫度顯示、鬧鐘設(shè)置、定時(shí)提醒、時(shí)間設(shè)置等功能。項(xiàng)目5:12864顯示的數(shù)字電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與制作1、最小系統(tǒng)模塊的設(shè)計(jì)2、時(shí)鐘模塊電路的設(shè)計(jì)3、溫度模塊電路的設(shè)計(jì)4、12864液晶顯示模塊電路的設(shè)計(jì)系統(tǒng)硬件電路設(shè)計(jì)35、按鍵模塊電路的設(shè)計(jì)6、報(bào)警模塊電路的設(shè)計(jì)
7、電源模塊電路的設(shè)計(jì)140
1)DS1302性能簡(jiǎn)介DS1302是Dallas公司生產(chǎn)的一種實(shí)時(shí)時(shí)鐘芯片。它通過(guò)串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,能夠向單片機(jī)提供包括秒、分、時(shí)、日、月、年等在內(nèi)的實(shí)時(shí)時(shí)間信息,并可對(duì)月末日期、閏年天數(shù)自動(dòng)進(jìn)行調(diào)整;它還擁有用于主電源和備份
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《時(shí)空會(huì)客廳》節(jié)目方案
- 安質(zhì)部管理制度
- 公共廁所保潔制度
- 2024年道路客運(yùn)從業(yè)資格證模擬考試下載
- 2024年吉林客運(yùn)駕駛員考試虛擬場(chǎng)景考試題目
- 2024年哈爾濱客運(yùn)從業(yè)資格證題庫(kù)
- 吉首大學(xué)《風(fēng)景建筑速寫(xiě)》2021-2022學(xué)年第一學(xué)期期末試卷
- 《機(jī)械設(shè)計(jì)基礎(chǔ)》期末考試試卷六
- 廣東省公務(wù)員考試2021-2020申論真題(附答案)
- 吉林藝術(shù)學(xué)院《數(shù)字空間設(shè)計(jì)表現(xiàn)》2021-2022學(xué)年第一學(xué)期期末試卷
- 超星爾雅學(xué)習(xí)通走近核科學(xué)技術(shù)章節(jié)測(cè)試答案
- 初中藝術(shù)鄂教七年級(jí)上冊(cè)(2022年新編) 漫步藝術(shù)長(zhǎng)廊舞劇欣賞《永不消逝的電波》教學(xué)設(shè)計(jì)
- 水電廠(chǎng)檢修標(biāo)準(zhǔn)化作業(yè)流程圖
- 中考數(shù)學(xué)復(fù)習(xí)專(zhuān)題課件:瓜豆原理之直線(xiàn)型
- GB 18384-2020 電動(dòng)汽車(chē)安全要求
- 腹股溝斜疝護(hù)理查房ppt
- 精品堆垛機(jī)安裝指導(dǎo)書(shū)
- PMC生產(chǎn)計(jì)劃與物料控制實(shí)務(wù)課件
- 雞的飼養(yǎng)管理-優(yōu)質(zhì)課件
- 人工濕地設(shè)計(jì)規(guī)范標(biāo)準(zhǔn)[詳]
- 提灌站項(xiàng)目施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論