基于mega16微控制器的溫度采集系統
溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)中常見(jiàn)和最基本的參數之一,DS18B20是美國Dalls公司推出的單總線(xiàn)數字溫度傳感器,接口簡(jiǎn)單,集成度高,精度高,且不用AD轉換可以直接將溫度轉化成串行數字信號供微處理器接收處理。與傳統的溫度傳感器相比具有無(wú)可比擬的優(yōu)點(diǎn)。利用DS18B20溫度傳感器構成的溫度采集系統電路非常簡(jiǎn)單,易于實(shí)現。
本文引用地址:http://dyxdggzs.com/article/201610/307408.htm1 溫度測量系統的硬件設計方案
1.1 系統的硬件結構
系統的硬件結構如圖1所示,單片機mega16作為整個(gè)系統的控制核心,由溫度傳感器DS18B20、鍵盤(pán)和LCD顯示器、電源電路及時(shí)鐘電路組成。

1.2 ATmga16功能簡(jiǎn)介
AVR單片機是1997年由ATMEL公司研發(fā)出的增強型內置Flash的RISC精簡(jiǎn)指令集高速8位單片機。AVR的單片機可以廣泛應用于計算機外部設備、工業(yè)實(shí)時(shí)控制、儀器儀表、通訊設備、家用電器等各個(gè)領(lǐng)域。AVR單片機與51單片機、PIC單片機等其他類(lèi)型相比具有一系列的優(yōu)點(diǎn):采用RISC精簡(jiǎn)指令集,一個(gè)時(shí)鐘周期執行一條指令,在相同的系統時(shí)鐘下AVR運行速度最快;芯片內部的Flash、EEP-ROM、SRAM容量較大;所有型號的Flash、EEPROM都可以反復燒寫(xiě)、全部支持在線(xiàn)編程燒寫(xiě)(ISP);多種頻率的內部RC振蕩器、上電自動(dòng)復位、看門(mén)狗、啟動(dòng)延時(shí)等功能,零外圍電路也可以工作;每個(gè)IO口都是用推挽驅動(dòng)的方式輸出高、低電平,驅動(dòng)能力強;內部資源豐富,一般都集成ADC;PWM;SPI、USART、TW I、I2C通信口;豐富的中斷源等。目前支持AVR單片機編譯器的語(yǔ)言主要有匯編語(yǔ)言、C語(yǔ)言、BASIC語(yǔ)言等。其中C編譯器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C語(yǔ)言編譯器由于它具有功能強大、運用靈活、代碼小、運行速度快等先天性的優(yōu)點(diǎn),使得它在專(zhuān)業(yè)程序設計上具有不可代替的地位。
ATmega16是基于增強的AVR RISC結構的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執行時(shí)間,ATmega16的數據吞吐率高達1 MIPS/MHz,從而可以減緩系統在功耗和處理速度之間的矛盾。ATmega16有如下特點(diǎn):
高性能、低功耗的8位AVR微處理器
·先進(jìn)的RlISC結構
-131條指令
-大多數指令執行時(shí)間為單個(gè)時(shí)鐘周期
-32個(gè)8位通用工作寄存器
-工作于16 MHz時(shí)性能高達16 MIPS
-只需兩個(gè)時(shí)鐘周期的硬件乘法器
·非易失性程序和數據存儲器
-16 k字節的系統內可編程Flash,擦寫(xiě)壽命:10,000次-具有獨立鎖定位的可選Boot代碼區,通過(guò)片上Boot程序實(shí)現系統內編程,真正的同時(shí)讀寫(xiě)操作
-512字節的EEPROM,擦寫(xiě)壽命:100,000次
-1 k字節的片內SRAM-可以對鎖定位進(jìn)行編程以實(shí)現用戶(hù)程序的加密
-JTAG接口(與IEEE 1149.1標準兼容)
-符合JTAG標準的邊界掃描功能
-支持擴展的片內調試功能
-通過(guò)JTAG接口實(shí)現對Flash、EEPROM、熔絲位和鎖定位的編程
·外設特點(diǎn)
兩個(gè)具有獨立預分頻器和比較器功能的8位定時(shí)器/計數器,一個(gè)具有預分頻器、比較功能和捕捉功能的16位定時(shí)器/計數器;具有獨立振蕩器的實(shí)時(shí)計數器RTC;四通道PWM-8路10位ADC,8個(gè)單端通道,TQFP封裝的7個(gè)差分通道,2個(gè)具有可編程增益(1x,10x,或200x)的差分通道;面向字節的兩線(xiàn)接口;一個(gè)可編程的串行USART;可工作于主機/從機模式的SPI串行接口;具有獨立片內振蕩器的可編程看門(mén)狗定時(shí)器;片內模擬比較器。
1.3 電源電路
電源電路中采用三端穩壓器7805為核心控制器,交流電通過(guò)變壓器調壓、橋式整流、濾波后接入三端穩壓集成器7805,可以直接得到直流電源5 V,作為mega116的供電電源。

