新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)與PC機(jī)異步串行通信的設(shè)計(jì)

PIC單片機(jī)與PC機(jī)異步串行通信的設(shè)計(jì)

作者: 時(shí)間:2012-04-18 來(lái)源:網(wǎng)絡(luò) 收藏

發(fā)送數(shù)據(jù)程序框圖

用RB5引腳作為發(fā)送引腳,發(fā)送數(shù)據(jù)程序框圖如圖4所示。當(dāng)有數(shù)據(jù)要從發(fā)往機(jī)時(shí),單片機(jī)調(diào)用發(fā)送子程序。在發(fā)送子程序中,首先設(shè)置發(fā)送計(jì)數(shù)器內(nèi)容為8,然后發(fā)送起始位,起始位應(yīng)持續(xù)104μs。因此要調(diào)用延時(shí)子程序,延時(shí)子程序執(zhí)行完后,RB5上的信號(hào)并未立刻變成第一位數(shù)據(jù)的值,這是因?yàn)檫€要執(zhí)行幾條指令,如右移TRS_R、置位等RB5上的信號(hào)才會(huì)變化。假設(shè)延時(shí)104μs,那么加上幾條指令的執(zhí)行時(shí)間,起始位就比104μs寬了。因此,延時(shí)子程序少于104μs,根據(jù)具體的程序定為97μs。然后,右移發(fā)送數(shù)據(jù)寄存器TRS_R,將其最低位即要發(fā)送的數(shù)據(jù)位移入C中,再根據(jù)C中的內(nèi)容將RB5清零或置1,然后將發(fā)送計(jì)數(shù)器內(nèi)容減1,并判斷其是否為0。若為1,則說(shuō)明未發(fā)送完畢,繼續(xù)發(fā)送;否則,發(fā)送停止位。最后,退出發(fā)送子程序。

22.jpg
圖4 單片機(jī)發(fā)送數(shù)據(jù)程序框圖

機(jī)程序

VB6.0提供了通訊MSComm(電話盒)控件來(lái)為應(yīng)用程序提供,它將串口設(shè)備當(dāng)作一個(gè)目標(biāo)封裝起來(lái),容易操作,編程很方便,其良好的用戶界面、簡(jiǎn)單方便的和實(shí)用性強(qiáng)的優(yōu)點(diǎn),無(wú)需借用其他語(yǔ)言就可以開(kāi)發(fā)出優(yōu)秀的通信軟件,因而機(jī)軟件采用VB6.0語(yǔ)言編寫(xiě)。

MSComm控件的調(diào)出及其主要屬性如下。

(1)MSComm控件的調(diào)出

VB6.0的MSComm控件并不會(huì)主動(dòng)出現(xiàn)在工具箱中,當(dāng)需要它時(shí),讓它出現(xiàn)在工具箱中的步驟如下:

①選擇菜單上的“工程”;

②在“工程”菜單中選擇“部件”;

③出現(xiàn)對(duì)話框后,在可勾選的項(xiàng)目中勾選Microsoft Comm Contro l6.0;

④按下“確定”按鈕,即可在工具箱中見(jiàn)到“電話盒”的圖標(biāo),就可以將此控件加載進(jìn)行串行通信。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