您现在的位置: 主页 > MCU > 单片机技术应用 > 编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示 -
本文所属标签:
为本文创立个标签吧:

编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]
/*编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示。要求:一、P0口外接8个LED、P1.0~P1.2外接三个按键。二、T0做延时,溢出定为10ms。三、按键0~2分别控制闪烁间隔时间分别为,0.5s,1s,2s。四

/*
编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示
要求:
一、P0口外接8个LED、P1.0~P1.2外接三个按键。
二、T0做延时,溢出定为10ms。
三、按键0~2分别控制闪烁间隔时间分别为,0.5s,1s,2s。
四、开机后,LED全部点亮,3s后以0.5s交替。
单片机高手帮下忙,最好用C写。

本文引用地址: http://www.21ic.com/app/mcu/201806/764372.htm


=======================================================
//以下程序通过了PROTEUS仿真试验,可以满足要求。

#include
#define uchar unsigned char
#define uint unsigned int

sbit K0 = P3^2;
sbit K1 = P3^3;
sbit K2 = P3^4;

uchar t1 = 0, t2 = 0, t3 = 0, aaa = 0x55, delay_time = 0;
//-------------------------------
void TIME0()interrupt 1
{
TH0 = 0xD8; //初值
TL0 = 0xF0; //10ms @ 12MHz
t1++;
if(t1 == 50) { //每到500ms
t1 = 0;
t2++;
if(t2 == 6) { //到了3s
t2 = 5;
t3++;
if (t3 >= delay_time) {
t3 = 0;
aaa = 255 - aaa;
P0 = aaa;
} } }
}
//-------------------------------
void main() //主函数
{
TMOD = 0x01; //T0定时
TH0 = 0xD8; //初值
TL0 = 0xF0; //10ms @ 12MHz
TR0 = 1;
ET0 = 1;
EA = 1;
P0 = 0x00;
delay_time = 1;
while (1) {
if (K0 == 0) delay_time = 1;
if (K1 == 0) delay_time = 2;
if (K2 == 0) delay_time = 4;
}
}

用 PROTEUS 仿真截图如下:




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > 编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示 -
 

"编写LED控制程序,完成LED奇数号灯和偶数号灯的交替显示 -"的相关文章

网站地图

围观()