999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DELPHI的PC機和AT89C51單片機的串行通信實現

2011-08-30 06:11:14田淑娟韓琛曄
科技傳播 2011年2期
關鍵詞:單片機

劉 榮,田淑娟,燕 苗,韓琛曄

石家莊計算機職業學院,河北石家莊 050061

在工業生產實踐中,經常要對某些儀器儀表進行監測或是發送某些參數,串口編程就顯得相當重要。PC機以其高的性價比、較強的數據處理能力、較快處理速度、以及單片機體積小、低功耗、低成本、高性能、使用靈活的特點,利用PC機作為上位機,單片機作為下位機的主從工作方式在工業控制領域中被廣泛采用。

1 下位機設計

1.1 單片機與PC機的RS-232標準接口通信電路的設計

RS-232C是目前最常用的串行接口標準,RS-232C提供了單片機與單片機、單片機與PC機之間串行數據通信的標準接口。但RS一232C規定的邏輯電平與單片機的邏輯電平是不一致的。因此,在應用中必須把單片機的TTL電平和RS-232C電平進行相互轉換,這里選用專用電平轉換集成芯片MAX232來實現的。

1.2 MCS51單片機與PC機串行通信接口的硬件電路設計

用MAX232芯片實現PC機與AT89C51單片機串行通信的典型電路如圖1所示。圖中外接電解電容C1、C2、C3、C4用于電源電壓變換,可提高抗干擾能力,它們可取相同容量的電容,一般取1.0μF/16V。電容C5的作用是對+5V電源的噪聲干擾進行濾波,一般取0.1μF。選用兩組中的任意一組電平轉換電路實現串行通信,中選Tlin、Rlout分別與AT89C51的TXD、RXD相連,Tlout、Rlin分別與PC機中R232接口的RXD、TXD相連。這種發送與接收的對應關系不能接錯,否則將不能正常工作。

圖1 MAX232芯片實現PC機與AT89C51單片機串行通信的典型電路

1.3 MCS51單片機與PC機串口通信協議設計

1.3.1 通信方式選擇

通信方式上,采用異步方式,微處理器對PC機的通信采用串口中斷方式。

AT89C51有一個標準的串行口,有4種工作方式,其中方式1是標準的10位異步通信方式,1O位數據和PC機的標準串口相對應,由串口控制寄存器SCON設置狀態,設置SCON=0X50H。

1.3.2 89C51通信波特率設置

在串行通信中,一個重要的指標是波特率,它反映了串行通信的速率,也反映了對傳輸通道的要求。波特率越高,要求傳輸通道的頻帶越寬。由于異步通信雙方各自用自己的時鐘源,要保證捕捉到的信號正確,最好采用較高的時鐘。一般選擇時鐘頻率比波特率高16倍或64倍。如果時鐘頻率等于波特率,則頻率稍有偏差便會產生接收錯誤。這里選用l1.059MHz晶振。

89c51的串行通信的波特率由定時器T1的溢出率獲得,當串口工作于方式1時,波特率為:波特率=(2SMOD*TD)/32,其中SMOD為波特率加倍。取值為0或1。定時器工作于方式2時,波特率為 9 600bit/s,令 SMOD=0, THl=TL1=0Xfd。

傳送方式:PC機采用查詢方式接收數據,單片機采用中斷方式接收、發送;校驗方式:奇偶校驗。

1.4 下位機通信軟件的設計

單片機通信程序分為接收中斷處理程序、發送中斷處理程序和通信處理程序3部分,構成整個單片機的通信程序。

接收中斷處理程序主要負責接收微機發送到單片機接收緩沖區的數據,接收數據時,串行數據的接收受到串行控制器SCON中的允許接收位REN控制。當REN為1時,接收控制器開始工作,對接收數據進行采樣。當接收到規定的字符數之后,置接收中斷位RI為1,以表明接收緩沖區中有待處理的數據并請求通信處理程序對其進行處理。

發送中斷處理程序主要負責向微機發送數據,發送數據時,通信處理程序將需要發送的數據寫入單片機的發送緩沖區SBUF,啟動了發送工作,并將緩沖區數據逐一發送給微機。當發送完指定長度的數據后(發送緩沖區為空),發送中斷處理程序將發送中斷標志位TI置位為1,直到通信處理程序再一次發送數據。

只有在接收到上位機送來的一串數據,且接收完畢標志為“1”時,才能真正進行處理。首先對接收緩沖區SBUF中的內容進行校驗,完全無誤后再根據通信要求對緩沖區的內容進行相應處理,同時判斷是否還需將發送緩沖區SBUF中的數據發送到微機,最后退出通信處理程序,執行其它程序。當接收中斷程序再次接收到數據并將接收完標志置為“1”后,可再次進入通信處理程序進行相應的處理。

2 上位機設計

Borland公司推出的Delphi以其強大的功能并且友好的、有可視化用戶界面,特別適合Windows平臺下的圖形界面和用戶程序的編制從而得到廣大用戶的認可;同時采用第三方控件Spcomm的屬性和方法及事件來實現系統監測控制和信息處理是工業企業通常采用的實現方法。

2.1 Spcomm控件的屬性、方法和事件

1)屬性

CommName:計算機串口端口號的名字,COM1、COM2;Parity:校驗位的設置。BaudRate:串口通信波特率;ByteSize:一個字節中,收發數據數據位數;StopBits:一個字節中,使用停止位的位數;SendDataEmpty:發送緩沖區是否為空。

2)方法

StartComm方法:用來打開通信串口,開始通信。

