• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Proteus和VB6.0聯(lián)合仿真在單片機教學(xué)中的應(yīng)用

      2020-04-16 05:10:20張安東林開司
      關(guān)鍵詞:數(shù)碼管上位串口

      張安東,林開司,張 露

      (銅陵職業(yè)技術(shù)學(xué)院,安徽 銅陵244000)

      “單片機應(yīng)用技術(shù)”課程是應(yīng)用電子技術(shù)、電子信息工程技術(shù)等相關(guān)專業(yè)的核心課程,幾乎所有高校電子信息類專業(yè)都開設(shè)了該課程。因為“單片機”廣泛應(yīng)用于各生產(chǎn)、生活領(lǐng)域,如工業(yè)生產(chǎn)、家用電氣、消費電子等等。正由于“單片機”在應(yīng)用電子技術(shù)、電子信息工程技術(shù)等專業(yè)中的核心地位以及它的實踐性,很多學(xué)校在開設(shè)“單片機應(yīng)用技術(shù)”課程后又開設(shè)了一門后續(xù)課程,叫“單片機課程設(shè)計”。這是一門集單片機、電子技術(shù)、電子測量等綜合性的課程,作者所在的學(xué)校就開設(shè)了該課程。

      作者所在的學(xué)校“單片機課程設(shè)計”這門課程采用項目教學(xué)法。系統(tǒng)設(shè)計中的硬件部分可以通過在萬能板上焊接或者制作印制電路板(PCB板)等獲得真實硬件,在萬能板上焊接電路所耗費的課時較多,受課時數(shù)的限制不能所有的項目都采取此種方法。制作PCB板的設(shè)備一般高校都不具備,如果代工生產(chǎn)一般要批量化,很難針對每個同學(xué)都能定制他們自己設(shè)計的PCB,因為受教學(xué)成本的限制。所以采用Proteus軟件進行硬件仿真即可達到了教學(xué)效果,又能克服上述困難。

      串口通信是單片機的重要內(nèi)容,教學(xué)內(nèi)容一般包括單片機間的通信,單片機與上位機的通信。單片機與上位機通信的教學(xué)中,上位機一般采用串口調(diào)試助手,該軟件是通用的上位機串口通信軟件。在實際的工程應(yīng)用中,針對不同應(yīng)用場景,上位機與單片機間的通信信息,串口調(diào)試助手不能全部反映,此時必須定制上位機通信軟件。在某些情況下,要求上位機對單片機采集的各種信息進行遠程實時監(jiān)控,此時也需要上位機通信軟件。VB6.0是基于對象的程序設(shè)計語言,主要開發(fā)基于Windows的應(yīng)用程序,應(yīng)用十分廣泛,是一個成熟穩(wěn)定的開發(fā)工具,使用VB6.0作為上位機軟件開發(fā)工具是個很好的選擇。

      對于一些理論知識較扎實、實踐能力較強的學(xué)生設(shè)計的教學(xué)項目要體現(xiàn)一定的難度,針對串口通信,設(shè)計的項目包括單片機的軟硬件設(shè)計,還包括上位機通信軟件的設(shè)計。設(shè)計的項目更貼近工程實踐,使得學(xué)生對單片機于上位機通信的理解更深刻,且進一步理解單片機工程開發(fā)的步驟與提高解決實際問題的能力。下面以具體任務(wù)闡述Proteus和VB6.0聯(lián)合仿真在單片機課程設(shè)計教學(xué)中的應(yīng)用。

      一、教學(xué)任務(wù)與要求

      設(shè)計一個對水塔水位進行檢測與控制的系統(tǒng),如圖1所示,在水塔不同高度安裝3根金屬棒,感知水位變化。其中,B棒處于下限水位,C棒處于水位上限水位,A棒接地,B、C通過電阻接5V電源。同時該系統(tǒng)通過串口與上位機通信,上位機軟件能實時顯示水位高度。

      圖1 水位控制示意圖

      二、任務(wù)分析與系統(tǒng)總體設(shè)計

      教師根據(jù)任務(wù)要求分析如何進行系統(tǒng)設(shè)計,首先系統(tǒng)包括單片機控制部分和上位機軟件部分,這里的系統(tǒng)設(shè)計主要是單片機硬件系統(tǒng)設(shè)計。系統(tǒng)采用51單片機為主控芯片,系統(tǒng)包括傳感器水位檢測電路,由于是采用仿真,所以使用撥碼開關(guān)模擬液位傳感器檢測水位高度,模擬檢查值通過LED數(shù)碼管顯示,所以系統(tǒng)還包括數(shù)碼管顯示電路;系統(tǒng)有啟動和停止電機加水及單片機與上位機通信的功能,所以系統(tǒng)還包括繼電器驅(qū)動和電機控制電路及串口通信電路。為了對上下水位和電機啟停有指示還包括LED指示電路。系統(tǒng)框圖如圖2所示。

      圖2 系統(tǒng)框圖

      教學(xué)過程中,教師提供設(shè)計方案,具體實現(xiàn)電路由學(xué)生自己根據(jù)自身的知識與經(jīng)驗自行設(shè)計。

      三、系統(tǒng)硬件設(shè)計

      系統(tǒng)硬件包括單片機最小系統(tǒng),最小系統(tǒng)包括時鐘和復(fù)位電路構(gòu)成。數(shù)碼管顯示模擬水位值,使用3位共陽極數(shù)碼管構(gòu)成顯示電路,對應(yīng)數(shù)碼管的驅(qū)動使用OC門驅(qū)動芯片74HC07,對繼電器的驅(qū)動也采用74HC07。實際單片機與上位機通信要進行電平轉(zhuǎn)換,如果上位機使用RS232串口,由于單片機是TTL電平,所以要使用電平轉(zhuǎn)換芯片,將TTL電平轉(zhuǎn)成RS232串口電平。為了更接近工程實踐,電路中設(shè)計電平轉(zhuǎn)換電路,轉(zhuǎn)換芯片為MAX232。使用Proteus中的虛擬元件COMPIM實現(xiàn)單片機與上位機通信,COMPIM是把仿真電路中的數(shù)字量映射到計算機的物理端口。單片機的TXD和RXD與COMPIM相連接,就可以直接操作映射到物理端口。需要注意的是,TXD和RXD兩根信號線是直通方式連接,而非交叉。學(xué)生根據(jù)教師講解后自行設(shè)Proteus仿真電路圖,整體電路如圖3所示。

      圖3 數(shù)碼管顯示電路

      圖4 繼電器控制電機電路

      圖5 單片機最小系統(tǒng)及驅(qū)動和水位模擬電路

      圖6 單片機與上位機通信電路

      四、系統(tǒng)軟件設(shè)計

      系統(tǒng)軟件設(shè)計包括單片機驅(qū)動程序設(shè)計和基于VB6.0的上位機通信軟件設(shè)計。單片機驅(qū)動程序主要包括數(shù)碼管顯示程序、撥碼開關(guān)水位模擬程序、電機驅(qū)動程序、水位報警程序及單片機與上位機通信程序等。上位機通信軟件主要包括軟件界面設(shè)計及對數(shù)據(jù)的接收與處理。

      (一)單片機驅(qū)動程序設(shè)計

      單片機驅(qū)動程序這里主要給出主程序流程圖,流程圖如圖5所示。教學(xué)過程中,教師和學(xué)生共同設(shè)計程序流程圖,包括主程序流程圖和各功能函數(shù)的流程圖,學(xué)生在給出流程圖的基礎(chǔ)上自行設(shè)計程序。當然這里的流程圖只是參考,學(xué)生自己也可自行設(shè)計程序,能達到功能要求即可,不做限制。

      圖7 主程序流程圖

      (二)上位機程序設(shè)計

      利用VB6.0中的MSComm控件實現(xiàn)上位機與單片機之間的通信。波特率設(shè)置為19200,數(shù)據(jù)位8位,沒有奇偶校驗位,1位停止位。初始化代碼如下所示:

      MSComm1.CommPort=3’通信端口位

      ‘COM3

      MSComm1.Settings="9600,n,8,1"’設(shè)置通信格式

      MSComm1.InputMode=

      comInputModeText

      '接收文本型數(shù)據(jù),如果設(shè)置為1則以二進制的形式取回傳入的數(shù)據(jù).

      MSComm1.PortOpen=True’打開端口

      MSComm1.InputLen=1

      MSComm1.SThreshold=1

      利用定時器控件的時間間隔屬性(Interval屬性),每隔一定時間執(zhí)行一次Timer事件中的相應(yīng)代碼,接收一次單片機發(fā)來是數(shù)據(jù),實現(xiàn)對水位的實時監(jiān)測,這里設(shè)置位每500ms接收一次串口數(shù)據(jù)。

      五、系統(tǒng)測試

      波特率是在單片機時鐘頻率為11.0592MHz時計算得到的,所以設(shè)置單片機和COMPIM的時鐘頻率為11.0592MHz。使用虛擬串口軟件創(chuàng)建一對虛擬串口,這里為COM3和COM4口,波特率設(shè)為19200。使用開關(guān)模擬液位傳感器檢測到的水位,最低水位設(shè)為3,最高水位設(shè)為100,模擬的實時水位為撥碼開關(guān)的值乘以100/255。模擬的水位值在數(shù)碼管上顯示,同時通過串口發(fā)送給上位機,上位機能檢測到水位控制的情況,仿真結(jié)果如圖所示。

      圖8 上位機運行結(jié)果

      總結(jié)

      在實際的教學(xué)過程中,使用Proteus可以使每個學(xué)生都能獨立設(shè)計基于單片機的硬件電路,且對于同一問題不同的學(xué)生可能采用不同的方法,因此可以提高學(xué)生的硬件電路設(shè)計能力和創(chuàng)新能力。設(shè)計完硬件電路之后每個學(xué)生設(shè)計針對該硬件的驅(qū)動程序,使學(xué)生對單片機軟硬件的結(jié)合理解更深。為了某些情況下實現(xiàn)遠程監(jiān)測,可以使用串口將采集的信息發(fā)送給上位機,因此要編寫上位機程序。由于VB6.0上手容易,所以在實施任務(wù)之前要求學(xué)生利用課余時間自學(xué)VB6.0編程軟件,教師指導(dǎo)學(xué)生學(xué)習(xí)與本系統(tǒng)開發(fā)有關(guān)的VB知識,在學(xué)生自學(xué)的過程中,提高學(xué)生的自學(xué)能力,實踐證明在這過程中學(xué)生的自學(xué)能力和學(xué)習(xí)自覺性都得到很大的提高。并且當學(xué)生通過自己的努力完成教學(xué)任務(wù)后,有了很大的成就感,最后使得一部分學(xué)生,在仿真的基礎(chǔ)上自己設(shè)計PCB然后在網(wǎng)上找商家打樣,最后做成實際的硬件系統(tǒng)。所以通過Proteus和VB6.0聯(lián)合仿真在提高一定難度的基礎(chǔ)上

      猜你喜歡
      數(shù)碼管上位串口
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      Arduino編程
      電腦報(2019年2期)2019-09-10 07:22:44
      MC9S08FL16單片機數(shù)碼管靜態(tài)顯示分析
      單片機控制的四位數(shù)碼管動態(tài)顯示編程
      基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計與實現(xiàn)
      特斯拉 風(fēng)云之老阿姨上位
      車迷(2018年12期)2018-07-26 00:42:22
      “三扶”齊上位 決戰(zhàn)必打贏
      基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      404 Not Found

      404 Not Found


      nginx
      闽清县| 锡林浩特市| 桓台县| 汉寿县| 临洮县| 卢湾区| 辛集市| 阿克苏市| 水城县| 汕头市| 如东县| 宁晋县| 赫章县| 漳浦县| 衡水市| 商南县| 穆棱市| 沈丘县| 河西区| 锦屏县| 岱山县| 清苑县| 江口县| 尼木县| 商河县| 靖宇县| 双峰县| 囊谦县| 丹东市| 临颍县| 东兴市| 香格里拉县| 高邑县| 定襄县| 二连浩特市| 双牌县| 仁化县| 潜江市| 德阳市| 庄河市| 定兴县|