<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于串口的溫度檢測數據單片機仿真

基于串口的溫度檢測數據單片機仿真

作者: 時(shí)間:2012-09-23 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:隨著(zhù)系統的廣泛應用和計算機網(wǎng)絡(luò )技術(shù)的普及,的通信功能愈來(lái)愈顯得重要。通信是指單片機與計算機或單片機與單片機之間的信息交換,通常單片機與計算機之間的通信用的較多。本文以為基礎,研究了單片機與PC 機的通信原理及電路的設計。

本文引用地址:http://dyxdggzs.com/article/170815.htm

  0 引言

  本文研究的是一種收發(fā)模塊。利用DS18B20 傳感器設計溫度監測模塊,精確到0.1℃,用液晶顯示當前溫度,然后通過(guò)調試助手向單片機發(fā)送指令。當單片機收到十六進(jìn)制指令01時(shí),將當前溫度值以1s 為間隔傳回PC 機顯示,同時(shí)PC 機顯示Turn on temp;當單片機收到十六進(jìn)制指令02 時(shí),停止溫度值的回傳,PC 機顯示Turn off temp;當單片機收到其它指令時(shí),PC 機顯示Error。

  1 總體設計

  本系統功能由硬件和軟件兩大部份協(xié)調完成,硬件部分主要完成信息的顯示;軟件主要完成信號的處理及控制功能等。

  本系統的硬件采用模塊化設計,以AT89C52 單片機為核心,與LCD 顯示電路、串行口通信電路及DS18B20 溫度電路組成控制系統。該系統硬件主要包括以下幾個(gè)模塊:

  AT89C52 主控模塊、LCD 顯示模塊、串行口通信模塊、DS18B20 溫度檢測模塊等。其中AT89C52 主要完成外圍硬件的控制以及一些運算功能,LCD 顯示模塊完成字符、數字的顯示功能、串行口通信模塊主要完成單片機和PC 機之間的通信功能,DS18B20 溫度檢測模塊主要完成環(huán)境溫度檢測功能。系統組成方框圖如圖1.1 所示。

圖1.1系統硬件組成方框圖

  圖1.1系統硬件組成方框圖

  應用軟件采用模塊化設計方法。該系統軟件主要由主程序、接收發(fā)送中斷子程序、LCD 顯示子程序等模塊組成,系統軟件結構框圖如圖1.2 所示。

圖1.2系統軟件設計框圖。

  圖1.2系統軟件設計框圖。

  2 系統工作原理

  MCS-51 單片機串行口發(fā)送/接收數據時(shí),通過(guò)2 個(gè)串行緩沖器SBUF 進(jìn)行,這2 個(gè)緩沖器采用一個(gè)地址(98H),但在物理上是獨立的。其中接收緩沖器只能讀出不能寫(xiě)入,50 發(fā)送緩沖器只能寫(xiě)入不能讀出。

  1. 發(fā)送過(guò)程

  當數據被寫(xiě)入SBUF 寄存器后,單片機自動(dòng)開(kāi)始從起始位發(fā)送數據,發(fā)送到停止位的開(kāi)始時(shí),由內部硬件將TI 置1,向CPU 申請中斷,接下來(lái)可在中斷服務(wù)程序中做相應處理,也可選擇不進(jìn)入中斷。

  2. 接收過(guò)程

  串行口的接收與否受制于允許接收位REN 的狀態(tài),當REN 被軟件置1后,允許接收器接收。串口的接收器以所選波特率的16 倍速對RXD 線(xiàn)進(jìn)行監視。當1到0跳變時(shí),檢測器連續采樣到RXD 線(xiàn)上低電平時(shí)。便認定RXD 端出現起始位,繼而接收控制器開(kāi)始工作。在每位傳送時(shí)間的第7、8、9 三個(gè)脈沖狀態(tài)采樣RXD 線(xiàn),決定所接收的值為0或1.當接收完停止位后,控制電路使中斷標志R1置為1.

  3. 溫度檢測

  溫度檢測采用DALLAS 最新單線(xiàn)數字溫度傳感器DS18B20,DS18B20 是一種新型的一線(xiàn)器件,其體積更小,更適用于多種場(chǎng)合,且適用電壓更寬、更經(jīng)濟。DALLAS 半導體公司的數字化溫度傳感器DS18B20 是世界上第一片支持一線(xiàn)總線(xiàn)接口的溫度傳感器。

  溫度測量范圍為-55℃~+125℃,可編程為9 位~12位轉換精度,可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.0625℃。在9 位分辨率時(shí),最多在93.75ms 內把溫度轉換為數字;在12 位分辨率時(shí),最多在750ms 內把溫度值轉換為數字。

