《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于PC與STC12C單片機串口通信的 溫度采集系統設計
基于PC與STC12C單片機串口通信的 溫度采集系統設計
2014年微型機與應用第16期
周 鵬
華僑大學 信息學院, 福建 廈門
摘要: 設計了基于PC與STC12C單片機串口通信的溫度采集系統。STC12C單片機作為下位機,利用數字溫度傳感器DS18B20采集現場溫度,同時通過串口RS232將溫度值上傳給PC,PC實時顯示溫度和變化曲線。實際運行表明,系統運行可靠,界面清楚直觀,功能達到設計要求。
Abstract:
Key words :

  摘  要: 設計了基于PC與STC12C單片機串口通信的溫度采集系統。STC12C單片機作為下位機,利用數字溫度傳感器DS18B20采集現場溫度,同時通過串口RS232將溫度值上傳給PC,PC實時顯示溫度和變化曲線。實際運行表明,系統運行可靠,界面清楚直觀,功能達到設計要求。

  關鍵詞: 串口通信; STC12C單片機; 溫度傳感器DS18B20; MSComm控件

  PC與單片機組成上下位機,上位機通過串行接口獲取下位機采集的現場數據,這是一種重要的測控形式,它易于實現遠程采集和多通道采集。上下位機形式的采集系統既可以發揮單片機抗干擾性好、可擴充、易面向現場等優點,又能充分利用PC在數據處理和交互方面的巨大優勢[1]。

  本文設計了PC與STC12C5A60S2單片機(簡稱STC12C單片機)組成的單通道溫度采集系統,單片機實時采集溫度,PC利用串口通信獲得溫度值并實時顯示。

1 系統硬件設計

  系統主要由PC和單片機系統組成,PC為普通計算機;單片機系統包括STC12C單片機、數字測溫電路、時鐘電路、液晶顯示電路、串口電路和鍵盤電路,如圖1所示。

001.jpg

  PC利用通信接口獲得現場溫度,處理后實時顯示;單片機系統通過測溫電路采集現場溫度并上傳給PC,同時利用液晶顯示電路和時鐘電路顯示溫度和時間;鍵盤電路用于設定溫度上限和時間。

  1.1 STC12C單片機

  STC12C單片機是單時鐘周期8051單片機,它具有高速、低功耗及超強抗干擾等優點,指令完全兼容8051單片機,但速度是后者的8~12倍;它內置60 KB的Flash程序存儲器,集成1 280 B數據存儲器,有2個16位定時器/計數器,內置2個全雙工異步串口(UART)用于串行通信[2-3]。圖2為STC12C單片機最小系統結構圖。 1.2 數字測溫電路/時鐘電路

002.jpg

003.jpg

  數字測溫電路選用DS18B20作為溫度傳感器,如圖3所示。DS18B20具有以下特點使其得到廣泛應用[4]:(1)它是數字溫度傳感器,直接輸出數字量;(2)它的測溫范圍廣, 為-55°C~+125°C,且分辨率和精度高,最高分辨率可達12 bit,精度為±0.5°C; (3)它是可編程芯片,可由程序直接讀出溫度值;(4)它是單總線接口,僅需一條輸入輸出線(DQ)就能與單片機進行接口通信。

004.jpg

  時鐘電路由數字時鐘芯片DS1302組成,如圖4所示。它是一種高性能、低功耗、采用三線接口的實時時鐘芯片,可輸出設定的時間和日期[5]。

  1.3 液晶顯示電路

  單片機系統的顯示器選用液晶顯示器LCD12864,它內置ST7920控制芯片,帶有中文字庫。LCD12864由DDRAM(顯示數據RAM)、CGROM(字型產生ROM)、CGRAM(自定義字型產生RAM)和GDRAM(繪圖RAM)等組成[6]。DDRAM和GDRAM是本系統所用到的模塊。

  DDRAM提供64×2個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當寫入顯示數據RAM時,可分別顯示CGROM與CGRAM的字型;此模塊可顯示HCGROM(半角)、CGRAM及CGROM 3種中文字型。液晶顯示器屏幕坐標(AC地址)與DDRAM地址的對應關系如表1所示。GDRAM提供64×32 B的空間,實際可控制128×64點陣的二維繪圖緩沖空間。GDRAM的二維地址與液晶屏幕坐標的對應關系如圖5所示。

010.jpg

005.jpg

  1.4 串口通信電路

006.jpg

  串口通信電路由MAX232及周邊元件組成,如圖6所示。 MAX232的功能是將PC的RS232串口信號電平(-10 V,+10 V)轉換為滿足單片機要求的TTL信號電平(0,+5 V)。它具有以下特性[7]:(1)符合所有RS232C技術標準;(2)只需單一電源供電(+5 V);(3)功耗低、典型供電電流為5 mA;(4)片載電荷泵,具有升壓、電壓極性反轉能力;(5)內置2個RS232驅動器/接收器。

