0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-11-27 09:33 ? 次閱讀

引言

本論文題目為基于串口通信單片機(jī)仿真和C 語(yǔ)言開(kāi)發(fā),研究的是一種基于串口的溫度檢測(cè)數(shù)據(jù)收發(fā)模塊。利用DS18B20 溫度傳感器設(shè)計(jì)溫度監(jiān)測(cè)模塊,精確到0.1℃,用液晶顯示當(dāng)前溫度,然后通過(guò)串口調(diào)試助手向單片機(jī)發(fā)送指令。當(dāng)單片機(jī)收到十六進(jìn)制指令01時(shí),將當(dāng)前溫度值以1s 為間隔傳回PC 機(jī)顯示,同時(shí)PC 機(jī)顯示Turn on temp;當(dāng)單片機(jī)收到十六進(jìn)制指令02 時(shí),停止溫度值的回傳,PC 機(jī)顯示Turn off temp;當(dāng)單片機(jī)收到其它指令時(shí),PC 機(jī)顯示Error。

1 總體設(shè)計(jì)

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

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

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

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖1.1系統(tǒng)硬件組成方框圖

應(yīng)用軟件采用模塊化設(shè)計(jì)方法。該系統(tǒng)軟件主要由主程序、串口接收發(fā)送數(shù)據(jù)中斷子程序、LCD 顯示子程序等模塊組成,系統(tǒng)軟件結(jié)構(gòu)框圖如圖1.2 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖1.2系統(tǒng)軟件設(shè)計(jì)框圖。

2 系統(tǒng)工作原理

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

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

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

2. 接收過(guò)程

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

3. 溫度檢測(cè)

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

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

3 溫度傳感器

3.1 溫度傳感器特性

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

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

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

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

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

5. 零待機(jī)功耗;

6. 溫度以 9 或12 位數(shù)字;

7. 用戶可定義報(bào)警設(shè)置;

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

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

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

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

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 3.1 DS18B20 引腳圖

3.2 工作時(shí)序圖

1. 初始化

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

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

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

2. DS18B20 寫(xiě)數(shù)據(jù)

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

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

1) 數(shù)據(jù)線先置低電平0;

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

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

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

5) 將數(shù)據(jù)線拉到高電平1;

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

7)最后將數(shù)據(jù)線拉高到1.

3. DS18B20 讀數(shù)據(jù)

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

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

1)將數(shù)據(jù)線拉高為1;

2) 延時(shí) 2us ;

3) 將數(shù)據(jù)線拉低0 ;

4) 延時(shí) 6us ;

5) 將數(shù)據(jù)線拉高1 ;

6)延時(shí) 4us ;

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

8) 延時(shí) 30us ;

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

4 硬件設(shè)計(jì)

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

1.時(shí)鐘電路

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

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 4.1 晶振電路

2.空閑方式

在空閑方式下,CPU 的內(nèi)部時(shí)鐘信號(hào)被門(mén)控電路所封鎖,CPU 即進(jìn)入睡眠狀態(tài),但內(nèi)部時(shí)鐘信號(hào)仍繼續(xù)供給中斷系統(tǒng),定時(shí)器和串行口。這種方式由軟件調(diào)用。在空閑方式期間,片內(nèi)RAM和所有專用寄存器的狀態(tài)仍被保留,空閑方式可通過(guò)任何允許的中斷或硬件復(fù)位來(lái)終止。當(dāng)空閑方式由硬件復(fù)位終止時(shí),通常系統(tǒng)在空閑處恢復(fù)程序的執(zhí)行。硬件復(fù)位只需要信號(hào)持續(xù)有效兩個(gè)機(jī)器周期。當(dāng)用復(fù)位終止空閑方式時(shí),為防止避免意外寫(xiě)入端口引腳的可能性,調(diào)用空閑方式指令的下一條指令不應(yīng)是寫(xiě)端口引腳或外部存儲(chǔ)器。

3.掉電工作方式

