




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本文基于串口通訊的原理,并以DF-110A型渦輪分子泵控制器為模型,介紹了使用CSerialPort類實(shí)現(xiàn)串口通訊的步驟,分析和討論了計算機(jī)與單片機(jī)進(jìn)行通訊的協(xié)議,且在VC+6.0的基礎(chǔ)上運(yùn)用多線程串口編程工具CSerialPort類實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的串口通訊編程。通過協(xié)議改變時,模型做很小的修改就能夠很方便的移植到不同的應(yīng)用系統(tǒng)中,具有很好的擴(kuò)展性。同時,模型中利用多線程技術(shù)設(shè)計了一個串口監(jiān)視的線程,能實(shí)時的監(jiān)視串口狀態(tài)和數(shù)據(jù),因此具有很好的實(shí)時性。在現(xiàn)代工業(yè)控制中,串口通信的應(yīng)用越來越廣泛。單片機(jī)和PC機(jī)之間的串口通信在進(jìn)行數(shù)據(jù)交換時經(jīng)常被使用。在串行通信時,要求通信雙方都采用一個標(biāo)
2、準(zhǔn)接口,RS-232C接口是單片機(jī)和PC機(jī)進(jìn)行通信最常用的一種接口。單片機(jī)與PC機(jī)進(jìn)行串口通信最簡單的三線制法,即接收數(shù)據(jù)針腳(RxD)與發(fā)送數(shù)據(jù)針腳(TxD)相連,彼此交叉,信號地(GND)對應(yīng)相接,如圖1所示。為了實(shí)現(xiàn)單片機(jī)和PC機(jī)之間的串口通信,采用VC+6.0來實(shí)現(xiàn)編程,VC+6.0是一種功能強(qiáng)大的面向?qū)ο蟮腤indows編程開發(fā)平臺。與以往DOS下串行通信不同,Windows不提倡應(yīng)用程序直接控制硬件,而是通過Windows系統(tǒng)提供的設(shè)備驅(qū)動程序來進(jìn)行數(shù)據(jù)傳遞。串口在Win32中是作為文件來處理的,而不是直接對端口進(jìn)行操作。本文采用多線程串口編程工具CSerialPort類來實(shí)現(xiàn)PC
3、機(jī)與單片機(jī)之間的通訊。圖1 RS-232端接口1、使用CSerialPort類實(shí)現(xiàn)串行通信CSerialPort類是由RemonSpekreijse提供的串口類,該類支持線連接(非MODEM)的串口編程操作。CSerialPort類是基于多線程的,其工作流程如下:首先設(shè)置好串口參數(shù),再開啟串口監(jiān)測工作線程,串口監(jiān)測工作線程監(jiān)測到串口接收到的數(shù)據(jù)、流控制事件或其他串口事件后;就以消息方式通知主程序,激發(fā)消息處理函數(shù)來進(jìn)行數(shù)據(jù)處理,這是對接收數(shù)據(jù)而言的;發(fā)送數(shù)據(jù)可直接向串口發(fā)送。具體實(shí)現(xiàn)如下:1.1、添加類文件(SerialPort.h和SerialPort.cpp)并定義類對象m_SerialP
4、ort,(若要操作多個串口,則要為每個串口均定義一個類對象)。1.2、串口的初始化串口的初始化代碼一般在OnInitDialog()函數(shù)中實(shí)現(xiàn),下面給出了主要代碼以及定義了一個布爾變量m_bSerialPortOpened用來標(biāo)志串口是否打開。if(m_SerialPort.InitPort(this,nPort,4800,D,8,1,EV_RXFLAG|EV_RXCHAR,512)m_SerialPort.StartMonitoring();/啟動監(jiān)測輔助線程m_bSerialPortOpened=TRUE;elseAfxMessageBox(AB800080解釋如下AB:包頭-同步碼80:
5、命令字00:參數(shù)長度,無參數(shù)時填零80:異或效驗(yàn)碼2.3、單片機(jī)上傳數(shù)據(jù)當(dāng)啟動分子泵時,隨著分子泵旋轉(zhuǎn)速度的增加,4位LED數(shù)碼顯示數(shù)字隨之增加,當(dāng)顯示穩(wěn)定在704HzAB810081constCStringCLOSEMOTOR=AB800080constCStringSET430Hz=AB820082constCStringSET704Hz=AB830083constCStringWORKSTATUS=AB840084constCStringBACKDATA=AB91078491/當(dāng)前運(yùn)動狀態(tài)constintStartMotor=0;constintCloseMotor=1;constint
6、Set430HZ=2;constintSet704HZ=3;constintWorkStatus=4;/啟動分子泵CStringstr;/臨時變量str=m_strSendData;m_strSendData=STARTMOTOR;StrtoHex(m_strSendData);CountDisplay(m_strSendData);m_strSendData=str;CurrentControlStatus(0);……………/關(guān)閉分子泵CStringstr;/臨時變量str=m_st
7、rSendData;m_strSendData=CLOSEMOTOR;StrtoHex(m_strSendData);CountDisplay(m_strSendData);m_strSendData=str;CurrentControlStatus(1);…………/用于顯示分子泵當(dāng)前工作狀態(tài)CStringstr;CStringstrTemp;switch(ControlStatus)……………ca
8、se1:str="分子泵已關(guān)閉"strTemp.Format("當(dāng)前工作狀態(tài):%s",str);m_ctrlControlStatus.SetWindowText(strTemp);/顯示當(dāng)前工作狀態(tài)break;……………UpdateData(FALSE);3、結(jié)論本文在PC機(jī)與單片機(jī)之間的串口通訊實(shí)例中,并非直接去編寫單片機(jī)(下位機(jī))程序,而是直接面向通信協(xié)議編寫PC機(jī)(上位機(jī))端運(yùn)行的智能軟件,從而實(shí)現(xiàn)與單片機(jī)之間的串口通訊,該方法有兩大優(yōu)點(diǎn):同一上層客戶端軟件可以與不同的單片機(jī)之
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報書主要觀點(diǎn)
- ??谡n題立項申報書
- 農(nóng)村磚房拆墻合同范本
- 【復(fù)習(xí)大串講】【中職專用】高二語文上學(xué)期期末期末綜合測試題(二)(職業(yè)模塊)(原卷版)
- 刀出售合同范本
- 吧臺設(shè)備采購合同范例
- 醫(yī)療耗材oem合同范本
- 住房房屋裝修合同范本
- 老舊農(nóng)機(jī)淘汰更新工作方案
- 賣雞銷售合同范例
- 員工入職登記表
- 2024年新疆維吾爾自治區(qū)招聘事業(yè)單位工作人員考試真題
- 2025年舞蹈培訓(xùn)機(jī)構(gòu)學(xué)員培訓(xùn)合同范本
- 2025年保險銷售業(yè)務(wù)人員崗位職業(yè)技能資格知識考試題(附答案)
- 兒科護(hù)理模擬考試題與參考答案
- 2025年南網(wǎng)數(shù)字集團(tuán)公開選聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 西門子S7-1200 PLC應(yīng)用技術(shù)項目教程(第3版) 考試復(fù)習(xí)題
- 注意缺陷與多動障礙疾病科普幼兒心理健康教育課件
- 人工智能在招聘行業(yè)的應(yīng)用
- 課件:《科學(xué)社會主義概論(第二版)》第一章
- 增強(qiáng)CT檢查流程
評論
0/150
提交評論