999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

發揮 Proteus 和 Keil 軟件在單片機教學中的作用

2019-09-07 07:13:32張正明王麗娟石建國電子科技大學中山學院
數碼世界 2019年9期
關鍵詞:單片機程序

張正明 王麗娟 石建國 電子科技大學中山學院

1 引言

單片機課程是電子信息類專業必修的專業課程,是一門綜合性和實踐性都很強的課程,通過該課程的學習,使學生了解單片機的基本原理及其應用,了解匯編指令功能、編程方法,掌握單片機應用系統的硬件組成,能夠使用C51 語言進行軟件開發,培養學生分析、解決實際問題的能力。

在進行傳統的理論教學時,要想課堂教學安排生動、有趣,難度比較大,難以讓學生看到電路變化、程序變化對實驗結果的影響,難有切身感受;在進行實踐教學時,受教學場地、設備數量和實驗箱產品更新慢等因素的影響,操作靈活性有限。鑒于此,我們在教學過程中引入 Proteus 軟件和Keil 軟件,可以方便地在 Proteus 平臺上中繪制和修改硬件電路圖,加深學生對單片機應用系統硬件電路的理解;在 Keil 軟件中編寫和修改相應指令,然后在 Proteus 平臺上進行聯合仿真。

在虛擬的硬件平臺上看到程序運行的結果,可以加深學生對電路連接和指令功能的理解。這樣,課堂上方便老師演示和講解,實驗課上和課下方便學生進行各種應用的設計,激發學生學習的興趣和積極性,增強學習效果。

發揮Proteus 軟件和 Keil 軟件的聯合應用,可以節約耗材,縮短開發周期,具有逼真效果。下面以矩陣鍵盤的輸入和數值顯示為例說明該方法的優勢。

2 4*4 矩陣鍵盤及顯示

4*4 矩陣鍵盤,共16 個按鍵,如果連接成獨立按鍵就需要16 個IO 管腳,而連接成矩陣鍵盤只需要8 個IO 管腳,節省了8 個管腳,按鍵越多節省的管腳越多,這就是矩陣鍵盤的優點,當然其缺點就是判斷具體按鍵的過程要復雜一下,這是以軟件的復雜性來換取硬件資源的節省的。

在Keil 平臺上建立工程文件并編輯程序,匯編鏈接產生HEX文件,在Proteus 平臺上連接電路圖,并在單片機芯片的屬性中鏈接對應的HEX 文件,即可以運行單片機應用系統。

圖1 4*4 矩陣鍵盤及顯示

在圖1 中,第0、1、 2、 3 列分別與P1.0、P1.1、 P1.2、 P1.3 相連接,第0、1、 2、 3 行分別與P1.4、 P1.5、P1.6、P1.7 相連接。在程序中可以先對管腳做適當定義,后面的程序就可以只考慮行列位置,而忽略具體管腳。由于采用逐行掃描方式,我們這里只定義列管腳,不定義行管腳。逐行掃描時,只有加到檢查行的信號為0,而其他行和所有列信號為1,4 次掃描的輸出信號我們用4 個元素的一維數組output 來表示。

sbit COL0=P1^0;

sbit COL1=P1^1;

sbit COL2=P1^2;

sbit COL3=P1^3;

uchar code output[4]={0xEF,0xDF,0xBF,0x7F};

我們用一個函數getkey( )來實現按鍵的讀入和判斷,當K0~K15 按下時,函數返回0-F,如果沒有按鍵按下,函數返回0xFF。下面就是函數中的關鍵程序段。每個for 循環都執行4 次循環,相應地對4 行按鍵進行行掃描判別,i 對應第i 行,然后根據COL0~3的值判別按鍵列的位置,從而得到按鍵值。

if(P1= =0x0F)

result=0xFF;

else

{

for(i=0;i<4;i++)

{

P1=output[i];

if(!COL0) {result=0+4*i;break;}

else if(!COL1) {result=1+4*i;break;}

else if(!COL2) {result=2+4*i;break;}

else if(!COL3) {result=3+4*i;break;}

}

}

有了getkey( )函數,就可以在需要的時候調用該函數,讀取按鍵值,并進行顯示,下面展示了本程序的主函數。void main()

{

uchar x=0;

ledtube(x);

while(1)

{

x=getkey();

if(x!=0xff)

ledtube(x);

}

}