在掉電方式下,片內(nèi)振蕩器停止工作。調(diào)用掉電指令是執(zhí)行的最后一條指令。片內(nèi)RAM 和專用寄存器的值被保留,直到掉電方式終止。退出掉電方式只能靠硬件復(fù)位。復(fù)位后將重新定義所有專用寄存器,但不改變RAM 的內(nèi)容。在VCC 未恢復(fù)到正常工作電壓之前,不能啟動(dòng)復(fù)位,復(fù)位信號(hào)應(yīng)保持足夠長(zhǎng)的時(shí)間,以保證振蕩器的起振和達(dá)到穩(wěn)定。

為了使單片機(jī)正常工作,還需要加入上電復(fù)位電路和掉電檢測(cè)電路。上電復(fù)位簡(jiǎn)要原理:

在系統(tǒng)不需要復(fù)位時(shí),RST端是低電平;按下按鍵,RST端變?yōu)楦唠娖健?/p>

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 4.2 上電復(fù)位電路

AT89C51、晶振電路與上電復(fù)位電路共同組成單片機(jī)最小系統(tǒng),如圖4.3 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 4.3 最小系統(tǒng)

4.2 溫度傳感器

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖4.4 DS18B20連線圖

從圖 4.4 可以看出,DS18B20 與單片機(jī)的連接非常簡(jiǎn)單,單片機(jī)只需要一個(gè)I/O 口就可以控制DS18B20.這個(gè)圖的接法是單片機(jī)與一個(gè)DS18B20 通信,如果要控制多個(gè)DS18B20進(jìn)行溫度采集,只要將所有的DS18B20 的I/O 口全部連接到一起就可以了。

4.3 LCD顯示模塊

顯示電路采用LCD1602 液晶顯示屏,P2 作為液晶8 位數(shù)據(jù)輸入端口。P1.0 口作為液晶數(shù)據(jù)/命令選擇端口,P1.1 為液晶使能端口。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 4.5 LCD 顯示模塊

4.4 串行口通信模塊設(shè)計(jì)

51 單片機(jī)有一個(gè)全雙工的串行通信口,使單片機(jī)和計(jì)算機(jī)之間可以方便地進(jìn)行通信。

電平范圍是電路能夠安全可靠識(shí)別信號(hào)的電壓范圍。

CMOS 電路的電平范圍一般是從0 到電源電壓。CMOS 電平中,高電平(3.5~5V)為邏輯"1",低電平(0~0.8V)為邏輯"0".

RS232 接口的電平范圍是-15V 到+15V,RS232 電平采用負(fù)邏輯,即邏輯"1":-3~-15V,邏輯"0":+3~+15V.

單片機(jī)的串口是TTL 電平的,而計(jì)算機(jī)的串口是RS232 電平,要使兩者之間進(jìn)行通信,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,即單片機(jī)的串口要外接電平轉(zhuǎn)換電路芯片把與TTL兼容的CMOS 高電平表示的1 轉(zhuǎn)換成RS232 的負(fù)電壓信號(hào),把低電平轉(zhuǎn)換成RS-232 的正電壓信號(hào)。典型的轉(zhuǎn)換電路給出-9V 和+9V.

本設(shè)計(jì)中實(shí)現(xiàn)邏輯電平轉(zhuǎn)換可以采用MAX232 芯片的轉(zhuǎn)換接口:MAX232 是MAXIM公司生產(chǎn)的,包含兩路驅(qū)動(dòng)器和接收器的RS-232 轉(zhuǎn)換芯片。MAX232 芯片內(nèi)部有一個(gè)電壓轉(zhuǎn)換器,可以把輸人的+5V 電壓轉(zhuǎn)換為RS-232 接口所需的±10V 電壓,尤其適用于沒(méi)有±12V 的單電源系統(tǒng)。與此原理相同的芯片還有MAX202、AD 公司的ADDt101 以及SIL 公司的IC1232 芯片。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 4.6 MAX232 芯片引腳

由于 protues仿真時(shí)不需進(jìn)行電平轉(zhuǎn)換,所以仿真時(shí)沒(méi)有用上MAX232 芯片電路,但做實(shí)物時(shí)需進(jìn)行電平轉(zhuǎn)換,其硬件連線圖如圖4.7 所示。MAX232 芯片的T1in 引腳連接AT89C51 單片機(jī)的P3.1(TXD)引腳,MAX232 芯片的R1out 引腳連接AT89C51 單片機(jī)的P3.0(RXD)引腳;MAX232 芯片的T1out 引腳連接DB9 針接口的第2 引腳,MAX232 芯片的R1in 引腳連接DB9 針接口的第3 引腳。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖4.7 電平轉(zhuǎn)換硬件連接圖

