精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁通信論文

PC機與單片機之間串行通信的系統(tǒng)研究與實現(xiàn)

發(fā)布時間: 1

PC機與單片機之間串行通信的系統(tǒng)研究與實現(xiàn)
李建霞
摘要:本文介紹了采用CCll00收發(fā)器通過串口來實現(xiàn)PC機與單片機之間的雙工無線通信,并從軟、硬件兩個方面的設(shè)計。
關(guān)鍵詞:串行通信 單片機 PC機 CCll00收發(fā)器
引言
隨著計算機技術(shù)尤其是單片機技術(shù)的發(fā)展,人們已越來越多地采用單片機來對一些工業(yè)控制系統(tǒng)中如溫度、濕度等參數(shù)進行檢測和控制。PC機具有強大的監(jiān)控和管理功能,而單片機則具有快速及靈活的控制特點,通過PC機的RS 232串行接口與外部設(shè)備進行通信,是許多測控系統(tǒng)中常用的一種通信解決方案。因此如何實現(xiàn)PC機與單片機之間的通信具有非常重要的現(xiàn)實意義。針對一些遠距離控制或者是危險性比較高的數(shù)據(jù)采集和控制的應用情況,本文主要介紹一種用雙工方式實現(xiàn)PC機與單片機之間的串行通信。
1.單片機串行通信原理與實現(xiàn)方法
串行通信是指數(shù)據(jù)一位一位地按順序傳送。串行通信通過串行口來實現(xiàn)。在全雙工的串行通信中,僅需要一根發(fā)送線和一根接收線,串行通信可大大節(jié)省傳送線路的成本,但數(shù)據(jù)傳送速度慢。因此,串行通信適合于遠距離通信。
目前,在許多單片機應用系統(tǒng)中,上、下位機分工明確,作為下位機核心器件的單片機往往只負責數(shù)據(jù)的采集和通信,而上位機通常以基于圖形界面的Windows系統(tǒng)為操作平臺,為便于查詢和保存數(shù)據(jù),還需要數(shù)據(jù)庫的支持,如在測控系統(tǒng)中使用SQL Server數(shù)據(jù)庫。
1.1 設(shè)計方案
  為了通過串口實現(xiàn)PC機與單片機間的雙工通信,可有如下設(shè)計方案。
  (1)設(shè)計方案一:有線傳輸
  此方案是指PC機與單片機之間通過電纜線傳輸數(shù)據(jù)。有線傳輸?shù)膬?yōu)勢是性能比較穩(wěn)定,調(diào)試簡單,而不足之處在于它的應用范圍不夠廣、性能不夠好,而且傳輸距離受限,這樣就大大影響了系統(tǒng)的應用范圍。
  (2)設(shè)計方案二:無線傳輸
  此方案是指PC機與單片機通過無線信道傳輸數(shù)據(jù)。無線傳輸?shù)淖畲髢?yōu)勢是應用范圍廣,受距離約束較小,在一定范圍內(nèi)可以不用考慮距離問題,還可以應用在一些高溫、危險的場合。
  CCll00是一種低成本真正單片的UHF收發(fā)器,為低功耗無線應用而設(shè)計。CCll00構(gòu)建高性能射頻無線數(shù)據(jù)傳輸技術(shù)方案應用無線通訊模塊采用透明模式進行通訊,即所收即所發(fā),具有通訊距離遠、低功耗、接口靈活等優(yōu)點,使用者無需編碼和控制。CCll00通信距離(視距)大于300 m,而且能隔墻遙控,操作方便。
  綜合上述分析,本文介紹的是采用CCll00收發(fā)器通過串口來實現(xiàn)PC機與單片機之間的雙工無線通信。
  2硬件設(shè)計
  2.1 總體框圖
  此雙工無線通信系統(tǒng)的總體框圖如圖1所示。由于此系統(tǒng)可實現(xiàn)雙工通信,因此它可分為兩個通信過程:PC機(上位機)通過上位機程序界面發(fā)送數(shù)據(jù)給單片機,并送給液晶屏顯示相應的數(shù)據(jù);鍵盤輸入數(shù)據(jù)傳給單片機,接著發(fā)送給PC機,并在PC機上位機程序界面上顯示出來。
 