StopComm方法:用來停止通信串行口的所有進程,關閉串口。

WriteCommData(pDataToWriteChar;dwSizeofDataToWrite:Word)方法是帶有布爾型返回值的函數,其中pDataToWrite是要寫入串行口的字符串,DwSizeaofDataToWrite是要寫入的字符串的長度。該函數通過一個寫線程向串行口輸出緩沖區發送數據。

3)事件

ata(Buffer:inter;BufferLength:Word),其中Buffer是指向輸入緩沖區的指針。BufferLength是從緩沖區收到的數據長度。當輸入緩沖區收到數據時,該事件被觸發。當輸入緩存有數據時將觸發該事件,對從串口收到的數據進行處理。

2.2 Spcomm控件串口通信的實現

Spcomm串口通信的實現

實現PC機與單片機之間的數據發送及接收需要以下步驟:

1)串口初始化,通過設置如下屬性完成。即分別設置屬性 Comm1.CommName:=com1;Comm1.BaudRate:=9600;Comm1.Parity:=None;Comm1.ByteSize:=8; Comm1.StopBits:=1; Comm1.StartComm。

要實現PC機與單片機之間的通信,首先要建立它們之間的握手信號,握手信號為約定的特定字符, 當PC發出一幀數據后,如果在接收事件能收到單片機返回的規定字符來判斷表示握手成功,系統通信正常。

2)發送數據。在編寫基于串口的監測控制程序時,需要由PC機向單片機發送控制指令從而控制下位機的行為,同時向下位機發送相應數據,調用相應的發送程序。

3)接收數據。在控制中,常常需要實時接收下位機傳上來的數據,但用SPCOMM時會出現必需緩存滿或者每幀之間的間隔大于ReadIntervalTimeout時才會觸發OnReceivedata,ReadIntervalTimeout屬性默認值是100ms,即在100ms內,屬于同一幀數據。編寫串口的監控程序時,通常需要由下位機向PC機發送數據以使PC機了解系統的測試數據或下位機的運行狀態,并進而控制下位機的行為。

4)關閉串口。在系統開發中,應注意在不使用串口時應及時關閉串口,釋放系統資源,否則可能會影響系統的其它應用。即調用comml.StopComm。

3 結論

在采用以PC機為控制中心的數據采集自動化控制系統中,通常需要單片機采集數據,然后用異步串行通訊方式傳給PC機,在PC機上進行數據處理再傳送到單片機,是很有應用價值的。

[1]求是科技.elphi串口通信工程開發實例導航[M].人民郵電出版社,2003.

[2]張曉鄉.89C51單片機實用教程[M].電子工業出版社,2010.

[3]黃軍,熊勇,劉艷,劉曉梅.delphi串口通信編程[M].人民郵電出版社,2010.

[4]李朝青.PC機及單片機通訊技術[M].北京航空航天大學出版社,2000.

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲国产成人麻豆精品| 91在线播放免费不卡无毒| 男女性午夜福利网站| 午夜限制老子影院888| 麻豆AV网站免费进入| 色综合天天综合中文网| 青草娱乐极品免费视频| 国产欧美专区在线观看| 国产成人精品一区二区免费看京| 波多野结衣一区二区三区四区| 亚洲一区二区无码视频| 国产精品福利一区二区久久| 色综合天天娱乐综合网| 国产喷水视频| 少妇精品网站| 亚洲男人的天堂久久香蕉| 亚洲无码四虎黄色网站| 欧美成人精品一级在线观看| 国产经典三级在线| 欧美不卡二区| 99久久精品国产综合婷婷| 欧美成人免费| 97国产精品视频人人做人人爱| 高清码无在线看| 国产成人区在线观看视频| 亚洲国产中文欧美在线人成大黄瓜| 亚洲综合二区| 在线综合亚洲欧美网站| 欧美中文一区| 欧美福利在线观看| 亚洲综合一区国产精品| 国产青榴视频在线观看网站| 国产成人夜色91| 亚洲无码A视频在线| 91久久性奴调教国产免费| 国产一级在线观看www色| 久久国产成人精品国产成人亚洲| 免费高清a毛片| 亚洲天堂色色人体| 成人精品视频一区二区在线| 91麻豆国产视频| 国产成人综合久久| 精品欧美一区二区三区久久久| 91精品国产丝袜| 丰满少妇αⅴ无码区| 亚洲欧美综合另类图片小说区| 国产精品美女自慰喷水| 高清码无在线看| 亚洲男女天堂| 爽爽影院十八禁在线观看| 中文字幕波多野不卡一区| 欧美精品成人| 国产天天色| 大学生久久香蕉国产线观看| 乱人伦视频中文字幕在线| YW尤物AV无码国产在线观看| 麻豆a级片| 欧美成在线视频| 欧美人与性动交a欧美精品| 国产无遮挡猛进猛出免费软件| 青青青国产视频手机| 久久精品无码国产一区二区三区| 久久国产精品夜色| 国产理论精品| AV片亚洲国产男人的天堂| 亚洲无码精品在线播放| 久久精品这里只有国产中文精品| 99精品欧美一区| 精品三级网站| 欧美A级V片在线观看| 国产一区二区精品高清在线观看| 中文字幕精品一区二区三区视频| 99视频免费观看| 亚洲欧美日韩中文字幕在线一区| 日韩国产亚洲一区二区在线观看| 奇米精品一区二区三区在线观看| 亚洲黄网在线| 亚洲人成网18禁| 久久天天躁夜夜躁狠狠| 在线视频亚洲色图| 久青草免费视频| 国产麻豆精品在线观看|