《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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()調用了以下函數:

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

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

  ①SetCommPort(),選擇串口號函數;②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()調用以下函數:

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

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

  ①Read18b20Data(),讀取溫度函數;②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].保定師范專科學校學報,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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
老妇喷水一区二区三区| 欧美日韩成人在线播放| 亚洲国产成人porn| 美日韩精品视频| 亚洲青涩在线| 日韩视频一区二区| 国产精品免费久久久久久| 久久精品视频一| 亚洲国产免费| 亚洲欧洲精品一区二区精品久久久| 在线视频欧美精品| 香蕉av777xxx色综合一区| 国产日韩精品一区| 久久激情综合网| 久久精品视频在线观看| 激情五月***国产精品| 久久久久.com| 久久久久久久久久久久久9999| 久久精品国产综合| 欧美一区三区二区在线观看| 影音先锋亚洲视频| 欧美激情综合在线| 亚洲一区二区高清视频| 欧美在线观看你懂的| 香蕉久久夜色精品| 欧美专区在线| 宅男精品视频| 亚洲一品av免费观看| 精品99一区二区| 禁久久精品乱码| 影院欧美亚洲| 最新中文字幕亚洲| 日韩亚洲视频在线| 一区二区三区在线观看视频| 精品成人在线观看| 亚洲激情视频网| 国产一区视频在线观看免费| 欧美精品三级| 欧美色一级片| 欧美mv日韩mv国产网站| 欧美亚洲系列| 一本久久a久久精品亚洲| 小黄鸭精品aⅴ导航网站入口| 性欧美大战久久久久久久久| 久久不射电影网| 亚洲美女视频在线免费观看| 欧美一区二区三区四区视频| 欧美在线视屏| 夜夜嗨一区二区三区| 亚洲欧美色一区| 国产精品99久久久久久人 | 国产一区91精品张津瑜| 在线观看国产一区二区| 一本一本a久久| 亚洲激情成人在线| 中文av一区特黄| 久久99伊人| 一区二区三区国产盗摄| 亚洲精品1234| 亚洲女同性videos| 一区二区不卡在线视频 午夜欧美不卡在 | 欧美mv日韩mv国产网站| 欧美色图首页| 一区免费观看视频| 在线一区二区日韩| 亚洲茄子视频| 欧美在线亚洲| 午夜免费日韩视频| 女生裸体视频一区二区三区| 国产精品久久久久久亚洲调教| 国产一区香蕉久久| 欧美午夜精品伦理| 欧美日韩亚洲在线| 欧美激情一区二区三区四区| 国产精品乱看| 亚洲经典在线| 欧美有码在线观看视频| 亚洲特色特黄| 欧美+亚洲+精品+三区| 国产精品无码永久免费888| 国产精品久久久久久av下载红粉| 欧美视频免费在线观看| 国内精品久久久久影院色| 99视频一区| 亚洲人成小说网站色在线| 亚洲欧洲一区二区三区久久| 香蕉久久夜色精品国产| 欧美片第一页| 欧美色欧美亚洲高清在线视频| 好吊色欧美一区二区三区视频| 一区二区三区在线观看视频| 亚洲一区二区三区视频| 亚洲精品在线三区| 久久这里有精品15一区二区三区| 久久久久成人精品免费播放动漫| 欧美日韩一区二区高清| 亚洲国产99精品国自产| 久久成人免费电影| 性欧美激情精品| 国产精品成人一区二区网站软件 | 国内精品久久久久久久影视蜜臀| 亚洲天天影视| 午夜视频一区二区| 久久大逼视频| 欧美中文字幕在线播放| 国产精品美女主播| 一区二区三区免费观看| 亚洲精品中文字| 免费久久99精品国产自在现线| 欧美午夜片在线免费观看| 亚洲精品免费在线观看| 亚洲天堂av在线免费| 一本色道久久综合亚洲91| 欧美福利视频在线| 国产精品yjizz| 99国内精品久久久久久久软件| 亚洲欧洲精品成人久久奇米网 | 欧美—级高清免费播放| 在线视频观看日韩| av成人国产| 一区二区三区不卡视频在线观看 | 亚洲午夜免费视频| 亚洲在线日韩| 久久久久一区| 国产一区二区久久久| 欧美一区二区三区啪啪| 久久精品国产77777蜜臀| 国产欧美一区二区三区另类精品 | 欧美激情导航| 欧美午夜精品久久久| 99亚洲一区二区| 亚洲香蕉网站| 国产精品久久久久久久久久ktv| 夜夜嗨av一区二区三区四季av | 欧美一区二视频| 久久视频在线视频| 精品动漫一区| 亚洲精选国产| 欧美视频手机在线| 亚洲免费在线视频| 亚洲欧美网站| 久久精品一区二区| 伊人夜夜躁av伊人久久| 亚洲啪啪91| 欧美日韩综合视频网址| 亚洲一区二区三区激情| 久久久91精品国产一区二区三区 | 亚洲欧美日韩综合| 国产午夜精品久久久久久免费视| 亚洲精品老司机| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美日韩精品免费观看视一区二区 | 国产精品色网| 久久精品国产一区二区三区| 欧美承认网站| 在线中文字幕一区| 久久久成人精品| 亚洲区中文字幕| 亚洲欧美国产视频| 黄色精品免费| 一区二区三区四区五区在线| 国产乱人伦精品一区二区| 亚洲激情午夜| 亚洲欧美美女| 国内视频一区| 亚洲色图在线视频| 国产日韩一级二级三级| 亚洲日本无吗高清不卡| 欧美亚男人的天堂| 久久精品国产精品亚洲精品| 欧美日韩成人激情| 欧美在线不卡| 欧美日韩国产综合视频在线观看| 亚洲制服欧美中文字幕中文字幕| 欧美jizz19性欧美| 午夜精品一区二区三区在线播放 | 亚洲精品色图| 久久久国产精品一区二区中文 | 国产精品网曝门| 亚洲精品影院| 国产视频一区在线观看一区免费| 日韩亚洲成人av在线| 另类尿喷潮videofree| 99精品热6080yy久久| 久久久久久尹人网香蕉| 日韩午夜在线视频| 久久人人爽国产| 亚洲午夜久久久| 欧美激情一区在线| 欧美一区二区| 国产精品久久二区二区| 亚洲人妖在线| 国产在线精品成人一区二区三区 | 欧美日韩美女在线观看| 欧美在线三区| 国产精品福利在线观看| 日韩视频一区| 激情综合在线| 久久不射电影网| 亚洲尤物在线视频观看|