• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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
    布尔津县| 德令哈市| 莱芜市| 新密市| 米易县| 石嘴山市| 蓬溪县| 阳信县| 拉萨市| 邻水| 长顺县| 漳浦县| 大邑县| 西藏| 雷山县| 桐乡市| 屯昌县| 宁津县| 抚顺市| 安乡县| 龙海市| 绥滨县| 疏附县| 乌鲁木齐县| 靖安县| 如皋市| 德惠市| 恭城| 彩票| 济南市| 青田县| 南昌县| 绥芬河市| 宣城市| 丰台区| 双柏县| 樟树市| 石河子市| 河南省| 信丰县| 甘谷县|