【正文】
帶殼尺寸為 61x27x17mm。環(huán)保特性好,無輻射、無閃爍,對(duì)使用者的健康無損害。的視角,可以顯示各種文字、數(shù)字、彩色圖像及動(dòng)畫信息,也可以播放電視、錄像、 VCD、 DVD 等彩色視頻信號(hào),多幅顯示屏還可以進(jìn)行聯(lián)網(wǎng)播出。 系統(tǒng)軟件部分的設(shè)計(jì)主要包括主程序和中斷服務(wù)程序。利用 API 函數(shù)編寫串行通信程序較為復(fù)雜,需要掌握大量的通信知識(shí),其優(yōu)點(diǎn)是可實(shí)現(xiàn)的功能更豐富、應(yīng)用面更廣泛,適合于編寫較為復(fù)雜的低層次通信程序。 VC憑借在許多方面的創(chuàng)新,在保持 C 語言風(fēng)格的表現(xiàn)力和雅致特征的同時(shí),實(shí)現(xiàn)了應(yīng)用程序的快速開發(fā)。匯編語言是面向具體機(jī)型的,它離不開具體計(jì)算機(jī)的指令系統(tǒng),因此,對(duì)于不同型號(hào)的計(jì)算機(jī),西南科技大學(xué)本科生畢業(yè)論文 10 有著不同的結(jié)構(gòu)的匯編語言,而且,對(duì)于同一問題所編制的匯編語言程序在不同種類的計(jì)算機(jī)間是互不相通的。它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。這種結(jié)構(gòu)化方式可使程序?qū)哟吻?晰,便于使用、維護(hù)以及調(diào)試。 電子濕度計(jì)系統(tǒng)的組成結(jié)構(gòu) 系統(tǒng)用時(shí)下流行且功能強(qiáng)大的 AVR 單片機(jī)來控制數(shù)據(jù)采集與顯示模塊,利用單片機(jī)采集環(huán)境濕度值,進(jìn)行存儲(chǔ)和顯示,經(jīng)過簡(jiǎn)單的運(yùn)算發(fā)出各種控制命令,并能動(dòng)態(tài)的顯示當(dāng)前濕度值 ,設(shè)定目標(biāo)控制濕度值,當(dāng)空氣濕度高于 65%或低于 38%時(shí),報(bào)警電路(包括報(bào)警器、閃爍燈)開始工作。 AVR 單片機(jī)具有良好的集成性能,采用低功率、非揮發(fā)的 CMOS 工藝制造,除具有低功耗、高密度的特點(diǎn)外,還支持低電壓的聯(lián)機(jī) Flash, EEPROM 寫入功能。端口 A 為 8位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。 端口 C(PC7~ PC0) 端口 C 為 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。在復(fù)位過程中,即使系統(tǒng)時(shí)鐘還未起振,端口 D 處于高阻狀態(tài)。使用 ADC 時(shí)應(yīng)通過一個(gè)低通濾波器 與 VCC 連接。上電復(fù)位( POR)脈沖由片內(nèi)檢測(cè)電路產(chǎn)生, POR電路保證器件在上電時(shí)復(fù)位。延時(shí)結(jié)束后 MCU即啟動(dòng)。 ( 5) JTAG AVR復(fù)位 復(fù)位寄存器為 1時(shí) MCU復(fù)位。 AVR 單片機(jī)設(shè)計(jì)了 4 種類型的時(shí)基振蕩方式可供選擇:標(biāo)準(zhǔn)的晶體振蕩器 /陶瓷諧振器振蕩方式 XT;高頻的晶體振蕩器 /陶瓷諧振器振蕩方式 HS( 4MHz)以上;低頻的晶體振蕩器 /陶瓷諧振器振蕩方式 LP( );外接電容元件的阻容振蕩方式 RC。具體見表 31。這個(gè)電路相對(duì)簡(jiǎn)單,由單片機(jī)的一個(gè) I/O 口直接控制。加之單片機(jī)的計(jì)算能力有限,難以進(jìn)行復(fù)雜的數(shù)據(jù)處理。因此采用一種以MAX232為核心的通信接口電路。轉(zhuǎn)換后的串行信號(hào) TXD、 RXD直接與 PC機(jī)的串行口連接。 總體軟件設(shè)計(jì) 系統(tǒng)軟件設(shè)計(jì)總體流程框圖如 下圖 圖 41 所示。 串行通信模塊程序設(shè)計(jì) 通信部分主要是用于向上位機(jī)發(fā)送數(shù)據(jù)或者是接收上位機(jī)的數(shù)據(jù),只有在由計(jì)算機(jī)和單片機(jī)控制系統(tǒng)組成二級(jí)監(jiān)控體系時(shí)才會(huì)使用。 本設(shè)計(jì)采用第三中方式,所以 在此只介紹 windows 環(huán)境下利用串口類編程的方式 [18]。 允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進(jìn)行交互。但通常是先排除明顯的硬件故障后,再和軟件結(jié)合起 來調(diào)試以進(jìn)一步排除故障。 ( 2)排除元器件失效 : 造成這類錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買來時(shí)就已經(jīng)壞了;另一個(gè)是因?yàn)榘惭b錯(cuò)誤,造成器件燒壞。這樣的測(cè)試雖然增加了一些工作量,但是可以減少購(gòu)買集成塊的數(shù)量,同時(shí)保證集成塊可以正常的運(yùn)行。加電后檢查各插件上引腳的電位,一般先檢查 VCC 與 GND 之間的電位,若在 5V- 之間屬正常 [20]。主要包括錯(cuò)線、開路、短路。 西南科技大學(xué)本科生畢業(yè)論文 30 提供與 數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類庫。 用法: public SerialPort { string portName, int baudRate } 在 .NET 編程環(huán)境中優(yōu)先使用的數(shù)據(jù)訪問接口。 本設(shè)計(jì)中, 上位機(jī)程序即 PC 端程序采用 VC制作,人機(jī)界面友好,界面簡(jiǎn)潔 ,功能完善 , 系統(tǒng)功能模塊圖見 下圖 圖 47: 在單片機(jī)系統(tǒng)中,比較常用的方法是直接調(diào)用串口發(fā)送單個(gè)字節(jié)數(shù)據(jù)的函數(shù)。 開機(jī)自檢模塊程序設(shè)計(jì) 開機(jī)自檢社設(shè)計(jì)在電源接通或者是系統(tǒng)復(fù)位之后,自檢中若沒有發(fā)現(xiàn)問題,就進(jìn)入測(cè)控程序,如果發(fā)現(xiàn)問題則及時(shí)報(bào)警,以避免測(cè)控系統(tǒng)帶病工作 [13]。 單片機(jī)與 RS232總線通訊接口電路,如 下圖 圖 313所示。但 RS232信號(hào)的電平和單片機(jī)串口信號(hào)的電平不一致,必須進(jìn)行二者之間的電平轉(zhuǎn)換。在這些應(yīng)用中 ,單片機(jī)只是直接面向被控對(duì)象底層。報(bào)警狀態(tài),指示燈為紅燈;正常工作狀態(tài),指示燈為綠燈。 LED數(shù)碼管的顯示電路設(shè)計(jì)電路圖如 下圖圖 311所示: 單片 機(jī) I/O口輸出引腳 4~ 7是 PA4~ PA7, 為 復(fù)用端口 , 在很大程度上節(jié)約了 I/ O資源,簡(jiǎn)化了硬件的設(shè)計(jì),使系統(tǒng)具有較高的集成度。 RESET 圖 35 單片機(jī)復(fù)位電路圖 S0 RESET R0 10K C0 D3 1N4148 西南科技大學(xué)本科生畢業(yè)論文 18 圖 36 晶振電路設(shè)計(jì) 圖 37 外部時(shí)鐘驅(qū)動(dòng)設(shè)置 串口通信電路設(shè)計(jì) 使用串口的時(shí)候,需要連接跳線 JP2,當(dāng) 1 和 2 連接, 3 和 4 連接的時(shí)候處于 PC與單 片機(jī)通訊狀態(tài),當(dāng) 1 和 3 連接, 2 和 4 不連接的時(shí)候,串口調(diào)試助手發(fā)什么數(shù)據(jù),就能返回什么數(shù)據(jù)。 西南科技大學(xué)本科生畢業(yè)論文 17 本設(shè)計(jì)選用了最直接的復(fù)位形式,由于 AVR單片機(jī)本身內(nèi)部帶有復(fù)位電路的優(yōu)勢(shì),只需要接一個(gè) 10K上拉電阻就可以完成復(fù)位電路的設(shè)計(jì)。 ( 4) 掉電檢測(cè)復(fù)位 掉電檢測(cè)復(fù)位功能使能,且電源電壓低于掉電檢測(cè)復(fù)位門限 VBOT時(shí) MCU即復(fù)位。 ( 2) 外部復(fù)位 引腳 RESET上的低電平持續(xù)時(shí)間大于 最小脈沖寬度時(shí) MCU復(fù)位。 AGND31X113X212R E S E T9P D 2 ( I N T 0 )16P D 3 ( I N T 1 )17P D 4 ( O C 1 B )18P D 5 ( O C 1 A )19P B 0 ( T 0 )1P B 1 ( T 1 )2P B 2 ( A I N 0 )3P B 3 ( A I N 1 )4P B 4 ( S S )5P B 5 ( M O S I )6P B 6 ( M I S O )7P B 7 ( S C K )8( A D C 0 ) P A 040( A D C 1 ) P A 139( A D C 2 ) P A 238( A D C 3 ) P A 337( A D C 4 ) P A 436( A D C 5 ) P A 535( A D C 6 ) P A 634( A D C 7 ) P A 733P C 022P C 123P C 224P C 325P C 426P C 527( T O S C 1 ) P C 628( T O S C 2 ) P C 729P D 7 ( T O S C 2 )21P D 6 ( I C P )20A V C C30A R E F32P D 1 ( T X D )15P D 0 ( R X D )14GND11VCC10U0A T M E G A 1 6 _ D I P 4 0R61 0 KV C CC62 2 p FC72 2 p FY27 . 3 7 2 8 M h zP A 0P A 1P A 2P A 3P A 4P A 5P A 6P A 7P C 0P C 1P C 2P C 3P C 4P C 5P C 6P C 7A R E FGNDA V C CX2X1R E S E TP D 7P D 6P D 5P B 0P B 1P B 2P B 3P B 4P B 5P B 6P B 7P D 0P D 1P D 2P D 3P D 4V C C 圖 33 單片機(jī)最小系統(tǒng) 電源設(shè)計(jì) 圖 34 ATmega16單片機(jī)電源 西南科技大學(xué)本科生畢業(yè)論文 16 單片機(jī)是一個(gè)電子器件,一個(gè)電子器件能夠工作的第一個(gè)前提就是要有電源電源是一切電子器件工作的前提,對(duì) 于單片機(jī)系統(tǒng)也不例外。 XTAL1 反向振蕩放大器與片內(nèi)時(shí)鐘操作電路的輸入端。如果 JTAG 接口使能,即使復(fù)位出現(xiàn)引腳 PC5(TDI)、 PC3(TMS)與 PC2(TCK)的上拉電阻被激活。 端口 B(PB7~ PB0) 端口 B 為 8 位雙向 I/O 口,具有可編程的內(nèi)部上拉電阻。 ATmega16 的主要性能參數(shù)及特性如下: ● 16K 字節(jié) 可重擦寫 Flash 閃存存儲(chǔ)器 ,擦寫壽命 為 10000 次 ; ● 在 16MHZ 頻率下速度為 16MIPS 的 8 位 RISC結(jié)構(gòu)單片機(jī),內(nèi)含硬件乘法器; ● 32 個(gè)可編程的 I/O 口, 40 引腳 PDIP 封裝, 32 個(gè)通用寄存器; ● 全靜態(tài)工作 ; ● 8 通道 10 位 AD 轉(zhuǎn)換器,支持單端和雙端差分信號(hào)輸入,內(nèi)帶增益可編程運(yùn)算放大器; ● 2 個(gè) 8 位定時(shí) /計(jì)數(shù)器, 1 個(gè) 16 位定時(shí) /計(jì)數(shù)器,帶捕捉、比較功能 ; ● 通過 JTAG 接口實(shí)現(xiàn)對(duì) Flash、 EEPROM、熔絲位和鎖定位的編程 ; ● 兩個(gè)可編程的串行 USART, 可工作于主機(jī) / 從機(jī)模式的 SPI 串行接口 。 主控制器最小系統(tǒng) ATmega16 簡(jiǎn)介 [7] ATmega16 單片機(jī)是 1997 年由 ATMEL 公司研發(fā)出的增強(qiáng)型內(nèi)置 Flash 的 RISC精簡(jiǎn)指令集高速 8 位單片機(jī)。 ( 7) C 語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高 一般只比匯編程序生成的 目標(biāo)代碼效率低 10 へ 20%。從而使 C 的運(yùn)算類型極其豐富表達(dá)式類型多樣化。因而不是很適合初學(xué) 者的應(yīng)用。 微控器軟件設(shè)計(jì)方案 常用的單片機(jī)編程語言是匯編和 C 語言。但由于 C++要兼容 C 的內(nèi)容,而 C 是面向過程的,所以 C++不可避免地出現(xiàn)過程影子,并不算是完全的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。加之單片機(jī)的計(jì)算能力有限,難以進(jìn)行復(fù)雜的數(shù)據(jù)處理。 LED 顯示器與 LCD 顯示器相比, LED在亮度、功耗、可視角度和刷新速率等方面,都更具優(yōu)勢(shì)。 LED 顯示屏是由發(fā)光二極 管排列組成的一顯示器件。 顯示方案的確定 LCD 和 LED 是目前普遍采用 的兩種顯示技術(shù)。這款濕度傳感器的參數(shù)比較能適合本次設(shè)計(jì),但是 HS1101 系列傳感器一般價(jià)格較高,通常用于工業(yè)生產(chǎn)過程。所以,本設(shè)計(jì)選用 ATmega16 單片機(jī)作為主控芯片。但沒有地址總線,不適宜做大系統(tǒng),而且只能使用匯編指令,雖然筒單,但不適合寫大程序。 西南科技大學(xué)本科生畢業(yè)論文 4 第 2 章 系統(tǒng)概述 本章分為三個(gè)部分,主要介紹本次設(shè)計(jì)的系統(tǒng)的主要設(shè)計(jì)原理,給出硬件選擇以及軟件設(shè)計(jì)的最終方案。并且用 PC 機(jī)作為上位機(jī)為系統(tǒng)提供一個(gè)可視的操作界面,實(shí)現(xiàn)串口通信,數(shù)據(jù) 庫 保存、查詢 以及備份等功能。導(dǎo)彈的導(dǎo)航裝置,飛