
VB6單片機(jī)如何和單片機(jī)建立聯(lián)系?
發(fā)布時(shí)間:2017-07-04 責(zé)任編輯:susan
【導(dǎo)讀】PC機(jī)與單片機(jī)之間的通信是通過串行口來(lái)實(shí)現(xiàn)的,本文所論述的系統(tǒng)是一個(gè)用于制藥廠倉(cāng)庫(kù)的監(jiān)控和管理系統(tǒng),上位機(jī)(PC機(jī))除負(fù)責(zé)對(duì)下位機(jī)(MCS—51單片機(jī))進(jìn)行監(jiān)管和控制外,還用于采集下位機(jī)傳送的數(shù)據(jù)進(jìn)行數(shù)據(jù)庫(kù)化管理。

1.基于VB6的PC機(jī)與多臺(tái)單片機(jī)通信的應(yīng)用
在庫(kù)房管理系統(tǒng)中,傳統(tǒng)的方法是通過干濕度表、雙金屬式測(cè)量計(jì)等檢測(cè)器材進(jìn)行人工測(cè)量,然后對(duì)不符合溫度、濕度等要求的庫(kù)房進(jìn)行通風(fēng)、去濕、降溫等工作。這種人工方式效率低、誤差大,隨機(jī)事件難以預(yù)料,使庫(kù)房管理質(zhì)量得不到很好的保證。本文所論述的系統(tǒng)是一個(gè)用于制藥廠倉(cāng)庫(kù)的監(jiān)控和管理系統(tǒng),上位機(jī)(PC機(jī))除負(fù)責(zé)對(duì)下位機(jī)(MCS—51單片機(jī))進(jìn)行監(jiān)管和控制外,還用于采集下位機(jī)傳送的數(shù)據(jù)進(jìn)行數(shù)據(jù)庫(kù)化管理,另外,上位機(jī)還可以對(duì)庫(kù)房藥品入庫(kù)、出庫(kù)、有效期、交易方式等信息進(jìn)行管理,并可用實(shí)時(shí)曲線和報(bào)表的形式查詢。下位機(jī)(MCS-51單片機(jī)。MCS-51單片機(jī)及其外圍設(shè)備我們稱之為庫(kù)機(jī))負(fù)責(zé)收集庫(kù)房中溫度、濕度、煙霧等信息并傳給上位機(jī)。此系統(tǒng)可使辦公人員坐在辦公室里對(duì)遠(yuǎn)在幾百米之位的庫(kù)房進(jìn)行監(jiān)控和管理,不但使辦公人員從繁重的體力勞動(dòng)中解放出來(lái),而且使庫(kù)房管理快速準(zhǔn)確,提高了企業(yè)的管理水平和辦公自動(dòng)化水平。
2.系統(tǒng)構(gòu)成及工作原理
PC機(jī)里安裝著用VB6編寫的倉(cāng)庫(kù)管理系統(tǒng),作為前臺(tái)操作系統(tǒng)。系統(tǒng)的數(shù)據(jù)庫(kù)格式采用VB數(shù)據(jù)庫(kù)格式,也稱為本地?cái)?shù)據(jù)庫(kù),這類數(shù)據(jù)庫(kù)文件使用與 MicroSoft Access相同的格式,數(shù)據(jù)的存取利用VB6的ADO控件通過MicroSoft Jet (Joint Engineering Technology) 數(shù)據(jù)庫(kù)引擎,速度快工作效率高。此管理系統(tǒng)包括進(jìn)庫(kù)藥品、進(jìn)庫(kù)日期、出庫(kù)藥品、出庫(kù)日期、經(jīng)手人等的查詢,以及藥品過期提示等。另外還把庫(kù)機(jī)傳送來(lái)的數(shù)據(jù)實(shí)時(shí)顯示并存放在本地硬盤中,以便查詢和打印。后臺(tái)系統(tǒng)是一個(gè)上位機(jī)與多臺(tái)下位機(jī)通信的通信系統(tǒng),多臺(tái)下位機(jī)不斷從倉(cāng)庫(kù)采集溫度、濕度、煙霧等數(shù)據(jù)傳給上位機(jī),PC機(jī)進(jìn)行實(shí)時(shí)顯示,并可以設(shè)置溫度、濕度、煙霧、等參數(shù),單片機(jī)根據(jù)設(shè)定參數(shù)來(lái)控制倉(cāng)庫(kù)里的去濕、降溫和報(bào)警系統(tǒng),從而使庫(kù)房達(dá)到預(yù)定的環(huán)境。如果庫(kù)房?jī)?nèi)環(huán)境與設(shè)定環(huán)境不符,單片機(jī)就會(huì)喚醒降溫、去濕設(shè)備,把倉(cāng)庫(kù)內(nèi)參數(shù)鎖定在預(yù)定的范圍之內(nèi),如發(fā)生火災(zāi)、被盜等意外事件,單片機(jī)就會(huì)驅(qū)動(dòng)火災(zāi)、防盜報(bào)警系統(tǒng),并把信號(hào)傳給上位機(jī),使其在屏幕上作出顯示。
3.PC機(jī)與單片機(jī)之間的通信
3.1 通信方式的實(shí)現(xiàn)
PC機(jī)與單片機(jī)之間的通信是通過串行口來(lái)實(shí)現(xiàn)的(如圖2)。由于單片機(jī)系統(tǒng)電平是TTL電平,與標(biāo)注RS-232C不兼容,又考慮到通信距離,我們采用Maxim 公司生產(chǎn)的Max485芯片將TTL電平轉(zhuǎn)化為RS-485標(biāo)準(zhǔn),然后再進(jìn)行RS-485與RS-232之間的轉(zhuǎn)換,再與PC機(jī)的串口連接。這種轉(zhuǎn)換方式延長(zhǎng)了通信的距離,最長(zhǎng)可達(dá)1200米,提高了系統(tǒng)的可行性。
3.2 通信協(xié)議及程序設(shè)計(jì)思想
本系統(tǒng)由于是一臺(tái)上位機(jī)和多臺(tái)下位機(jī),所以要給下位機(jī)設(shè)置一個(gè)通信代碼,為簡(jiǎn)單起見,取0~255之間的任意四個(gè)即可。當(dāng)PC機(jī)欲與某個(gè)單片機(jī)通信時(shí),便向所有單片機(jī)發(fā)出通信代碼。單片機(jī)在接到代碼后與自己的代碼進(jìn)行核對(duì),如果一致則向PC機(jī)發(fā)出回應(yīng),開始通信,其它的單片機(jī)繼續(xù)采集和傳輸數(shù)據(jù)。
3.3 上位機(jī)程序設(shè)計(jì)
VB6中有一個(gè)專門用來(lái)串行通信的控件---MSComm控件。MSComm控件最常用的屬性如下:
CommPort屬性:設(shè)置并返回通信端口號(hào),指定PC機(jī)上用于通信的串口
SetTIng屬性:以字符串的形式設(shè)置并返回波特率,奇偶校驗(yàn),數(shù)據(jù)位和停止位
PortOpen屬性:設(shè)置并返回通信端口的狀態(tài),用于打開和關(guān)閉端口
Rthreshold 屬性:MSComm 控件設(shè)置CommEvent 屬性為ComEvReceive并產(chǎn)生OnComm之前設(shè)置并返回的要接收的字符數(shù)
Input屬性:從接收緩沖區(qū)返回和刪除字符,用于接收數(shù)據(jù)
InputLen 屬性:設(shè)置并返回Input屬性從接收緩沖區(qū)讀取的字符數(shù)
Output屬性:向緩沖區(qū)寫一個(gè)字符,用于發(fā)送數(shù)據(jù)
特別推薦
- 高精度低噪聲 or 大功率強(qiáng)驅(qū)動(dòng)??jī)x表放大器與功率放大器選型指南
- 高壓BMS:電池儲(chǔ)能系統(tǒng)的安全守護(hù)者與壽命延長(zhǎng)引擎
- 2025西部電博會(huì)啟幕在即,中文域名“西部電博會(huì).網(wǎng)址”正式上線
- IOTE 2025上海物聯(lián)網(wǎng)展圓滿收官!AIoT+5G生態(tài)引爆智慧未來(lái)
- 如何設(shè)計(jì)高性能CCM反激式轉(zhuǎn)換器?中等功率隔離應(yīng)用解析
- 攻克次諧波振蕩:CCM反激斜坡補(bǔ)償?shù)墓β史旨?jí)指南
- 羅姆助力英偉達(dá)800V HVDC重塑AI數(shù)據(jù)中心能源架構(gòu)
技術(shù)文章更多>>
- 亦真科技XR奇遇!2025西部電博會(huì)開啟VR密室/恐怖解密探險(xiǎn)之旅
- 高速電路穩(wěn)不穩(wěn)?關(guān)鍵藏在PCB疊層設(shè)計(jì)的“地層密碼”里
- 選型不再糾結(jié)!一文讀懂力芯微、TI、ADI升壓轉(zhuǎn)換器核心差異
- 曾懸賞百萬(wàn)求一敗的熱成像夜視儀,兩年后走下神壇了嗎?
- 硬核傳感精準(zhǔn)監(jiān)測(cè),漢威科技助力半導(dǎo)體產(chǎn)業(yè)氣體安全
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索