4.5 系統(tǒng)原理圖

由以上模塊化設(shè)計(jì)可得整個(gè)系統(tǒng)原理圖如圖4.8 所示:

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖4.8 系統(tǒng)原理圖

5 軟件設(shè)計(jì)

5.1 算法設(shè)計(jì)

編寫(xiě)單片機(jī)異步通信程序步驟如下:

1. 設(shè)置串口工作方式

此時(shí)需對(duì)串行控制器SCON 中的SM0、SM1 進(jìn)行設(shè)置。PC 機(jī)與單片機(jī)的通信中一般選擇串口工作在方式1 下。

串行控制器 SCON(98H)的格式如表1 所示:

表1串行控制器格式

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

2. 選擇波特率發(fā)生器

選擇定時(shí)器1或定時(shí)器2 做為其波特率發(fā)生器。

3. 設(shè)置定時(shí)器工作方式

當(dāng)選擇定時(shí)器1 做為波特率發(fā)生器時(shí),需設(shè)置其方式寄存器TMOD 為計(jì)數(shù)方式并選擇相應(yīng)的工作方式(一般選擇方式2 以避免重裝定時(shí)器初值);當(dāng)選擇定時(shí)器2 做為波特率發(fā)生器時(shí),需將T2CON 設(shè)置為波特率發(fā)生器工作方式。

4. 設(shè)置波特率參數(shù)

影響波特率的參數(shù)有二,一是特殊寄存器PCON 的SMOD 位,另一個(gè)是相應(yīng)定時(shí)器初值。

5. 允許串行中斷

因在程序中我們一般采有中斷接收方式,故應(yīng)設(shè)EA=1、ES=1.

6. 允許接收數(shù)據(jù)

設(shè)置 SCON 中的REN 為1.表示允許串行口接收數(shù)據(jù)。

7. 允許定時(shí)/計(jì)數(shù)器工作

此時(shí)開(kāi)啟定時(shí)/計(jì)數(shù)器,使其產(chǎn)生波特率8. 編寫(xiě)串行中斷服務(wù)程序。

當(dāng)有數(shù)據(jù)到達(dá)串口時(shí),系統(tǒng)將自動(dòng)執(zhí)行所編寫(xiě)的中斷服務(wù)程序。

9. 收/發(fā)相應(yīng)數(shù)據(jù)

注意的是發(fā)送操作完成需將T1清零,接收工作完成后需將R1清零。

5.2 程序設(shè)計(jì)

5.2.1 主程序設(shè)計(jì)

主程序主要完成硬件初始化、子程序調(diào)用等功能。

1. 初始化。

首先調(diào)用 LCD 初始化程序,在LCD 上顯示數(shù)據(jù)"RECEIVE:"和"TEMP is: *C".

然后調(diào)用中斷及串口初始化子程序程序,把串口接收數(shù)據(jù)單元RECDATA 清零。設(shè)置寄存器SCON 的SM0、SM1 位定義串口工作方式,選擇波特率發(fā)生器為定時(shí)器T1;設(shè)定定時(shí)器T1 工作方式為方式2;設(shè)置波特率參數(shù)為9600bps;允許串行中斷及總中斷;允許串口接收數(shù)據(jù),定義REN=1;啟動(dòng)定時(shí)/計(jì)數(shù)器T1 工作,定義TR1=1.

2. 串口收發(fā)數(shù)據(jù)。

判斷串口成功接收數(shù)據(jù)標(biāo)志位flag_uart 是否為0,若flag_uart 為0,表明串口未接收到數(shù)據(jù),則繼續(xù)等待串口接收數(shù)據(jù);若flag_uart 為1,表明串口成功接收或發(fā)送數(shù)據(jù),進(jìn)入串口中斷服務(wù)子程序,單片機(jī)接收數(shù)據(jù),并將串口成功接收數(shù)據(jù)標(biāo)志位flag_uart 清零,調(diào)用LCD 顯示接收數(shù)據(jù)子程序,在LCD 上顯示單片機(jī)從串口接收到的數(shù)據(jù),同時(shí)回傳溫度值給PC機(jī)顯示。主程序設(shè)計(jì)流程圖如圖5.1 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖 5.1 主程序流程圖

