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