国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于虛擬仿真軟件的單片機串行通信系統(tǒng)設(shè)計

2015-08-26 06:39:26唐敏
電子設(shè)計工程 2015年24期
關(guān)鍵詞:發(fā)送數(shù)據(jù)通信協(xié)議示波器

唐敏

(大連職業(yè)技術(shù)學(xué)院 遼寧 大連 116037)

目前,高職院校的單片機課程教學(xué)多是采取“理實一體化”的形式,在理論教學(xué)環(huán)節(jié)中,要求學(xué)生掌握相應(yīng)的單片機理論知識,在實踐教學(xué)環(huán)節(jié)中,要求學(xué)生能夠應(yīng)用所掌握的理論知識完成設(shè)計要求。 兩個環(huán)節(jié)相輔相成,互為支撐。 但是,在實際教學(xué)過程中,2 個環(huán)節(jié)都存在一些問題[1]。理論教學(xué)中存在 “硬件內(nèi)部結(jié)構(gòu)不好講”、“軟件控制過程不好講”和“擴(kuò)展應(yīng)用連接控制不好講”3 個問題。實踐教學(xué)中存在“實驗臺局限”、“實踐場地局限”和“單片機種類局限”3 個問題。 由于上述存在的問題,很大程度上限制了學(xué)生的設(shè)計能力。

為了解決上述理論和實訓(xùn)教學(xué)中的問題,在教學(xué)過程中引入仿真軟件,一方面為單片機課程教學(xué)提供便捷的實訓(xùn)環(huán)境,并能更好地展開教學(xué),使教學(xué)中的難點和重點直觀的講解,便于同學(xué)們理解單片機的理論知識;另一方面,為學(xué)生自學(xué)提供了便捷的實訓(xùn)環(huán)境,不僅使學(xué)生掌握目前企業(yè)主要使用的軟件,自己構(gòu)建企業(yè)實際單片開發(fā)環(huán)境,還可以通過軟件的使用理解單片機的知識,并進(jìn)一步提高自己應(yīng)用單片機的能力,這樣也能更好系統(tǒng)的掌握開發(fā)方法,增強自己的實踐能力,培養(yǎng)科學(xué)研究的興趣,并通過對系統(tǒng)的調(diào)試,增加學(xué)生分析問題、解決問題的能力。

以設(shè)計開發(fā)一個基于單片機的雙向串行通信控制教學(xué)系統(tǒng)為例。 學(xué)生可以通過該系統(tǒng)了解串行通信協(xié)議的相關(guān)原理和應(yīng)用。在該控制系統(tǒng)中,通過PROTEUS 仿真軟件搭建系統(tǒng)的硬件平臺[2],再通過KEIL 軟件編輯和編譯系統(tǒng)的軟件代碼[3],從而實現(xiàn)兩個單片機之間雙向數(shù)據(jù)串行通信[4]系統(tǒng)的設(shè)計。 為了使系統(tǒng)功能更加完善,系統(tǒng)中還能顯示發(fā)送和接受的數(shù)據(jù), 也可以通過PROTEUS 仿真軟件示波器觀察測試通信過程。 通過示波器測試數(shù)據(jù)波形,能夠很好理解通信協(xié)議中有關(guān)數(shù)據(jù)格式的規(guī)定,通過示波器測試的管腳電壓波形變化, 能夠很好理解通信協(xié)議中有關(guān)發(fā)送接收動作的規(guī)定,從而更好地理解串行通信協(xié)議[5]。 并能夠以此進(jìn)行多機通信的擴(kuò)展,也可以進(jìn)行其他通信協(xié)議的擴(kuò)展。

1 串行通信教學(xué)系統(tǒng)的總體設(shè)計方案

根據(jù)單片機串行通信控制教學(xué)系統(tǒng)的要求,將整個系統(tǒng)按照功能劃分為控制模塊、通信模塊、顯示模塊和測試模塊4個部分。 如圖1 所示。

圖1 串行通信教學(xué)系統(tǒng)的設(shè)計框圖Fig. 1 Structure diagram of the serial communication teaching system

其中控制模塊主要是2 個單片機, 作為系統(tǒng)的核心部件,完成電源控制、時鐘控制和復(fù)位控制;通信模塊是2 個單片機之間的連接部分, 主要構(gòu)成數(shù)據(jù)發(fā)送通道和接收通道,負(fù)責(zé)數(shù)據(jù)的雙向傳送;顯示模塊是LED 顯示器件,每個單片機側(cè)都有發(fā)送數(shù)據(jù)顯示部分和接收數(shù)據(jù)顯示部分,主要用于顯示將要發(fā)送的數(shù)據(jù)和接收到的數(shù)據(jù); 測試模塊是PROTEUS 軟件自帶的仿真示波器, 主要負(fù)責(zé)測試通信數(shù)據(jù)格式和通信動作時序。

2 基于Proteus 仿真軟件搭建硬件平臺

使用Proteus 仿真軟件, 根據(jù)不同功能模塊的要求搭建仿真的硬件平臺。 具體如圖2 所示。

