- 相關推薦
VB環境下實現PC機與單片機(8031)的串行通訊
摘要:一般的PC與單片機之間的串行通信,需要單片機采集數據,然后用異步串行通訊方式傳給PC機。本文著重用VB具有面向對象的設計方法,友好的用戶界面等優點,來探討在VB環境下來實現PC機與單片機(8031)之間串行通訊的方法。
關鍵詞:PC機 單片機 串行通訊 數據交換
1 引言
隨著計算機技術特別是單片機技術的發展,在各種單片機應用系統的設計中,如智能儀器儀表、各類手持設備、GPS接收器等,常常遇到計算機與外界的信息交換,即通訊。串行通信是指按照逐位順序傳遞數據的通信方式,由于僅需三根傳輸線傳送信息且通信距離相對較遠,所以在控制領域的現場監測、分布控制等場合有著重要的應用價值。鑒于PC機具有強大的監控和管理功能,單片機則具有快速以及容易控制的特點,在數據量不大、傳輸要求不高的情況下,一般都采用給PC機配置的RS-232標準串行接口COM1、COM2等相連接來實現應用系統與PC機之間的數據交換。本文論述了在VB環境下如何實現單片機與PC機之間實現串行通訊所需條件,PC機通訊程序利用VB提供的MsComm串行通訊控件來完成,單片機的程序用匯編語言來寫。
2 系統介紹
2.1 ADM101E芯片介紹
大多數PC機都有一個串行通訊端口RS-232用于兩臺計算機間進行串行通訊。RS - 232通訊接口是一種標準化的串行接口,是為遠程通訊連接終端設備DTE(Data Terminal Equipment)與數據通訊設備DCE (Data Communication Equipment)定義的物理接口。RS-232采用非平衡連接(又稱為單端線路),在這個線路中,信號電壓加到一條導線上,所有的信號電壓都使用一個公共的接地線。為了提高抗干擾能力和增加傳送距離,RS一232的每個腳線的信號和電平規定采用負邏輯電平,DC(-15一5V)規定為邏輯“1”,DC( 5— 15V)規定邏輯“0”, DC(-5一 5V規定為過渡區)。由于單片機的輸入、輸出電平為TTL電平,與 PC機RS-232標準串行接口的電氣規范不一致,因此要實現單片機與PC機之間的數據通讀,必須進行電平轉換。一般常用的電平轉換器件有MC1488、MC1489及MAX232等,但MC1488、MC1489需要±12V電源,這對于不具備±12V電源的單片機系統是非常不便的。而雙路RS-232收發器MAX232雖然只需要 5V電源,但對于僅用單路收發器的應用系統來說,又顯得有些余。本文采用一種體積小、功耗低、單 5V電源供電的單路RS-232收發器ADM101E芯片如圖1,該芯片的引角解釋如表1。