5.2.2 串口中斷服務(wù)子程序

判斷串口發(fā)送標(biāo)志位TI 是否為1,若TI 為1,則把數(shù)據(jù)從單片機(jī)發(fā)給PC 機(jī),并把TI清零,中斷子程序返回;若TI為0,表明RI=0,則把串口接收標(biāo)志位RI清零,把串口接收緩沖器SBUF 中的數(shù)據(jù)寫(xiě)入串口接收數(shù)據(jù)單元RECDATA,再把該數(shù)據(jù)送到串口發(fā)送緩沖器SBUF 中,傳給PC 機(jī),置串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT 為1,表明串口成功接收發(fā)送數(shù)據(jù),最后中斷子程序返回。串口收發(fā)數(shù)據(jù)中斷服務(wù)子程序設(shè)計(jì)流程圖如圖5.2 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖5.2 串口中斷服務(wù)子程序

5.2.3 讀溫子程序

讀出溫度子程序的主要功能是讀出RAM 中的9 字節(jié),在讀出時(shí)需進(jìn)行CRC 校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。其程序流程圖如圖5.3 示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖5.3 讀溫子程序

5.2.4 溫度轉(zhuǎn)換命令子程序

溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開(kāi)始命令,當(dāng)采用12 位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如上圖,圖5.4 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖5.4 溫度轉(zhuǎn)換流程圖

5.2.5 計(jì)算溫度子程序

計(jì)算溫濕度子程序?qū)AM 中讀取值進(jìn)行BCD 碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖5.5 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖5.5 計(jì)算溫度流程圖

5.2.6 顯示數(shù)據(jù)刷新子程序

顯示數(shù)據(jù)刷新子程序主要是對(duì)分離后的溫度顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)標(biāo)志位位為1時(shí)將符號(hào)顯示位移入第一位。程序流程圖如圖5.6 所示。

單片機(jī)與PC機(jī)的通信原理及電路的設(shè)計(jì)研究分析

圖5.6 顯示數(shù)據(jù)刷新子程序

6 結(jié)論

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

