基于mega16微控制器的溫度采集系統(tǒng)
溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)中常見和最基本的參數(shù)之一,DS18B20是美國Dalls公司推出的單總線數(shù)字溫度傳感器,接口簡單,集成度高,精度高,且不用AD轉(zhuǎn)換可以直接將溫度轉(zhuǎn)化成串行數(shù)字信號供微處理器接收處理。與傳統(tǒng)的溫度傳感器相比具有無可比擬的優(yōu)點。利用DS18B20溫度傳感器構(gòu)成的溫度采集系統(tǒng)電路非常簡單,易于實現(xiàn)。
本文引用地址:http://2s4d.com/article/201610/307408.htm1 溫度測量系統(tǒng)的硬件設(shè)計方案
1.1 系統(tǒng)的硬件結(jié)構(gòu)
系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,單片機(jī)mega16作為整個系統(tǒng)的控制核心,由溫度傳感器DS18B20、鍵盤和LCD顯示器、電源電路及時鐘電路組成。
1.2 ATmga16功能簡介
AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC精簡指令集高速8位單片機(jī)。AVR的單片機(jī)可以廣泛應(yīng)用于計算機(jī)外部設(shè)備、工業(yè)實時控制、儀器儀表、通訊設(shè)備、家用電器等各個領(lǐng)域。AVR單片機(jī)與51單片機(jī)、PIC單片機(jī)等其他類型相比具有一系列的優(yōu)點:采用RISC精簡指令集,一個時鐘周期執(zhí)行一條指令,在相同的系統(tǒng)時鐘下AVR運行速度最快;芯片內(nèi)部的Flash、EEP-ROM、SRAM容量較大;所有型號的Flash、EEPROM都可以反復(fù)燒寫、全部支持在線編程燒寫(ISP);多種頻率的內(nèi)部RC振蕩器、上電自動復(fù)位、看門狗、啟動延時等功能,零外圍電路也可以工作;每個IO口都是用推挽驅(qū)動的方式輸出高、低電平,驅(qū)動能力強(qiáng);內(nèi)部資源豐富,一般都集成ADC;PWM;SPI、USART、TW I、I2C通信口;豐富的中斷源等。目前支持AVR單片機(jī)編譯器的語言主要有匯編語言、C語言、BASIC語言等。其中C編譯器主要有CodeVisionAVR、AVRGCC、IAR、ICCAVR等,C語言編譯器由于它具有功能強(qiáng)大、運用靈活、代碼小、運行速度快等先天性的優(yōu)點,使得它在專業(yè)程序設(shè)計上具有不可代替的地位。
ATmega16是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16有如下特點:
高性能、低功耗的8位AVR微處理器
·先進(jìn)的RlISC結(jié)構(gòu)
-131條指令
-大多數(shù)指令執(zhí)行時間為單個時鐘周期
-32個8位通用工作寄存器
-工作于16 MHz時性能高達(dá)16 MIPS
-只需兩個時鐘周期的硬件乘法器
·非易失性程序和數(shù)據(jù)存儲器
-16 k字節(jié)的系統(tǒng)內(nèi)可編程Flash,擦寫壽命:10,000次-具有獨立鎖定位的可選Boot代碼區(qū),通過片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程,真正的同時讀寫操作
-512字節(jié)的EEPROM,擦寫壽命:100,000次
-1 k字節(jié)的片內(nèi)SRAM-可以對鎖定位進(jìn)行編程以實現(xiàn)用戶程序的加密
-JTAG接口(與IEEE 1149.1標(biāo)準(zhǔn)兼容)
-符合JTAG標(biāo)準(zhǔn)的邊界掃描功能
-支持?jǐn)U展的片內(nèi)調(diào)試功能
-通過JTAG接口實現(xiàn)對Flash、EEPROM、熔絲位和鎖定位的編程
·外設(shè)特點
兩個具有獨立預(yù)分頻器和比較器功能的8位定時器/計數(shù)器,一個具有預(yù)分頻器、比較功能和捕捉功能的16位定時器/計數(shù)器;具有獨立振蕩器的實時計數(shù)器RTC;四通道PWM-8路10位ADC,8個單端通道,TQFP封裝的7個差分通道,2個具有可編程增益(1x,10x,或200x)的差分通道;面向字節(jié)的兩線接口;一個可編程的串行USART;可工作于主機(jī)/從機(jī)模式的SPI串行接口;具有獨立片內(nèi)振蕩器的可編程看門狗定時器;片內(nèi)模擬比較器。
1.3 電源電路
電源電路中采用三端穩(wěn)壓器7805為核心控制器,交流電通過變壓器調(diào)壓、橋式整流、濾波后接入三端穩(wěn)壓集成器7805,可以直接得到直流電源5 V,作為mega116的供電電源。
1.4 溫度數(shù)據(jù)采集模塊
溫度數(shù)據(jù)采集硬件電路設(shè)計如圖3所示,由mega116微控制器及其外圍電路模塊:時鐘電路、復(fù)位電路、JPAG下載模式電路等構(gòu)成了單片機(jī)最小開發(fā)系統(tǒng)。
時鐘電路采用16M晶振產(chǎn)生時鐘脈沖信號,溫度傳感器采用美國Dalls公司推出的單總線數(shù)字溫度傳感器DS18B20,DS18B20的工作特點是:采用3.0~5.5 V單電源供電;測溫范圍為-55~+125℃,溫度分辨率可達(dá)0.5℃;DS18B20內(nèi)部由64位閃速ROM、觸發(fā)器TH和TL、高速暫存存儲器、配置寄存器和8位CRC發(fā)生器組成。DS18B20與系統(tǒng)之間的操作存在一個通訊協(xié)議,必須按照初始化DS18B20(發(fā)復(fù)位脈沖→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù))進(jìn)行。
1. 5 JTAG下載模式電路
JTAG下載模式電路共有4個引腳,分別為:下載控制信號(TMS)引腳、時鐘同步信號引腳(TCK)、數(shù)據(jù)輸入引腳(TDI)、數(shù)據(jù)輸出引腳(TDO)。其中JTAG下載模式下載速度相對較快,可以進(jìn)行在線調(diào)試,但是JTAG下載模式不具備存儲器,當(dāng)?shù)綦姾笙螺d數(shù)據(jù)將會丟失。
1.6 按鍵控制與顯示電路
如要使用CVAVR內(nèi)部提供的LCD函數(shù),硬件連接必須按以下要求實現(xiàn)。1)與LCD的連接必須使用AVR的同一個8位的I/O端口,如PC(或者PA、PB、PD);2)LCD采用4位并行傳輸方式(即僅用DB4-DB7,4位數(shù)據(jù)總線);3)具體連接定義為(以PC口為例):4根數(shù)據(jù)線PC4-DB4,PC5-DB5,PC6-DB6,PC7-DB7,3根控制線PC0-RS,PC1-R/W,PC2-E。
LCD的硬件接口電路連接圖如圖4所示。
2 系統(tǒng)軟件設(shè)計
本次設(shè)計采用的CodeVision AVR C語言編程工具,是Atmel AVR系列微控制器而設(shè)計的一款C編譯工具,可以在WIN2000、XP、Vista操作系統(tǒng)下運行。DS18B20與系統(tǒng)之間按照初始化DS18B20(發(fā)復(fù)位脈沖→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù))的通信協(xié)議進(jìn)行。系統(tǒng)的程序流程圖如圖5所示。
3 部分功能模塊源程序
該簡單的LCD顯示的演示程序全部調(diào)用的是CVAVR中的LCD函數(shù),程序運行后,在LCD的第一行固定顯示字符-It’s lcd.c ‖,在第二行滾動顯示-Hello World! This is a
LCD display demo.‖
評論