其中,ledtube(x)函數把x 值以數碼管形式顯示出來,這里的數碼管與P2 口相連接,數碼管采用共陰極數碼管。圖1 中顯示的是當按鍵K9 按下時的運行情況。

上例中還可以通過改變R2 的值,觀察限流電阻的作用,當電阻值由51 歐姆變小時數碼管亮度增強,而當電阻值由51 歐姆增大時數碼管亮度減弱,電阻增大到120 歐姆時,數碼管不亮。

如果以上矩陣鍵盤接線有變化,只需要在定義相應的管腳和output 初始化時做相應的修改即可。也可以按列掃描的方法讀取按鍵值。

3 6*6 矩陣鍵盤及顯示

圖2 6*6 矩陣鍵盤及顯示

如果增加按鍵數量,也可以由以上的程序稍作修改,就可以完成相應的任務。同時也可以增加獨立數碼管的數量顯示更多的信息。

圖2 是6*6 矩陣鍵盤的連接圖,為簡單起見,將列信號與P1 口相連接,將行信號與P3 口相連接,再增加一個數碼管,通過修改程序可以實現36 個按鍵的讀入和值的顯示。

兩個數碼管分別連接到P0 口和P2 口,但是這時必須采用共陽極數碼管,同時在P0 口的管腳處增加了上拉電阻,上拉電阻值為10K歐姆。這是P0 端口在使用時和其它三個端口的區別。所有這些設置和現象在仿真環境下可以輕易做到,圖2 是按下K26 時的運行情況。

4 結束語

本文以矩陣鍵盤的讀取和值的顯示為例,介紹了Proteus 軟件和Keil 軟件在單片機學習中的作用,有效利用好這兩個軟件可以方便介紹電路和指令的作用,提高教學效果。

猜你喜歡
單片機程序
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 在线观看国产小视频| 国内精品九九久久久精品| 亚洲第七页| 国产激情在线视频| 操操操综合网| 99久久精彩视频| 中文字幕在线看| 114级毛片免费观看| 国产高清无码麻豆精品| 欧美综合成人| 国产又粗又猛又爽视频| 无遮挡一级毛片呦女视频| 国产精品短篇二区| 欧美性久久久久| 国产97区一区二区三区无码| 国产99久久亚洲综合精品西瓜tv| 婷婷综合亚洲| 亚洲av成人无码网站在线观看| 国产免费网址| 青青草91视频| 99热亚洲精品6码| 一级在线毛片| AV不卡国产在线观看| 欧美在线视频不卡第一页| 麻豆AV网站免费进入| 精品免费在线视频| 一级成人a做片免费| 99尹人香蕉国产免费天天拍| 欧美一级黄色影院| 国产在线精品99一区不卡| 亚洲成人精品在线| 国产一区二区影院| 欧美亚洲国产精品第一页| 欧美专区日韩专区| 日韩免费中文字幕| 国内精品伊人久久久久7777人| 欧美成人精品一级在线观看| 福利小视频在线播放| 国产丰满成熟女性性满足视频| 成人亚洲视频| 国产一国产一有一级毛片视频| 国产主播福利在线观看| 精品国产污污免费网站| 97视频精品全国在线观看| 日韩精品一区二区深田咏美| 国产福利小视频在线播放观看| 中文字幕在线欧美| 亚洲色成人www在线观看| 国产精品黄色片| 伊人久综合| 久久人搡人人玩人妻精品一| 夜夜操狠狠操| 亚洲欧美日韩高清综合678| 色综合久久综合网| 免费观看国产小粉嫩喷水| 噜噜噜久久| 久久国产乱子伦视频无卡顿| 亚洲AV成人一区二区三区AV| 国产经典在线观看一区| 欧美色图久久| 亚洲人成网站观看在线观看| jizz国产在线| 国产女人在线视频| 日韩成人在线视频| 操操操综合网| 波多野结衣无码中文字幕在线观看一区二区 | 国产二级毛片| 成人午夜精品一级毛片 | 久久精品国产精品国产一区| 午夜精品福利影院| 91精品国产丝袜| 亚洲av无码人妻| 91视频青青草| 99热这里只有精品免费| 久久综合成人| 国产成人1024精品| 免费三A级毛片视频| 久久婷婷六月| 色成人综合| 精品91在线| 欧美激情视频一区| 欧美一道本|