AT89C52 主控模塊、LCD 顯示模塊、串行口通信模塊、DS18B20 溫度檢測(cè)模塊等。其中AT89C52 主要完成外圍硬件的控制以及一些運(yùn)算功能,LCD 顯示模塊完成字符、數(shù)字的顯示功能、串行口通信模塊主要完成單片機(jī)和PC 機(jī)之間的通信功能,DS18B20 溫度檢測(cè)模塊主要完成環(huán)境溫度檢測(cè)功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44456

    瀏覽量

    631042
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4387

    瀏覽量

    166725
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2049

    瀏覽量

    153820
  • 仿真
    +關(guān)注

    關(guān)注

    50

    文章

    4003

    瀏覽量

    133238
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    用組態(tài)王實(shí)現(xiàn)PC機(jī)與多臺(tái)單片機(jī)的遠(yuǎn)程通信

    介紹了用組態(tài)王6.51 實(shí)現(xiàn)PC 機(jī)與多單片機(jī)遠(yuǎn)程串行通信的一種方法,給出了PC 機(jī)與80C51
    發(fā)表于 09-12 15:29 ?61次下載

    單片機(jī)PC機(jī)通信中的糾錯(cuò)編碼

    單片機(jī)PC機(jī)通信中的糾錯(cuò)編碼
    發(fā)表于 08-01 16:08 ?19次下載

    AT89系列單片機(jī)PC機(jī)的串行通信實(shí)驗(yàn)電路

    AT89系列單片機(jī)PC機(jī)的串行通信實(shí)驗(yàn)電路圖:
    發(fā)表于 05-21 13:43 ?2859次閱讀
    AT89系列<b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>PC</b><b class='flag-5'>機(jī)</b>的串行<b class='flag-5'>通信</b>實(shí)驗(yàn)<b class='flag-5'>電路</b>圖

    PC機(jī)單片機(jī)通信應(yīng)用

    本文是關(guān)于計(jì)算機(jī)與單片機(jī)通信實(shí)驗(yàn)的應(yīng)用。主要包括實(shí)驗(yàn)原理闡述、硬件電路圖、源程序等 目錄: 1、單片機(jī)串口通信的應(yīng)用 2、
    發(fā)表于 08-20 10:33 ?7174次閱讀
    <b class='flag-5'>PC</b><b class='flag-5'>機(jī)</b>與<b class='flag-5'>單片機(jī)</b><b class='flag-5'>通信</b>應(yīng)用

    PC 機(jī)單片機(jī)通信(RS232 協(xié)議)

    PC 機(jī)單片機(jī)通信(RS232 協(xié)議),很好設(shè)計(jì)資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 05-09 17:07 ?65次下載

    單片機(jī)PC機(jī)串口通信顯示

    單片機(jī)基礎(chǔ)學(xué)習(xí),串口學(xué)習(xí)。使單片機(jī)PC機(jī)串口通信,簡(jiǎn)單的顯示字符,且循環(huán)100次,運(yùn)用STC-ICP
    發(fā)表于 06-01 17:48 ?15次下載

    應(yīng)用RS485的PC單片機(jī)通信研究_畢博

    應(yīng)用RS_485的PC單片機(jī)通信研究,學(xué)習(xí)485的好資料?。?!
    發(fā)表于 06-06 10:00 ?4次下載

    arm系列單片機(jī)pc機(jī)之間的串行通信

    arm系列單片機(jī)pc機(jī)之間的串行通信
    發(fā)表于 09-01 16:58 ?2次下載
    arm系列<b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>pc</b><b class='flag-5'>機(jī)</b>之間的串行<b class='flag-5'>通信</b>

    PC 機(jī)單片機(jī)串行通信實(shí)現(xiàn)

    介紹了基于 MATLAB 的 PC 機(jī)與 PIC 系列單片機(jī)串行通信的實(shí)現(xiàn)方法。串行系統(tǒng)主要由 PC 機(jī)
    發(fā)表于 09-03 11:13 ?22次下載
    <b class='flag-5'>PC</b> <b class='flag-5'>機(jī)</b>與<b class='flag-5'>單片機(jī)</b>串行<b class='flag-5'>通信</b>實(shí)現(xiàn)

    機(jī)通信單片機(jī)pc

    機(jī)通信單片機(jī)pc
    發(fā)表于 11-04 11:38 ?7次下載

    單片機(jī)通信性能分析與評(píng)價(jià)方法

    本文對(duì)單片機(jī)通信性能的分析和評(píng)價(jià)方法進(jìn)行研究,指出了物理接口電路分布參數(shù)的分析方法和保證
    發(fā)表于 03-22 17:51 ?2173次閱讀
    <b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>通信</b>性能<b class='flag-5'>分析</b>與評(píng)價(jià)方法

    如何實(shí)現(xiàn)ATMEGA16單片機(jī)PC機(jī)通信

    ATMEGA16與PC機(jī)通信實(shí)驗(yàn)1//PC機(jī)發(fā)送一個(gè)字符給單片機(jī),
    發(fā)表于 12-14 15:14 ?1448次閱讀

    一個(gè)單片機(jī)PC機(jī)通信的程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是一個(gè)單片機(jī)PC機(jī)通信的程序。
    的頭像 發(fā)表于 09-06 11:26 ?5614次閱讀

    PC機(jī)單片機(jī)通信RS232協(xié)議

    PC 機(jī)單片機(jī)通信(RS232 協(xié)議設(shè)計(jì)資料
    發(fā)表于 03-21 14:39 ?30次下載

    PC機(jī)單片機(jī)機(jī)實(shí)時(shí)通信的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《PC機(jī)單片機(jī)機(jī)實(shí)時(shí)通信的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-31 09:55 ?3次下載
    <b class='flag-5'>PC</b><b class='flag-5'>機(jī)</b>與<b class='flag-5'>單片機(jī)</b>多<b class='flag-5'>機(jī)</b>實(shí)時(shí)<b class='flag-5'>通信</b>的設(shè)計(jì)與實(shí)現(xiàn)