3 溫度傳感器

  3.1 溫度傳感器特性

  DALLAS 最新單線(xiàn)數字溫度傳感器DS18B20[2]是一種新型的一線(xiàn)器件,其體積更小,更適用于多種場(chǎng)合,且適用電壓更寬、更經(jīng)濟。DALLAS 半導體公司的數字化溫度傳感器DS18B20 是世界上第一片支持一線(xiàn)總線(xiàn)接口的溫度傳感器。溫度測量范圍為-55℃~+125℃,可編程為9 位~12 位轉換精度,可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.0625℃。在9 位分辨率時(shí),最多在93.75ms 內把溫度轉換為數字;在12 位分辨率時(shí),最多在750ms內把溫度值轉換為數字。DS18B20的性能特點(diǎn)如下:

  1. 獨特的單線(xiàn)接口僅需要一個(gè)端口引腳進(jìn)行通信;

  2. 多個(gè) DS18B20 可以并聯(lián)在惟一的三線(xiàn)上,實(shí)現多點(diǎn)組網(wǎng)功能

  3. 無(wú)須外部器件;

  4. 可通過(guò)數據線(xiàn)供電,電壓范圍為3.0~5.5V;

  5. 零待機功耗;

  6. 溫度以 9 或12 位數字;

  7. 用戶(hù)可定義報警設置;

  8. 報警搜索命令識別并標志超過(guò)程序限定溫度(溫度報警條件)的器件;

  9. 負電壓特性,電源極性接反時(shí),溫度計不會(huì )因發(fā)熱而燒毀,但不能正常工作;

  DS18B02 可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1 腳接地,2 腳作為信號線(xiàn),3 腳接電源。另一種是寄生電源供電方式,單片機端口接單線(xiàn)總線(xiàn),為保證在有效的DS18B20 時(shí)鐘周期內提供足夠的電流,可用一個(gè)MOSFET 管來(lái)完成對總線(xiàn)的上拉。

  當 DS18B20 處于寫(xiě)存儲器操作和溫度A/D 轉換操作時(shí),總線(xiàn)上必須有強的上拉,上拉開(kāi)啟時(shí)間最大為10us.采用寄生電源供電方式時(shí)VDD 端接地。由于單線(xiàn)制只有一根線(xiàn),因此發(fā)送接口必須是三態(tài)的。

圖 3.1 DS18B20 引腳圖

  圖 3.1 DS18B20 引腳圖

  3.2 工作時(shí)序圖

  1. 初始化

圖 3.2 初始化時(shí)序圖

  圖 3.2 初始化時(shí)序圖

  1)先將數據線(xiàn)置高電平1;2) 延時(shí)(該時(shí)間要求不是很?chē)栏?,但是要盡可能短一些);3) 數據線(xiàn)拉到低電平0;4) 延時(shí) 750us(該時(shí)間范圍可以在480~960us);5) 數據線(xiàn)拉到高電平1;6)延時(shí)等待。如果初始化成功則在15~60ms內產(chǎn)生一個(gè)由DS18B20 返回的低電平0,據該狀態(tài)可以確定它的存在。但是要注意,不能無(wú)限地等待,不然會(huì )使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)判斷;7) 若 CPU 讀到數據線(xiàn)上的低電平0 后,還要進(jìn)行延時(shí),其延時(shí)時(shí)間從發(fā)出高電平算起最少要480us;8)將數據線(xiàn)再次拉到高電平后結束。

  2. DS18B20 寫(xiě)數據

圖3.3 寫(xiě)數據時(shí)序圖

  圖3.3 寫(xiě)數據時(shí)序圖

  1) 數據線(xiàn)先置低電平0;

  2)延時(shí)確定的時(shí)間為15us;

  3) 按從低位到高位的順序發(fā)送數據(一次只發(fā)送一位);

  4) 延時(shí)時(shí)間為 45us;

  5) 將數據線(xiàn)拉到高電平1;

  6) 重復 1)到5)步驟,直到發(fā)送完整個(gè)字節;

  7)最后將數據線(xiàn)拉高到1.

  3. DS18B20 讀數據

圖3.4 讀數據時(shí)序圖

  圖3.4 讀數據時(shí)序圖

  1)將數據線(xiàn)拉高為1;

  2) 延時(shí) 2us ;

  3) 將數據線(xiàn)拉低0 ;

  4) 延時(shí) 6us ;

  5) 將數據線(xiàn)拉高1 ;

  6)延時(shí) 4us ;

  7) 讀數據線(xiàn)的狀態(tài)得到1 個(gè)狀態(tài)位,并且進(jìn)行數據處理;

  8) 延時(shí) 30us ;

  9) 重復 1)到7)步,知道讀取完一個(gè)字節。

  4 硬件設計

  4.1 時(shí)鐘電路及復位電路

  1.時(shí)鐘電路

  時(shí)鐘電路可以產(chǎn)生CPU 校準時(shí)序,是單片機的控制核心,本次設計是通過(guò)外接12MHz的晶振來(lái)實(shí)現時(shí)鐘電路的時(shí)序控制。在使用片內振蕩器時(shí),XTAL1 和XTAL2 分別為反向放大器的輸入端和輸出端。外接晶體以及電容C3 和C5 構成并聯(lián)諧振電路,接在放大器的反饋回路中。當用外部時(shí)鐘驅動(dòng)時(shí),XTAL2引腳應懸空,而由XTAL1引腳上的信號驅動(dòng),外部振蕩器通過(guò)一個(gè)2 分頻的觸發(fā)器而成為內部時(shí)鐘信號,故對外部信號的占空比沒(méi)有什么要求,但最小和最大的高電平持續時(shí)間和低電平持續時(shí)間應符合技術(shù)要求。電路如圖4.1 所示。

電流變送器相關(guān)文章:電流變送器原理
溫濕度控制器相關(guān)文章:溫濕度控制器原理

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>