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

?

雙機(jī)通信案例在單片機(jī)串口教學(xué)中的應(yīng)用

2019-11-03 14:07馮康
電腦知識(shí)與技術(shù) 2019年23期
關(guān)鍵詞:波特率中斷串口

馮康

摘要:為解決將單片機(jī)串口的理論應(yīng)用于實(shí)踐的問題,在單片機(jī)串口教學(xué)中設(shè)計(jì)出雙機(jī)通信案例。該案例使用兩臺(tái)單片機(jī)分別作為發(fā)送機(jī)和接收機(jī),兩臺(tái)單片機(jī)串口均工作于方式一;發(fā)送機(jī)運(yùn)行發(fā)送程序,按下發(fā)送機(jī)控制的矩陣鍵盤的按鍵,其鍵值通過串口傳送到接收機(jī);接收機(jī)運(yùn)行接收程序,并將從串口接收到的鍵值在數(shù)碼管上顯示出來。該案例不但可以直觀地展現(xiàn)出單片機(jī)串口通信的過程,還可以幫助學(xué)生掌握將單片機(jī)串口理論應(yīng)用于實(shí)踐的技能,因此,可以推廣到高等學(xué)校單片機(jī)課程的教學(xué)中。

關(guān)鍵詞:?jiǎn)纹瑱C(jī);串口;波特率;矩陣鍵盤;中斷

中圖分類號(hào):G642.0? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2019)23-0075-03

開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

Application of Dual MCU Communication Example in Serial Port Teaching

FENG Kang

(School of Computer Science, Huainan Normal University, Huainan 232038, China)

Abstract:To solve the problem of applying micro control unit(MCU) serial port theory to practice, a dual MCU communication example is designed in the serial port teaching. In this example, two MCUs are used as sending MCU and receiving MCU, and the serial ports of the two MCUs work in mode one. The sending MCU executes the sending program which the key of the matrix keyboard is pressed; the key value is sent the receiving MCU through the serial port. The receiving MCU executes the receiving program which displays the key value on the digital tubes. This example does not only show the process of MCU serial port communication, but also help college students gain the skill of applying MCU serial port theory to practice. Therefore, the dual MCU communication example can be apply to the teaching of MCU course in colleges.

Key words:MCU; serial port; baud rate; matrix keyboard; interrupt

《單片機(jī)原理及應(yīng)用》是應(yīng)用型本科高校電子信息類專業(yè)廣泛開設(shè)的專業(yè)必修課程,該課程的教學(xué)內(nèi)容豐富,既有單片機(jī)(MCU, Micro Control Unit)工作原理的理論知識(shí),又有將硬件設(shè)計(jì)和軟件編程結(jié)合的單片機(jī)實(shí)踐應(yīng)用,因此,教學(xué)的難度較大,尤其是單片機(jī)串口這一章的教學(xué),涉及大量單片機(jī)串口的理論知識(shí),如單片機(jī)串口的控制寄存器SCON、串行數(shù)據(jù)緩沖寄存器SBUF、串行口的工作方式、串行通信波特率設(shè)置等。這些理論知識(shí)很多比較抽象,也很難懂[1]。因此,很多講授《單片機(jī)原理及應(yīng)用》課程的老師都將備課的重點(diǎn)放在了理論知識(shí)的傳授,比如將串行口的結(jié)構(gòu)和工作原理制作成動(dòng)畫放在課件中、用具體的字符傳輸來講解單片機(jī)串口方式1的一幀數(shù)據(jù)傳輸?shù)倪^程、用簡(jiǎn)化的公式來講解波特率計(jì)算公式,這樣再經(jīng)過教師課堂的細(xì)心講解,同學(xué)們基本上可以掌握單片機(jī)串口的工作原理,但對(duì)于如何將單片機(jī)串口的工作原理應(yīng)用于實(shí)踐,仍然理解不透,掌握不深[2]。因此,需要相關(guān)的教師進(jìn)行針對(duì)性的教學(xué)研究,解決單片機(jī)串口教學(xué)中這一存在的問題。

1 原因分析及突破口

