PIC單片機與PC機異步串行通信的設計
單片機發(fā)送數據程序框圖
用RB5引腳作為發(fā)送引腳,單片機發(fā)送數據程序框圖如圖4所示。當有數據要從單片機發(fā)往PC機時,單片機調用發(fā)送子程序。在發(fā)送子程序中,首先設置發(fā)送計數器內容為8,然后發(fā)送起始位,起始位應持續(xù)104μs。因此要調用延時子程序,延時子程序執(zhí)行完后,RB5上的信號并未立刻變成第一位數據的值,這是因為還要執(zhí)行幾條指令,如右移TRS_R、置位等RB5上的信號才會變化。假設延時104μs,那么加上幾條指令的執(zhí)行時間,起始位就比104μs寬了。因此,延時子程序少于104μs,根據具體的程序定為97μs。然后,右移發(fā)送數據寄存器TRS_R,將其最低位即要發(fā)送的數據位移入C中,再根據C中的內容將RB5清零或置1,然后將發(fā)送計數器內容減1,并判斷其是否為0。若為1,則說明未發(fā)送完畢,繼續(xù)發(fā)送;否則,發(fā)送停止位。最后,退出發(fā)送子程序。
圖4 單片機發(fā)送數據程序框圖
VB6.0提供了串行通訊MSComm(電話盒)控件來為應用程序提供串行通信,它將串口設備當作一個目標封裝起來,容易操作,編程很方便,其良好的用戶界面、簡單方便的串行通信和實用性強的優(yōu)點,無需借用其他語言就可以開發(fā)出優(yōu)秀的通信軟件,因而PC機軟件采用VB6.0語言編寫。
MSComm控件的調出及其主要屬性如下。
(1)MSComm控件的調出
VB6.0的MSComm控件并不會主動出現在工具箱中,當需要它時,讓它出現在工具箱中的步驟如下:
①選擇菜單上的“工程”;
②在“工程”菜單中選擇“部件”;
③出現對話框后,在可勾選的項目中勾選Microsoft Comm Contro l6.0;
④按下“確定”按鈕,即可在工具箱中見到“電話盒”的圖標,就可以將此控件加載進行串行通信。
評論