基于串口通信的單片機仿真和C語(yǔ)言開(kāi)發(fā)
摘要:隨著(zhù)單片機系統的廣泛應用和計算機網(wǎng)絡(luò )技術(shù)的普及,單片機的通信功能愈來(lái)愈顯得重要。單片機通信是指單片機與計算機或單片機與單片機之間的信息交換,通常單片機與計算機之間的通信用的較多。本文以溫度檢測數據為基礎,研究了單片機與PC 機的通信原理及電路的設計。
本文引用地址:http://dyxdggzs.com/article/170973.htm0 引言
本論文題目為基于串口通信的單片機仿真和C 語(yǔ)言開(kāi)發(fā),研究的是一種基于串口的溫度檢測數據收發(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系統硬件組成方框圖
應用軟件采用模塊化設計方法。該系統軟件主要由主程序、串口接收發(fā)送數據中斷子程序、LCD 顯示子程序等模塊組成,系統軟件結構框圖如圖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.
評論