圖2 串行通信教學(xué)系統(tǒng)的硬件電路圖Fig. 2 Hardware of the serial communication teaching system

首先,進(jìn)行控制模塊的硬件設(shè)計。 主要選擇器件,根據(jù)該教學(xué)系統(tǒng)中存儲空間和通信引腳的要求, 選擇AT89C51,內(nèi)部ROM 有4 k 字節(jié),內(nèi)部RAM 有128 字節(jié),有一個全雙工的UART 端口。 電源采用+5 V,時鐘電路外接12 MHz 晶振,在RST 引腳上引起2 個機器周期之上的高電平可以復(fù)位單片機。

第二步,進(jìn)行通信模塊的硬件設(shè)計。 全雙工雙向通信是不能共用數(shù)據(jù)通道的, 因此需要搭建專門的雙向數(shù)據(jù)通道。發(fā)送數(shù)據(jù)的單片機將數(shù)據(jù)通過TXD 引腳發(fā)送, 經(jīng)過數(shù)據(jù)通道,傳送到接收數(shù)據(jù)的單片機的RXD 引腳。 發(fā)送數(shù)據(jù)的單片機作為主設(shè)備控制發(fā)送的數(shù)據(jù)和動作。 2 個單片機可以交替進(jìn)行數(shù)據(jù)的發(fā)送,從而實現(xiàn)雙向串行數(shù)據(jù)通信。

第三步,進(jìn)行顯示模塊的的硬件設(shè)計。 由于該教學(xué)系統(tǒng)發(fā)送的數(shù)據(jù)都是簡單的單個字符, 因此選擇共陽極的7 段LED 數(shù)碼管就足夠顯示數(shù)據(jù)。 在單片機將要發(fā)送數(shù)據(jù)之前,先送到顯示模塊中發(fā)送數(shù)據(jù)顯示部分顯示, 然后發(fā)送數(shù)據(jù)。接收到數(shù)據(jù)后也送到顯示模塊中接收數(shù)據(jù)顯示部分顯示。 這樣,可以直觀地觀察到雙向串行通信的運行結(jié)果。

最后,進(jìn)行測試模塊的設(shè)計。 此處,并不是采用實際的示波器,主要是考慮到學(xué)生自學(xué)過程中不具備這樣的條件。 取而代之的是Proteus 軟件自帶的仿真示波器, 只要安裝了Proteus 軟件就可以使用仿真示波器。

3 基于KEIL 軟件編輯編譯軟件系統(tǒng)

使用KEIL 軟件,主要完成控制模塊、通信模塊和顯示模塊的軟件代碼的編輯編譯[6]。

首先,進(jìn)行控制模塊的軟件設(shè)計。 按照圖3 的軟件流程,控制模塊主要完成系統(tǒng)初始化、 串行通信控制和顯示控制3個部分。系統(tǒng)初始化完成存儲器、引腳和中斷的初始化。串行通信控制主要根據(jù)串行中斷狀態(tài)完成數(shù)據(jù)傳輸[7]。 顯示控制主要根據(jù)通信狀態(tài)完成數(shù)據(jù)顯示。

第二,進(jìn)行通信模塊的軟件設(shè)計。 主要分為發(fā)送數(shù)據(jù)部分和接收數(shù)據(jù)2 個部分。 發(fā)送數(shù)據(jù)時,將待發(fā)送數(shù)據(jù)送至發(fā)送緩存中,引起發(fā)送中斷,然后通過TXD 引腳串行發(fā)送數(shù)據(jù)。接收數(shù)據(jù)時,數(shù)據(jù)通過RXD 引腳串行接收到接收緩存中,引起接收中斷。

第三,進(jìn)行顯示模塊的軟件設(shè)計[8]。 在即將發(fā)送數(shù)據(jù)前和接收到數(shù)據(jù)后顯示數(shù)據(jù)。

圖3 串行通信教學(xué)系統(tǒng)的主程序流程圖Fig. 3 Flow chart of the serial communication teaching system

4 基于Proteus 軟件驗證系統(tǒng)

系統(tǒng)的正確性包括數(shù)據(jù)正確性、通信數(shù)據(jù)格式正確性和通信動作正確性。

首先,設(shè)置仿真示波器的測試引腳和測試環(huán)境參數(shù),調(diào)節(jié)完成后, 就可以通過仿真示波器觀察到通信數(shù)據(jù)和引腳時序,保存觀察結(jié)果便于進(jìn)行分析[9]。 其中測試引腳包括TXD 和RXD 引腳。 測試環(huán)境參數(shù)包括數(shù)據(jù)通道、掃描時間系數(shù)等參數(shù)。

其次,分析數(shù)據(jù)正確性,可以通過顯示模塊直觀分析。 將觀察的測試結(jié)果記錄如表1 所示。