1.4 溫度數據采集模塊
溫度數據采集硬件電路設計如圖3所示,由mega116微控制器及其外圍電路模塊:時(shí)鐘電路、復位電路、JPAG下載模式電路等構成了單片機最小開(kāi)發(fā)系統。

時(shí)鐘電路采用16M晶振產(chǎn)生時(shí)鐘脈沖信號,溫度傳感器采用美國Dalls公司推出的單總線(xiàn)數字溫度傳感器DS18B20,DS18B20的工作特點(diǎn)是:采用3.0~5.5 V單電源供電;測溫范圍為-55~+125℃,溫度分辨率可達0.5℃;DS18B20內部由64位閃速ROM、觸發(fā)器TH和TL、高速暫存存儲器、配置寄存器和8位CRC發(fā)生器組成。DS18B20與系統之間的操作存在一個(gè)通訊協(xié)議,必須按照初始化DS18B20(發(fā)復位脈沖→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數據)進(jìn)行。
1. 5 JTAG下載模式電路
JTAG下載模式電路共有4個(gè)引腳,分別為:下載控制信號(TMS)引腳、時(shí)鐘同步信號引腳(TCK)、數據輸入引腳(TDI)、數據輸出引腳(TDO)。其中JTAG下載模式下載速度相對較快,可以進(jìn)行在線(xiàn)調試,但是JTAG下載模式不具備存儲器,當掉電后下載數據將會(huì )丟失。
1.6 按鍵控制與顯示電路
如要使用CVAVR內部提供的LCD函數,硬件連接必須按以下要求實(shí)現。1)與LCD的連接必須使用AVR的同一個(gè)8位的I/O端口,如PC(或者PA、PB、PD);2)LCD采用4位并行傳輸方式(即僅用DB4-DB7,4位數據總線(xiàn));3)具體連接定義為(以PC口為例):4根數據線(xiàn)PC4-DB4,PC5-DB5,PC6-DB6,PC7-DB7,3根控制線(xiàn)PC0-RS,PC1-R/W,PC2-E。
LCD的硬件接口電路連接圖如圖4所示。

2 系統軟件設計
本次設計采用的CodeVision AVR C語(yǔ)言編程工具,是Atmel AVR系列微控制器而設計的一款C編譯工具,可以在WIN2000、XP、Vista操作系統下運行。DS18B20與系統之間按照初始化DS18B20(發(fā)復位脈沖→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數據)的通信協(xié)議進(jìn)行。系統的程序流程圖如圖5所示。

3 部分功能模塊源程序



該簡(jiǎn)單的LCD顯示的演示程序全部調用的是CVAVR中的LCD函數,程序運行后,在LCD的第一行固定顯示字符-It’s lcd.c ‖,在第二行滾動(dòng)顯示-Hello World! This is a
LCD display demo.‖
評論