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

1.基于VB6的PC機(jī)與多臺單片機(jī)通信的應(yīng)用
在庫房管理系統(tǒng)中,傳統(tǒng)的方法是通過干濕度表、雙金屬式測量計(jì)等檢測器材進(jìn)行人工測量,然后對不符合溫度、濕度等要求的庫房進(jìn)行通風(fēng)、去濕、降溫等工作。這種人工方式效率低、誤差大,隨機(jī)事件難以預(yù)料,使庫房管理質(zhì)量得不到很好的保證。本文所論述的系統(tǒng)是一個(gè)用于制藥廠倉庫的監(jiān)控和管理系統(tǒng),上位機(jī)(PC機(jī))除負(fù)責(zé)對下位機(jī)(MCS—51單片機(jī))進(jìn)行監(jiān)管和控制外,還用于采集下位機(jī)傳送的數(shù)據(jù)進(jìn)行數(shù)據(jù)庫化管理,另外,上位機(jī)還可以對庫房藥品入庫、出庫、有效期、交易方式等信息進(jìn)行管理,并可用實(shí)時(shí)曲線和報(bào)表的形式查詢。下位機(jī)(MCS-51單片機(jī)。MCS-51單片機(jī)及其外圍設(shè)備我們稱之為庫機(jī))負(fù)責(zé)收集庫房中溫度、濕度、煙霧等信息并傳給上位機(jī)。此系統(tǒng)可使辦公人員坐在辦公室里對遠(yuǎn)在幾百米之位的庫房進(jìn)行監(jiān)控和管理,不但使辦公人員從繁重的體力勞動(dòng)中解放出來,而且使庫房管理快速準(zhǔn)確,提高了企業(yè)的管理水平和辦公自動(dòng)化水平。
2.系統(tǒng)構(gòu)成及工作原理
PC機(jī)里安裝著用VB6編寫的倉庫管理系統(tǒng),作為前臺操作系統(tǒng)。系統(tǒng)的數(shù)據(jù)庫格式采用VB數(shù)據(jù)庫格式,也稱為本地?cái)?shù)據(jù)庫,這類數(shù)據(jù)庫文件使用與 MicroSoft Access相同的格式,數(shù)據(jù)的存取利用VB6的ADO控件通過MicroSoft Jet (Joint Engineering Technology) 數(shù)據(jù)庫引擎,速度快工作效率高。此管理系統(tǒng)包括進(jìn)庫藥品、進(jìn)庫日期、出庫藥品、出庫日期、經(jīng)手人等的查詢,以及藥品過期提示等。另外還把庫機(jī)傳送來的數(shù)據(jù)實(shí)時(shí)顯示并存放在本地硬盤中,以便查詢和打印。后臺系統(tǒng)是一個(gè)上位機(jī)與多臺下位機(jī)通信的通信系統(tǒng),多臺下位機(jī)不斷從倉庫采集溫度、濕度、煙霧等數(shù)據(jù)傳給上位機(jī),PC機(jī)進(jìn)行實(shí)時(shí)顯示,并可以設(shè)置溫度、濕度、煙霧、等參數(shù),單片機(jī)根據(jù)設(shè)定參數(shù)來控制倉庫里的去濕、降溫和報(bào)警系統(tǒng),從而使庫房達(dá)到預(yù)定的環(huán)境。如果庫房內(nèi)環(huán)境與設(shè)定環(huán)境不符,單片機(jī)就會(huì)喚醒降溫、去濕設(shè)備,把倉庫內(nèi)參數(shù)鎖定在預(yù)定的范圍之內(nèi),如發(fā)生火災(zāi)、被盜等意外事件,單片機(jī)就會(huì)驅(qū)動(dòng)火災(zāi)、防盜報(bào)警系統(tǒng),并把信號傳給上位機(jī),使其在屏幕上作出顯示。
3.PC機(jī)與單片機(jī)之間的通信
3.1 通信方式的實(shí)現(xiàn)
PC機(jī)與單片機(jī)之間的通信是通過串行口來實(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)換方式延長了通信的距離,最長可達(dá)1200米,提高了系統(tǒng)的可行性。
3.2 通信協(xié)議及程序設(shè)計(jì)思想
本系統(tǒng)由于是一臺上位機(jī)和多臺下位機(jī),所以要給下位機(jī)設(shè)置一個(gè)通信代碼,為簡單起見,取0~255之間的任意四個(gè)即可。當(dāng)PC機(jī)欲與某個(gè)單片機(jī)通信時(shí),便向所有單片機(jī)發(fā)出通信代碼。單片機(jī)在接到代碼后與自己的代碼進(jìn)行核對,如果一致則向PC機(jī)發(fā)出回應(yīng),開始通信,其它的單片機(jī)繼續(xù)采集和傳輸數(shù)據(jù)。
3.3 上位機(jī)程序設(shè)計(jì)
VB6中有一個(gè)專門用來串行通信的控件---MSComm控件。MSComm控件最常用的屬性如下:
CommPort屬性:設(shè)置并返回通信端口號,指定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ù)
特別推薦
- 從失效案例逆推:獨(dú)石電容壽命計(jì)算與選型避坑指南
- 性能與成本的平衡:獨(dú)石電容原廠品牌深度對比
- 精密信號鏈技術(shù)解析:從原理到高精度系統(tǒng)設(shè)計(jì)
- 儀表放大器如何成為精密測量的幕后英雄?
- 儀表放大器如何驅(qū)動(dòng)物聯(lián)網(wǎng)終端智能感知?
- 連偶科技攜“中國IP+AIGC+空間計(jì)算”三大黑科技首秀西部電博會(huì)!
- 優(yōu)化儀表放大器的設(shè)計(jì)提升復(fù)雜電磁環(huán)境中的抗干擾能力
技術(shù)文章更多>>
- 2025西部電博會(huì)啟幕在即,中文域名“西部電博會(huì).網(wǎng)址”正式上線
- 高壓BMS:電池儲(chǔ)能系統(tǒng)的安全守護(hù)者與壽命延長引擎
- 高精度低噪聲 or 大功率強(qiáng)驅(qū)動(dòng)?儀表放大器與功率放大器選型指南
- 戰(zhàn)略布局再進(jìn)一步:意法半導(dǎo)體2025股東大會(huì)關(guān)鍵決議全票通過
- μV級精度保衛(wèi)戰(zhàn):信號鏈電源噪聲抑制架構(gòu)全解,拒絕LSB丟失!
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
電路圖符號
電路圖知識
電腦OA
電腦電源
電腦自動(dòng)斷電
電能表接線
電容觸控屏
電容器
電容器單位
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器
電源風(fēng)扇
電源管理
電源管理IC
電源連接器
電源濾波器
電源模塊