圖1 系統(tǒng)的總體框圖
  (1)電平轉(zhuǎn)換電路
  PC機的串行口采用的是標準的RS 232接口,單片機的串行口電平是TTL電平,而TTL電平特性與RS 232的電氣特性不匹配,因此為了使單片機的串行口能與RS 232接口通信,必須將串行口的輸入/輸出電平進行轉(zhuǎn)換。通常用MAX232芯片來完成電平轉(zhuǎn)換。
  (2)單片機部分
  單片機部分包括單片機、復位電路和時鐘電路。它將串口送過來的數(shù)據(jù)傳輸給CC1100收發(fā)器,或者將CCll00收發(fā)器傳送過來的數(shù)據(jù)通過串口給PC機。單片機的復位電路和時鐘電路是單片機工作所必需的。
  (3)無線收發(fā)部分
  無線收發(fā)部分由CC1100收發(fā)器組成,它將接收到的數(shù)據(jù)通過天線發(fā)射出去或從天線接收發(fā)送過來的數(shù)據(jù)。
  (4)液晶顯示模塊
  此處選用LCDl602液晶模塊,其內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號和日文假名等,每一個字符都有一個固定的代碼。
  (5)鍵盤輸入模塊
  在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。這樣,一個端口(如P1口)就可以構(gòu)成4×4=16個按鍵,比之直接將端口用于鍵盤多出了一倍。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是比較好的。矩陣式鍵盤的按鍵識別方法為行掃描法。此處選用4×4的矩陣鍵盤來輸入O~9的數(shù)字和a~f的字母。
  3 軟件設(shè)計
  本系統(tǒng)的軟件設(shè)計方面包括上位機程序和單片機程序的設(shè)計。上位機程序要實現(xiàn)的功能是在電腦上顯示一個操作界面,它可代替串口調(diào)試工具。
  3.1 上位機程序
  上位機程序可以用VB,VC++等語言來編程,但本方案采用比較方便的C#來編程實現(xiàn),其流程圖如圖3所示。
 
圖3 上位機程序流程圖
 

  3.2 單片機程序
單片機程序主要包括主程序、單片機發(fā)送子程序、單片機接收子程序、液晶顯示子程序、鍵盤輸入子程序五部分,均采用C語言進行模塊化編程。由于篇幅原因,下面只給出了單片機發(fā)送子程序和接收子程序流程圖。
 
單片機發(fā)送子程序和接收子程序流程圖
 
  4 測試結(jié)果
測試時,連接好硬件打開串行口COM1,并設(shè)波特率為9 600 b/s。單片機發(fā)送字符串“675”給PC機,其液晶顯示如圖6所示,相應的PC機界面顯示如圖7所示。PC機發(fā)送"69asd"給單片機,液晶屏上即可接收到“69asd",如圖8,圖9所示。測試結(jié)果說明:基于串行口的PC機與單片機之間的雙工無線通信是切實可行的,而且無線傳輸?shù)木嚯x至少可達到100 m。

 

測試結(jié)果
 5 結(jié)語
  采用CCll00收發(fā)器通過串口實現(xiàn)了PC機與單片機之間的雙工無線通信。此系統(tǒng)可應用到一些遠距離控制或者是危險性比較高的數(shù)據(jù)采集和控制的場合,用于采集溫度、濕度等參數(shù),還可擴展到無線傳感器網(wǎng)絡(luò)領(lǐng)域,實現(xiàn)諸如無線抄表、智能家居等系統(tǒng)。
參考文獻
[1] 洪家平。 WINDOWS環(huán)境下PC機與單片機的通信。北京:《微計算機信息》2005年第三期第70~73頁。
[2] 李朝青。PC機及單片機數(shù)據(jù)通信技術(shù)。北京:北京航空航天大學出版社。2002.12
[3] 姚志江等。一個8051MCU可綜合VHDL模型的完整實現(xiàn)。北京:計算機應用。2000(20)
[4]胡漢才。單片機原理及其接口技術(shù) 。清華大學出版社

 


轉(zhuǎn)載請注明來自:http://www.jinnzone.com/tongxinlw/14403.html