為什么學(xué)生經(jīng)過《單片機(jī)原理及應(yīng)用》課程的學(xué)習(xí),能夠掌握單片機(jī)串口的理論知識(shí),卻無法掌握將單片機(jī)串口的工作原理應(yīng)用于實(shí)踐的技能,究其原因,主要在于以下幾個(gè)方面。一是單片機(jī)串口有四種工作方式,如果提供四種工作方式的實(shí)踐應(yīng)用案例,教材內(nèi)容的篇幅過大,在課時(shí)限定的情況下,教師很難在規(guī)定的課時(shí)內(nèi)講授完全部?jī)?nèi)容;二是現(xiàn)有的《單片機(jī)原理及應(yīng)用》課程教材在介紹單片機(jī)串口時(shí),都只提供單片機(jī)原理的素材,甚至很深的理論都涉及了,但卻都沒有提供單片機(jī)串口實(shí)踐應(yīng)用的案例[3];三是串口的實(shí)踐應(yīng)用案例必須結(jié)合具體的硬件平臺(tái),很難找到合適的通用的硬件平臺(tái)來支持單片機(jī)串口的實(shí)踐應(yīng)用;四是即使有合適的硬件平臺(tái),也沒有合適的實(shí)踐案例在較短的課時(shí)內(nèi)讓學(xué)生掌握單片機(jī)串口的實(shí)踐應(yīng)用[4]。由于上述原因,造成了很多高校《單片機(jī)原理及應(yīng)用》課程單片機(jī)串口的教學(xué)效果不佳,同學(xué)們經(jīng)過認(rèn)真的學(xué)習(xí),仍然缺乏將單片機(jī)串口的理論應(yīng)用于實(shí)踐的技能,

我校是一所應(yīng)用型本科高校,共有計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、物聯(lián)網(wǎng)工程、電子工程共4個(gè)專業(yè)開設(shè)了《單片機(jī)原理及應(yīng)用》課程,其中,串口章節(jié)是教學(xué)大綱中規(guī)定的教學(xué)內(nèi)容,以前串口章節(jié)的課程教學(xué)也普遍存在前述的問題,但從2016年開始,我們就開始進(jìn)行了《單片機(jī)原理及應(yīng)用》課程的教學(xué)研究,重點(diǎn)攻關(guān)單片機(jī)串口教學(xué)存在的學(xué)生通過理論學(xué)習(xí)卻仍然缺乏將單片機(jī)串口理論應(yīng)用于實(shí)踐的技能,并取得了一定的成果。通過2016級(jí)、2017級(jí)、2018級(jí)三屆學(xué)生的實(shí)踐,無論是學(xué)生評(píng)教、期末考核、課程設(shè)計(jì)、學(xué)科競(jìng)賽、創(chuàng)新實(shí)踐,學(xué)生都普遍展現(xiàn)出較強(qiáng)單片機(jī)實(shí)踐能力,尤其是將串口理論應(yīng)用于實(shí)踐中的技能,現(xiàn)將我們的教學(xué)方法做一總結(jié)。

2 設(shè)計(jì)雙機(jī)通信案例作為單片機(jī)串口教學(xué)的實(shí)踐案例

雙機(jī)通信案例是一種我們自己開發(fā)設(shè)計(jì)的,單片機(jī)串口工作于方式1,使用深圳普中科技有限公司的EM3-V22通用單片機(jī)開發(fā)儀硬件平臺(tái),能夠在2個(gè)課時(shí)講授完畢的單片機(jī)串口實(shí)踐案例,這個(gè)選擇主要是基于以下四點(diǎn)的考慮,一是單片機(jī)串口的四種工作方式中,方式0是作為擴(kuò)展并行輸入輸出口使用的,實(shí)踐應(yīng)用場(chǎng)合不多[5];方式2和方式3是1位起始位、9位數(shù)據(jù)位、1位停止位的異步通信,實(shí)踐應(yīng)用中9位數(shù)據(jù)位很少見,因此方式2和方式3的應(yīng)用價(jià)值不大[6];而方式1是1位起始位、8位數(shù)據(jù)位、1位停止位的異步通信,是最常見的一種串行通信數(shù)據(jù)格式,可廣泛地應(yīng)用于單片機(jī)和單片機(jī)之間的串口通信,單片機(jī)和計(jì)算機(jī)之間的串口通信,計(jì)算機(jī)和計(jì)算機(jī)之間的串口通信,其8位數(shù)據(jù)格式的特征類似于方式0,傳輸波特率可變的特性類似于方式2和方式3,因此掌握單片機(jī)串口方式1的應(yīng)用也可以推廣到方式0、方式2和方式3的應(yīng)用[7]。二是雙機(jī)通信案例使用的是兩塊深圳普中科技有限公司生產(chǎn)的EM3-V22通用單片機(jī)開發(fā)儀,這是一種非常適合串口開發(fā)的通用平臺(tái),提供了單片機(jī)串口RXD、TXD、GND的引出腳,很容易外接到其他板卡,而且該平臺(tái)還有豐富的輸入輸出外接設(shè)備如鍵盤、數(shù)碼管、液晶屏等[8]。三是雙機(jī)通信案例的實(shí)現(xiàn)原理、硬件設(shè)計(jì)、軟件編程、下載調(diào)試驗(yàn)證的難度和份量適中,剛好可以在2個(gè)課時(shí)講授完畢,非常適合課堂教學(xué)且不會(huì)占用太多的教學(xué)課時(shí)。四是雙機(jī)通信案例雖然教材沒有提供,但教師可以通過智慧課堂、QQ、微信、郵箱等方式提前將相關(guān)資料推送給學(xué)生,不會(huì)妨礙同學(xué)們的預(yù)習(xí)。

