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.51hei.com/ziliao/51hei-5/独立键盘_一键多功能_c.rar 汇编语言版本:http://www.51hei.com/ziliao/51hei-5/独立键盘_一键多功能_asm.rar
[此贴子已经被作者于2010-6-4 2:59:13编辑过]
|