- 緒論
1.1課題背景及其意義
紅外測(cè)溫儀采用非接觸式手段,突破了傳統(tǒng)測(cè)溫模式,具有不擾動(dòng)被測(cè)物體溫度分布場(chǎng),溫度分辨率高、響應(yīng)速度快、測(cè)溫范圍廣,穩(wěn)定性好、可同時(shí)測(cè)量環(huán)境溫度和目標(biāo)溫度的特點(diǎn)。
本設(shè)計(jì)擬采用51單片機(jī)為控制核心,負(fù)責(zé)控制啟動(dòng)溫度測(cè)量,接收測(cè)量數(shù)據(jù)?,計(jì)算溫度值,并根據(jù)取得鍵值控制播放顯示過程,主要由光學(xué)系統(tǒng)、光電探測(cè)器、信號(hào)放大器及51單片機(jī)信號(hào)處理、顯示輸出等部分組成實(shí)現(xiàn)。該課題能夠考察我對(duì)單片機(jī)及其外圍電路與軟件編程、計(jì)算機(jī)輔助設(shè)計(jì)軟件等知識(shí)的學(xué)習(xí)和掌握水平,使我在硬件設(shè)計(jì)及實(shí)現(xiàn)、輔助設(shè)計(jì)軟件等方面的應(yīng)用能力得到全面的訓(xùn)練和提高。
1.2單片機(jī)應(yīng)用的發(fā)展及現(xiàn)狀
在20世界50年代中期,全世界第一臺(tái)用數(shù)字運(yùn)算方式的計(jì)算機(jī),自從美國著名大學(xué)實(shí)驗(yàn)室研究出來,從此以后電子計(jì)算機(jī)經(jīng)過飛速的成長,主要有以下四個(gè)時(shí)期:第一代是電子管控制時(shí)期,第二代是晶體管控制時(shí)期,第三代是采用集成電路控制時(shí)期,第四代是采用超大規(guī)模集成電路控制時(shí)期。
目前使用的計(jì)算機(jī)都是采用第四代超大規(guī)模集成電路控制方式的,由于是有很好的性能,主要表現(xiàn)在性價(jià)比高,體積小,性能穩(wěn)定等特點(diǎn);例外計(jì)算機(jī)發(fā)展趨向功能強(qiáng)大化,體積越小化,系統(tǒng)穩(wěn)定化和功能人性化。
體積越小化是目前計(jì)算機(jī)主要的研究方向,其中主要研究的是把控制器的組成部分融合在一塊集成板上,因此就誕生了廣泛大規(guī)模的集成控制器的微小電子計(jì)算機(jī)——簡稱單板小型數(shù)字控制器,英文縮寫為MCU,因?yàn)镸CU的主要運(yùn)用場(chǎng)所是高性能智能化電子產(chǎn)品上,主要是大多數(shù)產(chǎn)品都是要內(nèi)含嵌入的設(shè)備的系統(tǒng)。
現(xiàn)在全世界有能力制造出數(shù)字控制器MCU的公司商主要是很多大型的國際公司,國內(nèi)也有一些上市公司進(jìn)行生產(chǎn)和研究數(shù)字控制器MCU,每個(gè)公司生產(chǎn)出來的單片機(jī)都有各自的特色,主要運(yùn)用場(chǎng)合也不盡相同?。
1.3本文的主要研究內(nèi)容及論文結(jié)構(gòu)安排
- .主要介紹本設(shè)計(jì)的課題背景及國內(nèi)外研究狀況;
- .主要說明系統(tǒng)方案的選擇;
第3章.主要介紹硬件電路的組成及使用方法;
第4章.主要介紹軟件設(shè)計(jì);
第5章.主要介紹硬件調(diào)試。
第二章 方案的設(shè)計(jì)與論證
2.1控制方案的確定
本設(shè)計(jì)由STC89C52單片機(jī)電路+1602液晶顯示電路+MLX90614ESF紅外非接觸溫度檢測(cè)電路+按鍵電路+蜂鳴器報(bào)警電路。
2.2控制方式的選擇
2.2.1 單片機(jī)芯片的選擇
方案一
采用可編程邏輯器件CPLD作為控制器,CPLD可以實(shí)現(xiàn)各種復(fù)雜的功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、I/O資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模控制系統(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是非常高。且從使用及經(jīng)濟(jì)的角度考慮,最終放棄了此方案。
方案二
采用ST公司的STC89C52單片機(jī)作為主控制器,STC89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程 Flash 存儲(chǔ)器。該單片機(jī)功耗低、接口豐富,成本低廉,完全能滿足本設(shè)計(jì)要求。
方案三
采用單片機(jī)芯片控制MSP430單片機(jī)是美國德州儀器(TI)推出的一種16位超低功 耗的混合信號(hào)處理器(Mixed Signal Processor),主要是針對(duì)實(shí)際應(yīng)用需求,把許多模擬電路、數(shù)字電路和微處理器集成在一個(gè)芯片上,以提供“單片”混合信號(hào)處理的解決方案。MSP430F149是一個(gè)16位的、具有精簡指令集的、超低功耗的混合型單片機(jī),具有可靠性高、功耗低、擴(kuò)展靈活、體積小、價(jià)格低和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表、專用設(shè)備智能化管理及過程控制等領(lǐng)域,有效地提高了控制質(zhì)量與經(jīng)濟(jì)效益,已成為眾多單片機(jī)系列中一顆耀眼的新星。然而其成本太高,故舍棄。
故選擇方案二。
2.2.2聲音報(bào)警電路方案的選擇
方案一
采用語音集成芯片ISD4004報(bào)警,由于ISD4004需要擴(kuò)充喇叭驅(qū)動(dòng)電路且其本身控制比較繁瑣、電路比較復(fù)雜,穩(wěn)定性差?;谝陨峡紤],所以放棄了此方案。
方案二
通過蜂鳴器實(shí)現(xiàn)報(bào)警電路,具有電路簡單,性能可靠、穩(wěn)定等優(yōu)點(diǎn),最重要的是低成本,故選擇方案二。
方案三
采用音樂片作為本系統(tǒng)門鈴的音樂模塊,音樂芯片是一種比較簡單的語音電路,它通過內(nèi)部的振蕩電路,再外接小量分立元件,就能產(chǎn)生各種音樂信號(hào),音樂芯片是語音集成電路的一個(gè)重要分支,目前廣泛用于音樂卡、電子玩具、電子鐘、電子門鈴、家用電器等場(chǎng)合。其具有電路簡單,成本低廉等優(yōu)點(diǎn)。
故選擇方案二。
2.2.3顯示方案的選擇
方案一
采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字十分合適,采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),雖然占用的單片機(jī)口線少,電路簡單,性價(jià)比較高。
然而本設(shè)計(jì)顯示數(shù)據(jù)較多,數(shù)碼管明顯不符合要求,故舍棄。
方案二
采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,若采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以在此也不用此種作為顯示。
方案三
LCD液晶顯示,由單片機(jī)驅(qū)動(dòng),它主要用來顯示大量數(shù)據(jù)、文字、圖形,能夠顯示的位數(shù)多,顯示得清晰多樣、美觀,同時(shí)液晶顯示器的編寫程序簡單,價(jià)格便宜,故采用此種方案。
采用1602液晶顯示屏,該液晶顯示屏的顯示功能強(qiáng)大,內(nèi)置192種字符,可顯示大量符號(hào)、數(shù)字,清晰可見,而且功率消耗小壽命長抗干擾能力強(qiáng)。
故選擇方案一。
2.2.4溫度采集模塊的選擇
方案一
采用PT100鉑電阻溫度傳感器,此傳感器屬于電阻式傳感器,它的電阻隨著溫度的變化而變化。這種溫度傳感器有零度電阻值和電阻變化率,它性能比較穩(wěn)定,測(cè)量范圍達(dá)到-200℃~850℃,但是使用它要復(fù)雜的轉(zhuǎn)換關(guān)系,要清楚的知道電阻和溫度之間的關(guān)系。其采集電路主要采用的是電阻分壓網(wǎng)絡(luò),在電阻分壓網(wǎng)絡(luò)的設(shè)計(jì)上,由于定值電阻隨著測(cè)量環(huán)境溫度變化時(shí),其阻值會(huì)有所變化,這就會(huì)給系統(tǒng)帶來誤差,使系統(tǒng)采集的溫度值產(chǎn)生偏差,并且其電壓值要進(jìn)行AD轉(zhuǎn)換,增加了系統(tǒng)的復(fù)雜程度。PT100自身體積較大,溫度變化時(shí),反應(yīng)速度會(huì)優(yōu)先減慢,如果環(huán)境變化溫度較快時(shí),將會(huì)有部分的中間溫度會(huì)被直接過濾掉,使實(shí)時(shí)溫度信息不準(zhǔn),實(shí)時(shí)性較差。
方案二
采用AD590,AD590是現(xiàn)在溫度測(cè)量較為常見的溫度傳感器,測(cè)量精度高、溫度范圍寬,但是成本很高,一般的廉價(jià)應(yīng)用上不會(huì)使用。AD590是電流型溫度傳感器,在檢測(cè)溫度變化時(shí),其兩端的輸出電流會(huì)有相應(yīng)的改變。應(yīng)用方法,一般是采用在輸出端接一個(gè)定值電阻(當(dāng)然這也要溫漂較低的電阻),在測(cè)量電阻兩端的電壓(電壓值=AD590輸出電流×定值電阻阻值),這與PT100的測(cè)量方式相同,使用AD轉(zhuǎn)換器,將模擬電壓值轉(zhuǎn)換為數(shù)字量。當(dāng)然AD590的體積也稍大,也會(huì)有高速溫度變化時(shí)產(chǎn)生出濾波效果,實(shí)時(shí)性降低。
方案三
采用DS18B20, DS18B20是數(shù)字式的溫度傳感器,測(cè)量的溫度范圍較廣,精度高,成本低,穩(wěn)定性較好。DS18B20采用單總線通信,減少了I/O的占用數(shù)量,減少了外圍電路,通信簡單。DS18B20的集成度高,體積較小。因?yàn)槠潴w積小,可以測(cè)量到的溫度值變化快,實(shí)時(shí)性就好。
方案三
選擇MLX90614ESF非接觸式紅外測(cè)溫模塊對(duì)溫度進(jìn)行測(cè)量,真正實(shí)現(xiàn)了非接觸式測(cè)溫。本傳感器體積小,成本低,易集成??梢詿o線測(cè)溫。(醫(yī)用)高精度校準(zhǔn),在所需的溫度范圍精度為0.1°C,分辨率為0.01°C。有單個(gè) 和雙重區(qū)域版本。SMBus兼容數(shù)字接口用于快速讀取溫度并可建立傳感器網(wǎng)絡(luò)。
故選擇方案四。
- 硬件電路的設(shè)計(jì)
3.1系統(tǒng)的功能分析及體系結(jié)構(gòu)設(shè)計(jì)
3.1.1系統(tǒng)功能分析
本設(shè)計(jì)由STC89C52單片機(jī)電路+1602液晶顯示電路+MLX90614ESF紅外非接觸溫度檢測(cè)電路+按鍵電路+蜂鳴器報(bào)警電路。
1、液晶實(shí)時(shí)顯示MLX90614ESF檢測(cè)的環(huán)境溫度值和被測(cè)物體溫度值,顯示中E環(huán)境溫度,O物體溫度。
2、可以通過按鍵設(shè)置溫度的閾值,如果MLX90614檢測(cè)到的溫度高于設(shè)置的閾值,則蜂鳴器報(bào)警,否則,蜂鳴器不報(bào)警。
3.1.2系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)具體框圖如下圖所示:
系統(tǒng)原理框圖
3.2模塊電路的設(shè)計(jì)
3.2.1 STC89C52單片機(jī)核心系統(tǒng)電路設(shè)計(jì)
STC89C52RC是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K字節(jié)系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但是做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。
一、STC89C52主要特性如下:
(1)8K字節(jié)程序存儲(chǔ)空間;
(2)512字節(jié)數(shù)據(jù)存儲(chǔ)空間;
(3)內(nèi)帶4K字節(jié)EEPROM存儲(chǔ)空間;
(4)可直接使用串口下載。
二、STC89C52主要參數(shù)如下:
(1)增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12 時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051;
(2)工作電壓:5.5V~3.3V(5V單片機(jī))/3.8V~2.0V(3V 單片機(jī));
(3)工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作 頻率可達(dá)48MHz;
(4)用戶應(yīng)用程序空間為8K字節(jié);
(5)片上集成512 字節(jié)RAM;
(6)通用I/O 口(32個(gè)),復(fù)位后為:P1/P2/P3 是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O口用時(shí),需加上拉電阻;
(7)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;
(8)具有EEPROM功能;
(9)共3個(gè)16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2;
(10)外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒;
(11)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART;
(12)工作溫度范圍:-40~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí));
三、STC89C52單片機(jī)相關(guān)引腳說明:
(1)VCC:供電電壓。
(2)GND:接地。
(3)P3.0 RXD(串行輸入口)
(4)P3.1 TXD(串行輸出口)
(5)P3.2 /INT0(外部中斷0)
(6)P3.3 /INT1(外部中斷1)
(7)P3.4 T0(記時(shí)器0外部輸入)
(8)P3.5 T1(記時(shí)器1外部輸入)
(9)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)
(10)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
(11)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。
(12)ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。
(13)/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。
(14)/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。
(15)XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
(16)XTAL2:來自反向振蕩器的輸出。
單片機(jī)引腳圖如下圖所示:
STC89C52單片機(jī)引腳圖
四、STC89C52單片機(jī)最小系統(tǒng)說明:
STC89C52單片機(jī)最小系統(tǒng)電路由復(fù)位電路、時(shí)鐘電路和電源電路。擁有這三部分電路后,單片機(jī)即可正常工作。單片機(jī)最小系統(tǒng)原理圖如下圖所示。
單片機(jī)最小系統(tǒng)原理圖
- VCC和GND為單片機(jī)的電源引腳,為單片機(jī)提供電源:
- 復(fù)位電路由按鍵S1、電解電容EC1和電阻R1組成。具有手動(dòng)按鍵復(fù)位和上電自動(dòng)復(fù)位功能。系統(tǒng)上電復(fù)位按鍵接口采集到兩個(gè)高端信號(hào)后進(jìn)行手動(dòng)復(fù)位,就是非自動(dòng)的按鍵復(fù)位;系統(tǒng)檢測(cè)到的電壓由低電平上升到高電平的一段時(shí)間后,在這段時(shí)間過后,系統(tǒng)通過電阻與接地之間形成一條通路,然后自動(dòng)把高電平進(jìn)行拉低,使得單片機(jī)從高電位變?yōu)榈碗娢?,從而就是給單片機(jī)自動(dòng)進(jìn)行復(fù)位即上電復(fù)位。
- 時(shí)鐘電路由晶振Y1、瓷片電容C1和C2組成。有控制芯片的數(shù)字電路正常工作是少不了TIME(時(shí)鐘)電路的,我們需要時(shí)鐘電路自動(dòng)發(fā)出系統(tǒng)時(shí)間,讓控制芯片正常工作。給控制芯片正常工作的時(shí)鐘信號(hào),一般把這種工作方式稱為“拍”,以至于讓整個(gè)控制系統(tǒng)能正常工作,由于要保證控制系統(tǒng)能正常工作,提高他的工作能力,我們經(jīng)常用11.0592MHZ晶振和30PF的電容進(jìn)行組合,電容為了幫助晶振起振的,滿足了數(shù)字控制器上電以后可以正常工作。
- JD1為單片機(jī)的下載接口。
3.2.2 5V電源電路設(shè)計(jì)
本系統(tǒng)選擇5V直流電源作為系統(tǒng)總電源,為整個(gè)系統(tǒng)供電,電路簡單、穩(wěn)定。DC為電源的DC插座,可以直接接USB電源線,一端插在DC插座上,另外一端可以插在5V電源上,如電腦USB、充電寶、手機(jī)充電器等等。LED為紅色LED燈,作為系統(tǒng)是否有點(diǎn)的指示燈,電阻為1K電阻,起到限流作用,保護(hù)LED燈,以防電流過大燒壞LED燈。SW為自鎖開關(guān),開關(guān)按下后,紅燈亮,此時(shí)系統(tǒng)電源5V直流輸出。開關(guān)再次按下后,紅燈滅,此時(shí)系統(tǒng)電源無5V電源輸出。
3.2.3 LCD1602液晶顯示模塊電路設(shè)計(jì)
LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對(duì)應(yīng)的信號(hào)到相應(yīng)的管腳就能顯示。字符顯示是根據(jù)需要顯示基本字符。本設(shè)計(jì)采用的是字符型顯示。系統(tǒng)中采用LCD1602作為顯示器件輸出信息。與傳統(tǒng)的LED數(shù)碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等優(yōu)點(diǎn),而且不需要外加驅(qū)動(dòng)電路,現(xiàn)在液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的顯示器件了。LCD1602可以顯示2行16個(gè)漢字。
一、LCD1602主要技術(shù)參數(shù)如下:
(1)顯示容量為16×2個(gè)字符;
(2)芯片工作電壓為4.5~5.5V;
(3)工作電流為2.0mA(5.0V);
(4)模塊最佳工作電壓為5.0V;
(5)字符尺寸為2.95×4.35(W×H)mm。
二、LCD1602采用標(biāo)準(zhǔn)的14腳,其接口的引腳說明如下:
(1)第1腳:VSS為地電源。
(2)第2腳:VDD接5V正電源。
(3)第3腳:V0為液晶顯示器對(duì)比度調(diào)整端。
(4)第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。
(5)第5腳:RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。
(6)第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。
(7)第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
(8)第15~16腳:空腳
三、控制指令說明
LCD1602液晶模塊內(nèi)部的控制器共有11條控制指令,說明下表所示:
序號(hào) | 指令 | RS | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | 清顯示 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2 | 光標(biāo)返回 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | * |
3 | 置輸入模式 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S |
4 | 顯示開/關(guān)控制 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B |
5 | 光標(biāo)或字符移位 | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | * | * |
6 | 置功能 | 0 | 0 | 0 | 0 | 1 | DL | N | F | * | * |
7 | 置字符發(fā)生存貯器地址 | 0 | 0 | 0 | 1 | 字符發(fā)生存貯器地址 | |||||
8 | 置數(shù)據(jù)存貯器地址 | 0 | 0 | 1 | 顯示數(shù)據(jù)存貯器地址 | ||||||
9 | 讀忙標(biāo)志或地址 | 0 | 1 | BF | 計(jì)數(shù)器地址 | ||||||
10 | 寫數(shù)到CGRA或DDRAM) | 1 | 0 | 要寫的數(shù)據(jù)內(nèi)容 | |||||||
11 | 從CGRAM或DDRAM讀數(shù) | 1 | 1 | 讀出的數(shù)據(jù)內(nèi)容 |
表3.1 控制命令表
四、1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)
(1)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置
(2)指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H
(3)指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。
(4)指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍
(5)指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)
(6)指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符
(7)指令7:字符發(fā)生器RAM地址設(shè)置
(8)指令8:DDRAM地址設(shè)置
(9)指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。
(10)指令10:寫數(shù)據(jù)
(11)指令11:讀數(shù)據(jù)
3.2.4 蜂鳴器報(bào)警電路(低電平有效)設(shè)計(jì)
有源蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。本系統(tǒng)所采用的報(bào)警模塊為5V有源蜂鳴器模塊,電路中采用三極管9012來驅(qū)動(dòng),只要單片機(jī)控制引腳為低電平,蜂鳴器就會(huì)鳴叫報(bào)警,反之則不鳴叫,可以通過控制單片機(jī)引腳方波輸出形式控制蜂鳴器的鳴叫方式。電阻為限流電阻,保護(hù)作用。
編程語言選擇
由于整個(gè)程序比較復(fù)雜,且計(jì)算量較大,用到了較多的浮點(diǎn)數(shù)計(jì)算,所以程序的編寫采用了C語言。
對(duì)于大多數(shù)51系列的單片機(jī),使用C語言這樣的高級(jí)語言與使用匯編語言相比具有如下優(yōu)點(diǎn):
- 不需要了解處理器的指令集,也不必了解存儲(chǔ)器結(jié)構(gòu)。
- 寄存器分配和尋址方式由編譯器進(jìn)行管理,編程時(shí)不需要考慮存儲(chǔ)器的地址和數(shù)據(jù)類型等細(xì)節(jié)。
- 指定操作的變量選擇組合提高了程序的可讀性。
- 可使用與人的思維更相近的關(guān)鍵字和操作函數(shù)。
- 與使用匯編語言相比,程序的開發(fā)和調(diào)試時(shí)間大大縮短。
- C語言的庫文件提供了許多標(biāo)準(zhǔn)的例程。
- 通過C語言可實(shí)現(xiàn)模塊化編程技術(shù),從而可將已編制好的程序加到 新程序中。
- C語言可移植性好且非常普及,C語言編譯器幾乎適用于所有的目標(biāo)系統(tǒng),己完成的項(xiàng)目可以