3 雙機(jī)通信案例的設(shè)計(jì)

3.1 案例介紹

雙機(jī)通信的案例是這樣的:利用A、B兩臺(tái)EM3-V22單片機(jī)開發(fā)儀,以串口方式1實(shí)現(xiàn)單片機(jī)甲和單片機(jī)乙的雙機(jī)通信;其中,單片機(jī)甲位于EM3-V22單片機(jī)開發(fā)儀A中,單片機(jī)乙位于開發(fā)儀B中,要求按下開發(fā)儀A矩陣鍵盤中的按鍵S0,S1,S2,……,S15,在開發(fā)儀B的8個(gè)數(shù)碼管M0,M1 ,……,M7上顯示鍵盤按鍵按下的鍵值,完成硬件的設(shè)計(jì)、軟件的編程、并下載調(diào)試驗(yàn)證。這個(gè)案例的設(shè)計(jì)非常精巧,一是很直觀地顯示出什么是串口通信,明明是按下開發(fā)儀A的矩陣鍵盤按鍵,其鍵值卻在另一臺(tái)開發(fā)儀B的數(shù)碼管上顯示出來,由于矩陣鍵盤一共有16個(gè)鍵,通過按鍵的變換,數(shù)碼管依次顯示不同的鍵值,更能使學(xué)生體會(huì)到串行通信的神奇;二是體會(huì)到串口的作用,因?yàn)閮膳_(tái)開發(fā)儀只是將各自單片機(jī)串口的RXD、TXD、GND三個(gè)引腳互連,沒有其他的連接,更沒有單片機(jī)P0口、P1口、P2口、P3口4個(gè)并口的相連,就能實(shí)現(xiàn)雙機(jī)的通信;三是體會(huì)到單片機(jī)串口方式1的強(qiáng)大功能,因?yàn)樵诔绦蛑兄辉O(shè)置了方式1,沒有設(shè)置方式0、方式2、方式3。

3.2 硬件設(shè)計(jì)

雙機(jī)通信案例的硬件設(shè)計(jì)的大致框圖如圖1所示,其中甲乙兩個(gè)單片機(jī)均為STC90C5RC,單片機(jī)甲作為發(fā)送機(jī),其P0口接矩陣鍵盤陣列,當(dāng)矩陣鍵盤的某個(gè)按鍵按下后,通過發(fā)送程序的運(yùn)行,提取出鍵值并從串口的TXD引腳將鍵值發(fā)送到單片機(jī)乙的RXD引腳中;單片機(jī)乙作為接收機(jī),其P0口接8個(gè)數(shù)碼管陣列的數(shù)據(jù)線,P2.0、P2.1、P2.2三個(gè)引腳接74LS138譯碼器的輸入端,譯碼器的輸出作為數(shù)碼管陣列8個(gè)數(shù)碼管的片選信號(hào)。兩個(gè)單片機(jī)的串口互連,其中單片機(jī)甲的TXD、RXD、GND引腳分別接單片機(jī)乙的RXD、TXD、GND引腳,即兩個(gè)單片機(jī)共地。

