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

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