如题参见上图,P0.1~P0.7分别接一个发光二极管,现要求编写程序完成如下功能,让8只发光二极管循环地逐一点亮(流水灯),利用定时器使每只灯点亮间隔的时间为0.5s。
c51单片机流水灯编程
答案:2 悬赏:50 手机版
解决时间 2021-04-22 01:08
- 提问者网友:一抹荒凉废墟
- 2021-04-21 14:08
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-04-21 14:33
注意共地
#include <REGX51.H>
#define uchar unsigned char
#define uint unsigned int
unsigned long cnt1 = 0;
uint htime=1000;
uint ltime=1000;
uchar X = 0x01;
void delay_ms(unsigned long timer_cnt)
{
cnt1=0;
while(cnt1 < timer_cnt);
}
void main()
{
TMOD=0x11;
TH0=(65535 - htime)/256;
TL0=(65535 - ltime)/256;
EA=1;
ET0=1;
TR0=1;
P0 = X;
while(1)
{
delay_ms(500);
X <<=1;
if(X)
P0=X;
else
{
X= 0x01;
P0=X;
}
}
}
void time0(void) interrupt 1
{
cnt1++;
TH1=th1;
TL1=tl1;
}
全部回答
- 1楼网友:鸽屿
- 2021-04-21 15:12
写错了呃……
把那两句写成
TH0=(65535 - htime)/256; TL0=(65535 - ltime)/256;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