3.3 軟件編碼

軟件編碼包括發(fā)送機(jī)發(fā)送程序的編碼和接收機(jī)接收程序的編碼。

3.3.1 發(fā)送程序的編碼

發(fā)送程序的編碼包括頭文件和宏定義,將P0口的高四位定義為四個(gè)位變量,為接收矩陣鍵盤的編碼做準(zhǔn)備,定義無符號(hào)整型變量key存放矩陣按鍵的編碼,多參數(shù)延時(shí)主程序,可根據(jù)參數(shù)設(shè)置的不同提供多個(gè)延時(shí)時(shí)間;主函數(shù)中代碼TMOD=0x20;TH1=0xfd;TL1=0xfd;設(shè)置單片機(jī)發(fā)送機(jī)串口通信的波特率為9600,這是對(duì)單片機(jī)串口通信比較合適的波特率,并啟動(dòng)定時(shí)器T1,接著設(shè)置發(fā)送機(jī)串口的工作方式為方式1,開中斷;然后反復(fù)執(zhí)行鍵盤掃描程序,如果有鍵按下,則將該按鍵對(duì)應(yīng)數(shù)字的段碼值存入變量key中,并送入SBUF寄存器中,當(dāng)發(fā)送完畢后,及時(shí)用軟件將TI清零。主函數(shù)的主要編碼如下:

TMOD=0x20;

TH1=0xfd;

TL1=0xfd;

TR1=1;

SM0=0;

SM1=1;

EA=1;

ES=1;

3.3.2 接收程序的編碼

接收程序的編碼包括頭文件,主函數(shù),串口中斷函數(shù)。主函數(shù)中,設(shè)置接收機(jī)的波特率和發(fā)送機(jī)相同,均為9600,啟動(dòng)定時(shí)器T1,設(shè)置接收機(jī)串口的工作方式為方式1,啟動(dòng)串口中斷,并設(shè)置允許接收REN=1;熄滅數(shù)碼管,這樣接收機(jī)啟動(dòng)后在沒有收到發(fā)送機(jī)按鍵時(shí)不顯示任何內(nèi)容,只有接收到傳送過來的按鍵的段碼值才對(duì)應(yīng)顯示。串口中斷函數(shù)的功能是根據(jù)接收的段碼值的不同,選擇數(shù)碼管并顯示對(duì)應(yīng)的鍵值,在顯示完后,RI=0;軟件復(fù)位RI。

3.4 下載及聯(lián)機(jī)調(diào)試

在發(fā)送程序和接收程序編制完成后,在集成開發(fā)環(huán)境Keil uvison4中編譯生成兩個(gè)獨(dú)立的*.HEX文件,并經(jīng)和EM3-V22單片機(jī)開發(fā)儀配套的下載軟件PZISP下載軟件分別下載到EM3-V22單片機(jī)開發(fā)儀A、B機(jī)中。下載完成后關(guān)閉兩個(gè)開發(fā)實(shí)驗(yàn)儀電源,以方便兩臺(tái)實(shí)驗(yàn)儀的硬件電路連接,連接完成后打開兩臺(tái)實(shí)驗(yàn)儀的電源,即可開始實(shí)驗(yàn),由于發(fā)送機(jī)是矩陣鍵盤按下,接收機(jī)是數(shù)碼管顯示,可以很直觀地向?qū)W生演示發(fā)送機(jī)的按鍵按下后,其鍵值在接收機(jī)的數(shù)碼管上顯示,實(shí)現(xiàn)了雙機(jī)通信。

4 結(jié)束語

