1.實(shí)驗(yàn)任務(wù)
開關(guān)S5接在P3.7/RD管腳上,在stc89c52單片機(jī)的P0端口接有四個(gè)發(fā)光二極管,上電的時(shí)候,D8接在P0.0管腳上的發(fā)光二極管在閃爍,當(dāng)每一次按下開關(guān)S5的時(shí)候,D7接在P0.1管腳上的發(fā)光二極管在閃爍,再按下開關(guān)S5的時(shí)候,D6接在P0.2管腳上的發(fā)光二極管在閃爍,再按下開關(guān)S5的時(shí)候,D5接在P0.3管腳上的發(fā)光二極管在閃爍,再按下開關(guān)S5的時(shí)候,又輪到D8在閃爍了,如此輪流下去。
2.程序設(shè)計(jì)方法
(1. 設(shè)計(jì)思想由來(lái)
在我們生活中,我們很容易通過(guò)這個(gè)叫張三,那個(gè)叫李四,另外一個(gè)是王五;那是因?yàn)槊總(gè)人有不同的名子,我們就很快認(rèn)出,同樣,對(duì)于要通過(guò)一個(gè)按鍵來(lái)識(shí)別每種不同的功能,我們給每個(gè)不同的功能模塊用不同的ID號(hào)標(biāo)識(shí),這樣,每按下一次按鍵,ID的值是不相同的,所以單片機(jī)就很容易識(shí)別不同功能的身份了。
(2. 設(shè)計(jì)方法
從上面的要求我們可以看出,D8到D5發(fā)光二極管在每個(gè)時(shí)刻的閃爍的時(shí)間是受開關(guān)S5來(lái)控制,我們給D8到D5閃爍的時(shí)段定義出不同的ID號(hào),當(dāng)D8在閃爍時(shí),ID=0;當(dāng)D7在閃爍時(shí),ID=1;當(dāng)D6在閃爍時(shí),ID=2;當(dāng)D5在閃爍時(shí),ID=3;很顯然,只要每次按下開關(guān)S5時(shí),分別給出不同的ID號(hào)我們就能夠完成上面的任務(wù)了。下面給出有關(guān)程序設(shè)計(jì)的框圖。
3.程序框圖
圖4.9.2

4.源程序及其hex文件下載:
c語(yǔ)言版本 :http://www.zg4o1577.cn/ziliao/51hei-5/獨(dú)立鍵盤_一鍵多功能_c.rar 匯編語(yǔ)言版本:http://www.zg4o1577.cn/ziliao/51hei-5/獨(dú)立鍵盤_一鍵多功能_asm.rar
[此貼子已經(jīng)被作者于2010-6-4 2:59:13編輯過(guò)]
|