【正文】
AVR Studio為功能強(qiáng)大的 AVR 8位 RISC 指令集單片機(jī)提供了工程管理工具,源文件編輯器,芯片模擬器和在在線仿真調(diào)試( Incircuit emulator)接口,利用這些功能我 們可以進(jìn)行在線編輯源代碼,并在 AVR 器件上運(yùn)行,方便 AVR 單片機(jī)開發(fā)者進(jìn)行開發(fā)。 輸入文件: 1) .c 擴(kuò)展名 表示是 C 語言源文件。 EECR |= (1EERE)。 EEARL = EEPROM_ADDR。兩者數(shù)據(jù)并會(huì)相互影響。 //寫一個(gè)指針加 1 write_(0x01)。 PORTA=dat。 PORTB|=BIT(7)。在第二個(gè)判斷框中是當(dāng)前溫度大于上限溫度減兩度。 i = 8。 unsigned char buf[9]。 /*延時(shí) 80uS*/ DQ_SET。 DQ_CLR。 0x80) SEI()。 NOP()。 /*中斷保護(hù) */ CLI()。 delay_10us(49)。 /*中斷保護(hù) */ CLI()。 EEPROM 的壽命至少為 100,000 次(擦除次數(shù))。并另外接入光耦保護(hù)單片機(jī)的電路。我們使用的開關(guān)如下圖: 本系統(tǒng)采用非編碼按鍵組成的獨(dú)立按鍵,其中有四個(gè)按鍵( S1S4)。 讀 ROM 33H 讀取 DS18B20 的 ROM 中編碼(即 64 位地址) 0 ROM 匹配 55H 發(fā)送此命令后,接著發(fā)送64 位 ROM 編碼,訪問總線上連接的 DS18B20 然后一一做出響應(yīng)。單片機(jī)在一開始拉低總線 1 微秒后釋放總線,然后在包括前面的拉低總線電平 1 微秒在內(nèi)的 15 微秒時(shí)間內(nèi)完成對(duì)總線進(jìn)行采樣檢測(cè),采樣期內(nèi)總線為低電平則確認(rèn)為 0。 寫周期最少為 60 微秒,最長不超過 120 微秒。 支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在唯一的三線上,最多只能并聯(lián) 8 個(gè),實(shí)現(xiàn)多點(diǎn)測(cè)溫,如果數(shù)量過多,會(huì)使供電電源電壓過低,從而造成信號(hào)傳輸?shù)牟环€(wěn)定。 DS18B2 溫度傳感器具有體積小、無需 AD 轉(zhuǎn)化、抗干擾能力強(qiáng)、硬件開銷低、精度高的特點(diǎn)。 XTAL2:反向振蕩器放大器的輸出。復(fù)位發(fā)生時(shí)端口 G 為三態(tài)。作為輸入使用時(shí) ,若內(nèi)部上拉電阻使能 .則端口被外部電路拉低時(shí)將輸出電流。在 ATmegal 03 兼容模式下 ,端口C 只能作為輸出 ,而且在復(fù)位發(fā)生時(shí)不是三態(tài)。其輸出緩沖器具有對(duì)稱的驅(qū)動(dòng)特性 ,可以輸出和吸收大電流。 ATmega128。綜合考慮采用 ATmega128 單片機(jī)作為控制器。現(xiàn)在世界各國的溫度控制技術(shù)發(fā)展很快,一些國家在實(shí) 現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無人化的方向發(fā)展。而當(dāng)今隨著計(jì)算機(jī)科學(xué)的進(jìn)步,計(jì)算機(jī)技術(shù)逐漸成熟,而且電子器件的價(jià)格不斷降低、可 設(shè)計(jì)(論文)專用紙 2 靠性也不斷提高,利用嵌入式控制技術(shù)來調(diào)節(jié)水溫是完全可以實(shí)現(xiàn)的。 水溫控制對(duì)于人類的活動(dòng)中應(yīng)用十分廣泛。 。隨著計(jì)算機(jī)科學(xué)技術(shù)與傳感器技術(shù)的不斷發(fā)展,計(jì)算機(jī)與傳感器器件的價(jià)格不斷降低,并且技術(shù)的日益成熟、可靠,使得用微型控制器來實(shí)現(xiàn)水溫控制完全可以實(shí)現(xiàn)。 關(guān)鍵詞 : AVR 單片機(jī);溫度控制;溫度傳感器; 1602 液晶顯示器; EEPROM ; 設(shè)計(jì)(論文)專用紙 IV Abstract In recent years, the rapid development of China’s economy cause people’s needs for temperature control increasingly. Intelligent and unmanned are the key technique in requirement for temperature control. The water temperature control field various in many area such as industrial control, intelligent home system, chemical field, agricultural breeding and so on. This temperature control system is mainly posed of AVR microcontroller as a core, Ds18B20 temperature sensor as a gather temperature, and 1602 LCD as the screen. At the same time the keyboard which can be used for setting temperature value, resetting and showing the present temperature value. Also through relay control to heat the equipment. So as to achieve the microcontroller to control the water temperature with keeping within the prescribed scope. In addition, this system added EEPROM equipment is for poweroff protection, that is, to record the present temperature value in order to prevent information lost when outages. Keyword: AVR。本系統(tǒng)以 AVR 單片機(jī)為核心、利用 Ds18B20 溫度傳感器采集溫度、 1602 液晶顯示當(dāng)前狀態(tài)、人工在鍵盤設(shè)置的溫度、通過繼電器控制加熱設(shè)備。 設(shè)計(jì)(論文)專用紙 V 前 言 溫度控制無論是工業(yè)中還是生活都有著非常重要的地位,無論是溫度過高或者過低都會(huì)使能源與水資源的浪費(fèi)。 本系統(tǒng)以 AVR 單片機(jī)為核心、利用 Ds18B20 溫度傳感器采集溫度、 1602 液晶顯示當(dāng)前狀態(tài)、人工在鍵盤設(shè)置的溫度、通過繼電器控制加熱設(shè)備。自 18 世紀(jì)工業(yè)革命以來:工業(yè)過程離不開溫度的控制。溫度的過高或過低都會(huì)造成能源的過多消耗也會(huì)造成水資源的浪費(fèi)。先是采用模擬式的組合儀表,采集現(xiàn)場(chǎng)信息并進(jìn)行指示、記錄和控制。 。 特殊的處理特點(diǎn) 上電復(fù)位以及可編程的掉電檢測(cè)系統(tǒng); 片內(nèi)經(jīng)過標(biāo)定的 RC 振蕩器; 6 種睡眠模式:空閑模式、 ADC 噪聲抑制模式、掉電模式、省電模 式、 Standby 模式、拓展的 Standby 模式; 可以通過軟件記性選擇的時(shí)鐘頻率; 通過熔絲位可選擇 ATmega103 的兼容模式; 全局上拉禁止功能。 設(shè)計(jì)(論文)專用紙 7 ATmega128 的引腳說明 ATmega128 各引腳功能如下: Vcc:數(shù)字電路的電源。端口 B 也可以用作其他不同的特殊功能。 端口 F(PFT~PF0):端口 F 為 ADC 的模擬輸人引腳。 端口 G(PG4~PG0):端口 G 為 5 位雙向 I/O 口 ,并具有可編程的內(nèi)部上拉電阻。超過最小門限時(shí)間的低電平將引起系統(tǒng)復(fù)位。在上電復(fù)位時(shí)保持為低電平將使器件進(jìn)入。供熱 /制冷管道熱量計(jì)量,中央空調(diào)分戶熱能計(jì)量和工業(yè)領(lǐng)域測(cè)溫和控制。若沒有檢測(cè)到則一直在檢測(cè)等待。讀周期是從主機(jī)把單總線拉低 1 微秒之后就得釋放單總線為高電平,讓 DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。 復(fù)制暫存器 48H 將 RAM 中的 3 4 個(gè)字節(jié)復(fù)制在內(nèi)部 EEPROM 中。預(yù)期規(guī)劃為兩行,其中第一行為顯示實(shí)時(shí)溫度( Real Temperature )用“ RT”表示,預(yù)設(shè)溫度上限用 “TL”,表示預(yù)設(shè)溫度顯現(xiàn)用“ TH 表示”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。 EEPROM 的擦除無需借助其它設(shè)備,它是以電信號(hào)來修改里面的內(nèi)容,并且以 Byte 為最小修改單位,所以不必將數(shù)據(jù)全部洗掉才能寫入,擺脫了 EPROM Eraser 與編程器的限制。所以當(dāng)我們只想簡(jiǎn)單的讀取溫度值的時(shí)候,只用讀取暫存器中的第 0 和第 1 個(gè)字節(jié)就可以了。 DQ_IN。 } 讀操作 /*DS18B20 字節(jié)讀取函數(shù) */ unsigned char ds1820_read_byte(void) { unsigned char i。 DQ_CLR。 /*延時(shí) 10uS*/ if (DQ_R) value|=0x80。 /*關(guān)中斷 */ for (i = 8。 if (value amp。 ds1820_write_byte(0xCC)。 i 9。 開始 按鍵 1 檢測(cè)是否按下 按鍵 2 檢測(cè)是否按下 按鍵 3 檢測(cè)是否按下 按鍵 4 檢測(cè)是否按下 溫度上限值 加 1 溫度上限值減 1 溫度下限值加 1 溫度上限值加 1 高溫大于低溫 高溫大于低溫 結(jié)束 Y Y Y Y Y Y 設(shè)計(jì)(論文)專用紙 27 控制模塊 注: 當(dāng)前溫度小于下限溫度的時(shí)候,直接加熱到上限溫度,之后不在加溫。 PORTBamp。 /************************************************************************** * 函數(shù)名 : LcdWriteData * 函數(shù)功能 : 向 LCD 寫入一個(gè)字節(jié)的數(shù)據(jù) * 輸入 : dat * 輸出 : 無 **************************************************************************/ void write_dat(uchar dat) { PORTB|=BIT(5)。 } 設(shè)計(jì)(論文)專用紙 29 ( 3) LCD1602 初始化 /************************************************************************ * 函數(shù)名 : LcdInit() * 函數(shù)功能 : 初始化 LCD 屏 * 輸入 : 無 * 輸出 : 無 ************************************************************************/ void LcdInit() //LCD 初始化子程序 { write_(0x38)。一根是數(shù)據(jù)線 SDA,另一根是時(shí)鐘線 SCL。 在使用 ATmega128 內(nèi)部 EEPROM 過程如下: 1)寫入過程: 1發(fā)送器件地址( 0XA0) 2發(fā)送要寫入 EEPROM 的內(nèi)存地址 3發(fā)送要寫入的數(shù)據(jù) void EEPROM_write(uint EEPROM_ADDR, uchar EEPROM_DAT) { while(EECR amp。 (1EEWE))。 4) ICCAVR 是一個(gè) 32位的程序,支持 長文件名。 AVR Studio作為前端處理軟件,為 AVR 單片機(jī)開發(fā)者提供了高度集成的開發(fā)方 設(shè)計(jì)(論文)專用紙 35 案。 ISP 仿真器和開發(fā)板就是使用 AVR Studio 進(jìn)行仿真調(diào)試的,在以后的介紹中就將以本站產(chǎn)品為例進(jìn)行詳細(xì)的描述。 4) .prj 擴(kuò)展名 表示是工程文件,這個(gè)文件保存由 IDE 所創(chuàng)建和修改的一個(gè)工程的有關(guān)信息。 ImageCraft 的 ICCAVR 介紹 ImageCraft 的 ICCAVR 是一種使用符合 ANSI 標(biāo)準(zhǔn)的 C 語言來開發(fā) 設(shè)計(jì)(論文)專用紙 32 微控制器 MCU 程序的一個(gè)工具。