在單片機(jī)串口課程的教學(xué)中引入雙機(jī)通信案例作為單片機(jī)串口教學(xué)的實(shí)踐案例,所用的課時(shí)只有2個(gè)課時(shí),但它所帶來的課堂教學(xué)效果卻非常顯著。一是同學(xué)們掌握了單片機(jī)串口方式1可以適用的實(shí)踐場(chǎng)合,比如雙機(jī)的單工通信、半雙工通信、全雙工通信;二是同學(xué)們掌握的了串口通信的硬件設(shè)計(jì),發(fā)送機(jī)串口的數(shù)據(jù)線TXD、RXD如何和接收方的數(shù)據(jù)線TXD、RXD相連,兩個(gè)單片機(jī)的串口如何實(shí)現(xiàn)共地,如何進(jìn)行其他輔助線路的連接;三是掌握了雙機(jī)通信代碼編寫的技巧,即波特率的設(shè)置方法、串口工作方式設(shè)置的方法、發(fā)送機(jī)發(fā)送的啟動(dòng)代碼、接收機(jī)接收的啟動(dòng)代碼、串口中斷函數(shù)的編寫方法等;四是掌握多個(gè)單片機(jī)協(xié)同工作的軟件編程,發(fā)送機(jī)的發(fā)送程序和接收機(jī)的接收程序需要單獨(dú)編寫,編輯及編譯使用的集成開發(fā)環(huán)境的使用,下載軟件的下載方法,如何操作硬件驗(yàn)證雙機(jī)通信。掌握這些技能后,學(xué)生即可靈活熟練地將單片機(jī)串口的理論應(yīng)用于實(shí)踐案例,解決諸如單片機(jī)和單片機(jī)之間的全雙工串口通信,單片機(jī)和計(jì)算機(jī)之間的全雙工串口通信等一系列高級(jí)的實(shí)踐應(yīng)用,從而真正掌握了單片機(jī)串口的知識(shí)和技能。在我校4個(gè)專業(yè)三屆同學(xué)的單片機(jī)教學(xué)中,我們一直把雙機(jī)通信案例作為單片機(jī)串口教學(xué)的重點(diǎn)內(nèi)容加以推廣,學(xué)生通過雙機(jī)通信案例的教學(xué),不但掌握了單片機(jī)串口的工作原理,更能靈活熟練地將單片機(jī)串口的理論應(yīng)用于實(shí)踐中,收到了非常好的教學(xué)效果。因此,雙機(jī)通信案例可以推廣到全國(guó)高等學(xué)校單片機(jī)課程的教學(xué)中。

參考文獻(xiàn):

[1] 金國(guó)華,畢勝,王璐, 等.單片機(jī)實(shí)踐教學(xué)體系構(gòu)建與實(shí)施[J].電氣電子教學(xué)學(xué)報(bào),2018,40(6):129-133.

[2] 黃青穎.單片機(jī)課程項(xiàng)目化教學(xué)探索[J].山東工業(yè)技術(shù),2018,(24):232,196.

[3] 杜衍喆,魏慶云,郭躍虎.基于能力培養(yǎng)的單片機(jī)實(shí)驗(yàn)教學(xué)模式研究[J].集成電路應(yīng)用,2019,36(2):52-53.

[4] 王建菊,黃華.單片機(jī)開發(fā)儀在單片機(jī)教學(xué)中的使用[J].電子世界,2019,(4):27-28.

[5] 曾德康.基于單片機(jī)的數(shù)據(jù)串口通信研究[J].通信電源技術(shù),2019,36(3):194-195.

[6] 朱昆,楊佳堯.單片機(jī)中多串口擴(kuò)展技術(shù)的應(yīng)用分析[J].數(shù)字化用戶,2019,25(2):56.

[7] 王春光,姜興偉,呂德東.一種基于單片機(jī)的串口聯(lián)網(wǎng)服務(wù)器系統(tǒng)設(shè)計(jì)[J].數(shù)字化用戶,2018,24(48):118.

[8] 徐宏慶,鄭龍根.基于單片機(jī)串口報(bào)文的數(shù)據(jù)采集模塊的研制[J].工業(yè)控制計(jì)算機(jī),2018,31(11):44-45,47.

【通聯(lián)編輯:王力】

猜你喜歡
波特率中斷串口
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
AT89C51與中斷有關(guān)的寄存器功能表解
C*Core芯片SCI串口波特率容限優(yōu)化
FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
大方县| 定日县| 江孜县| 洪雅县| 鹰潭市| 蒙城县| 天祝| 台州市| 长兴县| 合阳县| 龙井市| 永德县| 集贤县| 孙吴县| 盐城市| 黄山市| 德格县| 红河县| 思南县| 万盛区| 蒙山县| 北川| 皋兰县| 申扎县| 绥阳县| 永川市| 田阳县| 昔阳县| 金秀| 吴江市| 南华县| 卢湾区| 北碚区| 通道| 克山县| 浦北县| 聂拉木县| 通渭县| 高州市| 齐河县| 阿鲁科尔沁旗|