c51单片机,c语言编程,关于指示灯定时闪烁的。
P1.0 P1.1 P1.2 P1.3上面各接有一个指示灯,P2.0接一个外接按键。
要求:
按一下按键P1.0以1Hz的频率闪烁 半周期为500ms
第二次按下按键P1.1以2Hz的频率闪烁 半周期为250ms
第三次按下按键P1.2以3Hz的频率闪烁 半周期为165ms
第四次按下按键P1.3以4Hz的频率闪烁 半周期为125ms
第五次按下按键P1.0以1Hz的频率闪烁 半周期为500ms
如此循环。
单片机外接6MHz晶振,如何写这个程序?
悬赏分:30
本程序有实用价值,在不同的工作状态,以不同的速度闪烁,可表现出不同的紧急程度。
系统的晶振是6MHz,则机器周期是2us;
可以选择基本定时时间5ms,当定时中断100次、50次...即可令指定的输出端取反,即可达到目的。
实验采用PROTEUS软件仿真,在图中增加了一个频率计和一个数码显示器。
仿真实验效果截图如下:
C语言程序如下:
#include#define uchar unsigned char
#define uint unsigned int
uchar aa = 1, bb =