2 系統軟件設計

  系統軟件由PC程序和單片機程序構成。PC程序采用VC++編程,主要由串口通信和界面處理兩個模塊組成,通過串口通信獲取單片機上傳的數據,將其轉換為十進制并進行顯示,同時繪制出曲線。單片機程序以C51編程,主要由數據采集、數據發送和顯示三部分組成,實現采集數據、上傳數據和顯示溫度的功能。

  2.1 PC程序設計

  2.1.1 串行通信程序

  串行通信程序主要由串口消息處理/數據接收函數(OnSerialComm())、串口參數設置函數(OnSerialSet())組成。

  (1)串口消息處理/數據接收函數負責響應數據緩沖區中有字符的消息,讀取緩沖區數據,轉換數據格式,引起重繪調用繪圖函數。數據緩沖區中有字符的消息由MSComm控件提供的方法產生[8]。OnSerialComm()調用了以下函數:

 ?、貵etCommEvent(),判斷接收緩沖區內是否有數據的消息函數;②GetInput(),讀緩沖區數據函數;②GetOneDimSize(),獲得有效數據長度函數;④GetElement(),轉換數據類型函數;⑤Format(),字符格式化函數;⑥Invalidate(),引起重繪調用繪圖函數;⑦UpdateData(),更新編輯框函數。

 ?。?)串口參數設置函數用于設置串口參數、打開串口、設置緩沖區參數。OnSerialSet()調用了以下函數:

 ?、賁etCommPort(),選擇串口號函數;②SetPortOpen(),打開串口函數;③SetSettings(),設置串口參數函數;④SetInputMode(),設置輸入模式函數;⑤SetRThreshold(),設置接收緩沖區接收多少個字符就能調用OnSerialComm()的函數;⑥SetInputLen(),設置當前接收區數據長度函數;⑦GetInput(),預讀緩沖區函數。

  2.1.2 繪圖程序

  繪圖程序由畫背景(坐標軸、坐標刻度、文字等)函數(DrawBkGrd())和實時繪圖函數(DrawCurve())組成。它們都調用了以下函數:

  (1)CreateFont(),設定字體函數;(2)SelectObject(),選定繪圖對象到設備描述表函數;(3)MoveTo(),移動到當前坐標函數;(4)Linto(),畫線函數;(5)TextOut(),輸出文字函數。

  2.2 單片機程序設計

  單片機程序主要由初始化函數(InitMcuSys())、讀取溫度/時鐘函數(ReadDigData())、串口通信函數(UartMcuData())組成。

  (1) InitMcuSys()調用以下函數:

 ?、賂imerInit(),設定T0/T1的工作方式、初始值以及串口工作方式和波特率參數函數;②Ds18b20Init()/Ds1302Init(),初始化溫度傳感器和時鐘芯片函數;③LcdBaseInit (),初始化液晶顯示器函數。

  (2) ReadDigData()調用以下函數:

 ?、賀ead18b20Data(),讀取溫度函數;②Read1302Data(),

  讀取時間函數;③DataToByte(),數據格式轉化函數。

  3 實驗及結論

  系統實驗結果如圖7和圖8所示。

  圖7和圖8是人為改變環境溫度后的實際運行結果。圖7設置為顯示1 000個溫度采樣點,采樣時間為1次/s,圖中比較完整地反映了這個時間段的溫度變化;圖8設置為顯示60個溫度采樣點,采樣時間也是1次/s,可見相對于PC,單片機反映溫度變化的時間非常短。實際運行表明,整個電路簡單實用,系統運行穩定、可靠;測試精度、串行通信、界面顯示等功能均達到了設計要求。

  參考文獻

  [1] 張毅剛,彭喜元.單片機原理與應用設計[M].北京:電子工業出版社,2010.

  [2] 王鑫,崔忠林,劉建. 基于STC12C5A16S2的溫度采集系統的設計[J]. 微型機與應用,2012,31(20):24-29.

  [3] 陳桂友.增強型8051單片機實用開發技術[M]. 北京:北京航空航天大學出版社,2010.

  [4] 李雪峰. 分布式溫度采集網絡在恒溫控制中的應用[J].微型機與應用,2013,32(15):69-75.

  [5] 黃明強.DS1302在單片機系統中的應用[J].保定師范??茖W校學報,2004,17(2):30-33.

  [6] 田開坤.基于LCD12864顯示器的數字示波器設計[J].電子制作,2011(5):30-37.

  [7] Max232 互動百科[EB/OL].(2013-02-28)[2014-03-29].http://www.baike.com/wiki/max232.

  [8] 王英杰,林怡青,彭美春,等.基于VC++6.0的PC機和單片機串口通信[J].電腦應用技術,2006(60):36-40.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久草免费资源视频 | 美女个护士一级毛片亚洲 | 朝鲜美女免费一级毛片 | 特级片视频| 免费看成人毛片 | 一级做a免费视频观看网站 一级做a爰 | 国产成人精品亚洲77美色 | 九九国产在线 | 久久视频6免费观看视频精品 | 国产免费一区不卡在线 | 色爽爽爽爽爽爽爽爽 | 亚洲精品区一区二区三区四 | 精品中文字幕久久久久久 | 久草在线视频中文 | 悟空影视大全免费影视 | 国产毛片一级国语版 | 亚洲欧美日韩在线一区 | 香港三澳门三日本三级 | 国产一区二区在线看 | 国产成人www免费人成看片 | 国产精品在线观看 | 亚洲国产精品线在线观看 | 欧美亚洲在线 | 亚洲精品美女在线观看 | 美国黑人特大一级毛片 | 国产成年人 | 亚洲精品人成网线在线 | 国产99视频精品草莓免视看 | 国产只有精品 | 欧美一级淫片免费播放口 | 91久久香蕉| 欧美毛片性视频区 | 亚洲精品国产男人的天堂 | 亚洲欧洲无码一区二区三区 | 亚洲欧美综合国产不卡 | 亚洲色欧美 | 午夜香港三级a三级三点 | 日本久久久久久久 | 亚洲精品99久久久久中文字幕 | 午夜专区 | 国产精品三级 |