根據(jù)表1 可以看出,甲機向乙機發(fā)送字符‘0’,乙機接收到后通過數(shù)碼管顯示結(jié)果也為‘0’,說明發(fā)送數(shù)據(jù)正確。 然后乙機再回送字符‘1’給甲機,甲機接收到后通過數(shù)碼管顯示結(jié)果也為‘1’,說明接收數(shù)據(jù)正確。 通過串行通信教學(xué)系統(tǒng)的顯示模塊直觀觀察結(jié)果,說明數(shù)據(jù)傳送正確。

表1 串行通信教學(xué)系統(tǒng)的測試結(jié)果Tab. 1 Test result of the serial communication teaching system

最后,分析通信數(shù)據(jù)格式,觀察起始位、停止位和數(shù)據(jù)位。 最后觀察通信動作時序。

圖4 串行通信教學(xué)系統(tǒng)的數(shù)據(jù)格式Fig. 4 Data format of the serial communication teaching system

根據(jù)圖4 可以看出,甲機和乙機采用單片機串行通信工作方式1,為波特率可變的8 位異步通信口,數(shù)據(jù)為10 位,即1 個起始位、8 個數(shù)據(jù)位(低位在先,高位在前)和1 個停止位。 參照串行通信工作方式1 的時序圖,可以看出,除了起始位和停止位,發(fā)送的字符‘2’的共陽極段選碼為0xA4,發(fā)送的字符‘3’的共陽極段選碼為0xB0。

5 結(jié)束語

通過使用Proteus 仿真軟件設(shè)計硬件電路, 結(jié)合Keil 軟件設(shè)計程序,最終形成單片機串行通信教學(xué)系統(tǒng)。 該教學(xué)系統(tǒng)不僅可以完成內(nèi)容難度較大的串行通信的講解,在教學(xué)過程中把教學(xué)內(nèi)容直觀地展示給學(xué)生,同時也教會學(xué)生學(xué)習(xí)通信協(xié)議的方法,使學(xué)生具有使用串行通信的能力;還可以完成多種通信協(xié)議的擴(kuò)展,并且不局限于單片機種類,也不局限于硬件電路和使用場地,有利于學(xué)生進(jìn)一步學(xué)習(xí)多種通信協(xié)議,使學(xué)生具有單片機通信接口擴(kuò)展的能力。

[1] 趙虎. Proteus和Keil軟件在單片機教學(xué)中的應(yīng)用[J]. 西南農(nóng)業(yè)大學(xué)學(xué)報:社會科學(xué)版,2011(2):169-171.

[2] 黎雪芬.KEIL及Proteus軟件在單片機仿真教學(xué)中的應(yīng)用[J].裝備制造技術(shù),2013(3):49-50.

[3] 趙月靜,張永弟,翟衛(wèi)賀. Proteus 和Keil C 在開發(fā)單片機控制系統(tǒng)中的應(yīng)用[J]. 實驗科學(xué)與技術(shù),2013(4):31-34.

[4] 陳軍. 基于Proteus的串口通信系統(tǒng)仿真設(shè)計[J]. 自動化與儀器儀表,2012(4):51-53.

[5] 雷建龍. 單片機C語言實踐教程[M]. 北京:電子工業(yè)出版社,2012:216.

[6] 呂瑞云. 基于單片機的串行通信研究[J]. 電子世界,2012(3):76-77.

[7] 趙瑞國,馬杰,何志勇,等. 液體火箭發(fā)動機高速采集數(shù)據(jù)工程數(shù)據(jù)庫設(shè)計及應(yīng)用[J]. 火箭推進(jìn),2011(3):60-64,72.

[8] 崔巖. 采用T型電路參數(shù)法對現(xiàn)場電流互感器測量的研究[J].陜西電力,2011(9):63-66.

[9] 徐擁軍,謝書鴻,栗鳴,等. 基于OPPC的溫度和應(yīng)力光纖光柵傳感技術(shù)[J]. 供用電,2013(2):40-45.

猜你喜歡
發(fā)送數(shù)據(jù)通信協(xié)議示波器
移動自組網(wǎng)中MAC層協(xié)議研究
基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點性能分析
帶標(biāo)記方式的CRDSA++協(xié)議性能分析*
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計
一款教學(xué)示波器的Y通道設(shè)計與實現(xiàn)
電子制作(2017年13期)2017-12-15 09:00:08
可攜帶式虛擬雙蹤示波器
電子制作(2017年20期)2017-04-26 06:57:46
使用IPSec安全傳輸數(shù)據(jù)
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計與實現(xiàn)
電測與儀表(2016年2期)2016-04-12 00:24:52
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實現(xiàn)技術(shù)簡介
上饶市| 伽师县| 杭州市| 都昌县| 利津县| 驻马店市| 米林县| 金平| 永宁县| 英德市| 定兴县| 黔西| 遂溪县| 桃园市| 红桥区| 兴城市| 崇州市| 安多县| 墨玉县| 清原| 申扎县| 陆良县| 安塞县| 武安市| 翁源县| 当涂县| 高雄市| 丰都县| 连江县| 苏尼特左旗| 宿迁市| 罗江县| 凉城县| 巴南区| 邢台县| 东台市| 巨野县| 清苑县| 化隆| 库伦旗| 上杭县|