基于vb的pc機與單片機的串口通信設(shè)計_第1頁
基于vb的pc機與單片機的串口通信設(shè)計_第2頁
基于vb的pc機與單片機的串口通信設(shè)計_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于vb的pc機與單片機的串口通信設(shè)計

0at29c51溫度電路使用pc系統(tǒng)的同步通信基礎(chǔ)設(shè)施可以實現(xiàn)序列通信。適配器的核心元件是可編程的AT89C51芯片,它使PC有能力與其他具有RS-232標準的接口的計算機或設(shè)備進行通信,而AT89C51單片機本身具有一個全雙工的串行口,因此只要配上電平轉(zhuǎn)換電路就可以和RS-232接口組成一個簡單的串行通道了。通過由傳感器測量出來的數(shù)值,單片機采集并數(shù)據(jù)處理后,通過串行口發(fā)送給PC機1機與分子機的串行通信本設(shè)計采用MAX232接口芯片來完成PC機與單片機的串行通信。硬件連接時,可從MAX232中的2路發(fā)送器和接收器中任選一路,只要注意發(fā)送與接收的引腳對應(yīng)關(guān)系即可2軟件方案的設(shè)計2.1直接把接口口如果串口打開,先關(guān)閉串口,再換端口號,然后打開串口;如果串口已關(guān)閉,可以直接選擇端口號,再打開串口。其中可以添加串口出錯的處理。比如說COM3已被占用,則系統(tǒng)會提示你“串口不存在或被占用”。上位機工作流程圖,如圖3所示。(1)字符串初始化(2)建立圖像坐標系本設(shè)計中,為了便于圖形的觀察,在Pictutr1上建立坐標系,當打開VB數(shù)據(jù)采集系統(tǒng)時,在Form_Load下調(diào)用ScaleSys,以實現(xiàn)坐標系的形成。(3)數(shù)據(jù)接收數(shù)據(jù)接收開始,根據(jù)串口通信的協(xié)議,下位機發(fā)送過來的數(shù)據(jù)顯示在Text1.Text文本框中。其接收代碼如下:(4)數(shù)據(jù)存儲設(shè)備在完成數(shù)據(jù)的接收后,對數(shù)據(jù)進行保存,點擊“保存”按鈕即,可把數(shù)據(jù)存于G盤的a.txt文檔中,如圖4所示。數(shù)據(jù)的存儲代碼如下:(5)接收數(shù)據(jù)是接收數(shù)據(jù)是曲線的形式在存儲了單片機發(fā)送過來的數(shù)據(jù)后,為了能更形象、更清楚地表達接收的數(shù)據(jù),把它以曲線形式表現(xiàn)出來。打開數(shù)據(jù)的存儲文件a.txt,從中按順序一個一個地讀出,以采集到的數(shù)據(jù)值為Y軸,以采集到的數(shù)據(jù)的個數(shù)為X軸,把數(shù)據(jù)繪于圖上,如圖5所示。2.2片機晶振控制首先,先對串口初始化:1)確定T1的工作方式。T1是編程TMOD寄存器的高4位,選擇方式2。2)計算T1的初值。如采用12MHz的晶振,單片機有可能收不到數(shù)據(jù)或接收到的數(shù)據(jù)是亂碼,所以我采用11.0592MHz的晶振。3)啟動定時器T1(編程TCON中的TR1位)。4)確定串行口控制(編程SCON寄存器)。其中SCON是個8位特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標志。SM2=1時,可以利用收到的RB8來控制是否激活RI,當SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進入SBUF,并激活RI。串口初始化代碼如下:2.3再用軟件的應(yīng)用下位機的數(shù)據(jù)接收采用中斷方式。當單片機收到數(shù)據(jù)時,RI自動置1,單片機從SBUF中讀取數(shù)據(jù)完畢,再用軟件清零。其中我用了個接收標志位flag來判斷接收是否完成,如果flag=1,則表示接收完成,把接收到的數(shù)據(jù)送到P0口,在這里L(fēng)ED顯示的不是接收到的數(shù)據(jù),而是用它來標識一下單片機是否收到數(shù)據(jù),如果收到數(shù)據(jù),則數(shù)碼管發(fā)生變化,如數(shù)碼管無變化,則說明單片機沒收到數(shù)據(jù),接收程序如下所示。2.4ti控制器:把用戶打造成城市破局,把sduf-發(fā)送當下位機接收到數(shù)據(jù)時,標志位flag置1,進入發(fā)送模塊,關(guān)閉串口中斷開關(guān),標志位清零,然后把單片機收到的數(shù)據(jù)送到SBUF(發(fā)送),等待數(shù)據(jù)發(fā)送完畢,TI自動置1,跳出while(!T1)循環(huán)語句,再用軟件將TI清零,最后打開串口中斷開關(guān)。下位機流程圖如圖6和7所示。3調(diào)試和模擬3.1roteus仿真根據(jù)串口通信的協(xié)議,利用MAX232芯片,完成單片機與PC機間的串口通信。在Proteus仿真過程中,需要用到AT89C51、COMPIM等。連接好電路圖后放在Proteus軟件中進行仿真,當單片機采集到數(shù)據(jù)時通過一系列的轉(zhuǎn)換最終送到上位機進行數(shù)據(jù)顯示,從上位機即可得到下位機采集到的數(shù)據(jù),從而完成上位機與下位機的通信3.2vb軟件的模擬VB界面布局如圖9所示。3.3分氣接收數(shù)據(jù)用VB完成的串口通信設(shè)計即可以把數(shù)據(jù)傳輸給單片機,也可以從單片機接收數(shù)據(jù)。建立一對虛擬串口,如COM1與COM3,可以通過串口的選擇和波特率的匹配,完成單片機與PC機間的串口通信及數(shù)據(jù)傳輸3.4at29c51溫度設(shè)計用VB完成的串口通信設(shè)計Proteus仿真。首先,在Proteus中打開已經(jīng)設(shè)計好的硬件電路圖,然后在AT89C51單片機中導(dǎo)入在Keil環(huán)境下已編好的串口通信程序,其次選擇PC口的串口號,并定好通信的波特率,奇偶校驗位,數(shù)據(jù)位,有無停止位,如“9600,N,8,1”,最后打開已經(jīng)設(shè)計好的串口通信,發(fā)送數(shù)據(jù)。仿真結(jié)果如圖11所示。4密度非易失存儲/存儲本設(shè)計主要講述了AT89C51單片機與PC機的串行通信的實現(xiàn)的設(shè)計,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀寄存器的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,它的使用前景會是相當廣泛與受歡迎在進行串口

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論