中文在线中文资源,色鲁97精品国产亚洲AV高,亚洲欧美日韩在线一区,国产精品福利午夜在线观看

你的位置:首頁 > 電源管理 > 正文

VB6單片機如何和單片機建立聯系?

發布時間:2017-07-04 責任編輯:susan

【導讀】PC機與單片機之間的通信是通過串行口來實現的,本文所論述的系統是一個用于制藥廠倉庫的監控和管理系統,上位機(PC機)除負責對下位機(MCS—51單片機)進行監管和控制外,還用于采集下位機傳送的數據進行數據庫化管理。
 

 
1.基于VB6的PC機與多臺單片機通信的應用
 
在庫房管理系統中,傳統的方法是通過干濕度表、雙金屬式測量計等檢測器材進行人工測量,然后對不符合溫度、濕度等要求的庫房進行通風、去濕、降溫等工作。這種人工方式效率低、誤差大,隨機事件難以預料,使庫房管理質量得不到很好的保證。本文所論述的系統是一個用于制藥廠倉庫的監控和管理系統,上位機(PC機)除負責對下位機(MCS—51單片機)進行監管和控制外,還用于采集下位機傳送的數據進行數據庫化管理,另外,上位機還可以對庫房藥品入庫、出庫、有效期、交易方式等信息進行管理,并可用實時曲線和報表的形式查詢。下位機(MCS-51單片機。MCS-51單片機及其外圍設備我們稱之為庫機)負責收集庫房中溫度、濕度、煙霧等信息并傳給上位機。此系統可使辦公人員坐在辦公室里對遠在幾百米之位的庫房進行監控和管理,不但使辦公人員從繁重的體力勞動中解放出來,而且使庫房管理快速準確,提高了企業的管理水平和辦公自動化水平。
 
2.系統構成及工作原理
 
PC機里安裝著用VB6編寫的倉庫管理系統,作為前臺操作系統。系統的數據庫格式采用VB數據庫格式,也稱為本地數據庫,這類數據庫文件使用與 MicroSoft Access相同的格式,數據的存取利用VB6的ADO控件通過MicroSoft Jet (Joint Engineering Technology) 數據庫引擎,速度快工作效率高。此管理系統包括進庫藥品、進庫日期、出庫藥品、出庫日期、經手人等的查詢,以及藥品過期提示等。另外還把庫機傳送來的數據實時顯示并存放在本地硬盤中,以便查詢和打印。后臺系統是一個上位機與多臺下位機通信的通信系統,多臺下位機不斷從倉庫采集溫度、濕度、煙霧等數據傳給上位機,PC機進行實時顯示,并可以設置溫度、濕度、煙霧、等參數,單片機根據設定參數來控制倉庫里的去濕、降溫和報警系統,從而使庫房達到預定的環境。如果庫房內環境與設定環境不符,單片機就會喚醒降溫、去濕設備,把倉庫內參數鎖定在預定的范圍之內,如發生火災、被盜等意外事件,單片機就會驅動火災、防盜報警系統,并把信號傳給上位機,使其在屏幕上作出顯示。
 
3.PC機與單片機之間的通信

3.1 通信方式的實現
 
PC機與單片機之間的通信是通過串行口來實現的(如圖2)。由于單片機系統電平是TTL電平,與標注RS-232C不兼容,又考慮到通信距離,我們采用Maxim 公司生產的Max485芯片將TTL電平轉化為RS-485標準,然后再進行RS-485與RS-232之間的轉換,再與PC機的串口連接。這種轉換方式延長了通信的距離,最長可達1200米,提高了系統的可行性。
 
3.2 通信協議及程序設計思想
 
本系統由于是一臺上位機和多臺下位機,所以要給下位機設置一個通信代碼,為簡單起見,取0~255之間的任意四個即可。當PC機欲與某個單片機通信時,便向所有單片機發出通信代碼。單片機在接到代碼后與自己的代碼進行核對,如果一致則向PC機發出回應,開始通信,其它的單片機繼續采集和傳輸數據。
 
3.3 上位機程序設計
 
VB6中有一個專門用來串行通信的控件---MSComm控件。MSComm控件最常用的屬性如下:
 
CommPort屬性:設置并返回通信端口號,指定PC機上用于通信的串口
 
SetTIng屬性:以字符串的形式設置并返回波特率,奇偶校驗,數據位和停止位
 
PortOpen屬性:設置并返回通信端口的狀態,用于打開和關閉端口
 
Rthreshold 屬性:MSComm 控件設置CommEvent 屬性為ComEvReceive并產生OnComm之前設置并返回的要接收的字符數
 
Input屬性:從接收緩沖區返回和刪除字符,用于接收數據
 
InputLen 屬性:設置并返回Input屬性從接收緩沖區讀取的字符數
 
Output屬性:向緩沖區寫一個字符,用于發送數據
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

  • <center id="09kry"></center>

  • 主站蜘蛛池模板: 安丘市| 赤水市| 衡山县| 大丰市| 浮山县| 寿宁县| 武城县| 抚宁县| 天气| 闸北区| 上栗县| 姜堰市| 车险| 商河县| 西城区| 岑巩县| 宁明县| 高阳县| 广南县| 南京市| 南投县| 包头市| 无棣县| 府谷县| 公主岭市| 怀来县| 绥江县| 葫芦岛市| 二连浩特市| 海原县| 左云县| 霍山县| 西城区| 雅江县| 射洪县| 苗栗县| 高雄市| 塔城市| 乌兰察布市| 登封市| 横峰县|