
VB6單片機(jī)如何和單片機(jī)建立聯(lián)系?
發(fā)布時間:2017-07-04 責(zé)任編輯:susan
【導(dǎo)讀】PC機(jī)與單片機(jī)之間的通信是通過串行口來實現(xiàn)的,本文所論述的系統(tǒng)是一個用于制藥廠倉庫的監(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ìn)行人工測量,然后對不符合溫度、濕度等要求的庫房進(jìn)行通風(fēng)、去濕、降溫等工作。這種人工方式效率低、誤差大,隨機(jī)事件難以預(yù)料,使庫房管理質(zhì)量得不到很好的保證。本文所論述的系統(tǒng)是一個用于制藥廠倉庫的監(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)行管理,并可用實時曲線和報表的形式查詢。下位機(jī)(MCS-51單片機(jī)。MCS-51單片機(jī)及其外圍設(shè)備我們稱之為庫機(jī))負(fù)責(zé)收集庫房中溫度、濕度、煙霧等信息并傳給上位機(jī)。此系統(tǒng)可使辦公人員坐在辦公室里對遠(yuǎn)在幾百米之位的庫房進(jìn)行監(jiān)控和管理,不但使辦公人員從繁重的體力勞動中解放出來,而且使庫房管理快速準(zhǔn)確,提高了企業(yè)的管理水平和辦公自動化水平。
2.系統(tǒng)構(gòu)成及工作原理
PC機(jī)里安裝著用VB6編寫的倉庫管理系統(tǒng),作為前臺操作系統(tǒng)。系統(tǒng)的數(shù)據(jù)庫格式采用VB數(shù)據(jù)庫格式,也稱為本地數(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ù)實時顯示并存放在本地硬盤中,以便查詢和打印。后臺系統(tǒng)是一個上位機(jī)與多臺下位機(jī)通信的通信系統(tǒng),多臺下位機(jī)不斷從倉庫采集溫度、濕度、煙霧等數(shù)據(jù)傳給上位機(jī),PC機(jī)進(jìn)行實時顯示,并可以設(shè)置溫度、濕度、煙霧、等參數(shù),單片機(jī)根據(jù)設(shè)定參數(shù)來控制倉庫里的去濕、降溫和報警系統(tǒng),從而使庫房達(dá)到預(yù)定的環(huán)境。如果庫房內(nèi)環(huán)境與設(shè)定環(huán)境不符,單片機(jī)就會喚醒降溫、去濕設(shè)備,把倉庫內(nèi)參數(shù)鎖定在預(yù)定的范圍之內(nèi),如發(fā)生火災(zāi)、被盜等意外事件,單片機(jī)就會驅(qū)動火災(zāi)、防盜報警系統(tǒng),并把信號傳給上位機(jī),使其在屏幕上作出顯示。
3.PC機(jī)與單片機(jī)之間的通信
3.1 通信方式的實現(xiàn)
PC機(jī)與單片機(jī)之間的通信是通過串行口來實現(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è)計思想
本系統(tǒng)由于是一臺上位機(jī)和多臺下位機(jī),所以要給下位機(jī)設(shè)置一個通信代碼,為簡單起見,取0~255之間的任意四個即可。當(dāng)PC機(jī)欲與某個單片機(jī)通信時,便向所有單片機(jī)發(fā)出通信代碼。單片機(jī)在接到代碼后與自己的代碼進(jìn)行核對,如果一致則向PC機(jī)發(fā)出回應(yīng),開始通信,其它的單片機(jī)繼續(xù)采集和傳輸數(shù)據(jù)。
3.3 上位機(jī)程序設(shè)計
VB6中有一個專門用來串行通信的控件---MSComm控件。MSComm控件最常用的屬性如下:
CommPort屬性:設(shè)置并返回通信端口號,指定PC機(jī)上用于通信的串口
SetTIng屬性:以字符串的形式設(shè)置并返回波特率,奇偶校驗,數(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ū)寫一個字符,用于發(fā)送數(shù)據(jù)
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運(yùn)行!氮矽科技發(fā)布集成驅(qū)動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內(nèi)阻、超低失真4PST模擬開關(guān)
- 一“芯”雙電!圣邦微電子發(fā)布雙輸出電源芯片,簡化AFE與音頻設(shè)計
- 一機(jī)適配萬端:金升陽推出1200W可編程電源,賦能高端裝備制造
技術(shù)文章更多>>
- 從“在中國”到“為全球”:艾邁斯歐司朗開啟2026本土創(chuàng)新新篇章
- 年薪最高470萬!OpenAI天價搶人揭秘:硅谷AI人才戰(zhàn)進(jìn)入“鈔能力”時代
- 顛覆傳統(tǒng)架構(gòu)!全球首創(chuàng)RISC-V通用與AI算力單芯片原生融合
- 告別工具碎片化:IAR平臺引領(lǐng)嵌入式開發(fā)進(jìn)入統(tǒng)一生態(tài)紀(jì)元
- 降本增效新路徑:海翔科技賦能二手Prevos與Selis刻蝕設(shè)備的高品質(zhì)復(fù)用
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
行程開關(guān)
修復(fù)設(shè)備
蓄電池
旋轉(zhuǎn)開關(guān)
血壓計
血氧儀
壓電蜂鳴器
壓接連接器
壓控振蕩器
壓力傳感器
壓力開關(guān)
壓敏電阻
揚(yáng)聲器
遙控開關(guān)
醫(yī)療電子
醫(yī)用成像
移動電源
音頻IC
音頻SoC
音頻變壓器
引線電感
語音控制
元件符號
元器件選型
云電視
云計算
云母電容
真空三極管
振蕩器
振蕩線圈



