标题:
灯为什不灭
[打印本页]
作者:
张军豆
时间:
2016-7-9 16:32
标题:
灯为什不灭
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define led P0
sbit key=P1^0;
unsigned int i=0,num=0;
void Delayms(unsigned int c);
void init();
void key_Scan();
void key_Scan()
{
if(!key)
{
Delayms(1);
if(!key)
{
while(!key)
{
P0=0x01;
i++;
}
}
}
}
void Delayms(unsigned int c)
{
unsigned char a, b;
while(c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
void main()
{
init();
key=1;
P0=0x00;
while(1)
{
key_Scan();
}
}
void init()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
}
void T_time() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(i==1&&num==20)
{
P0=0x00;}
}
作者:
sxszpeng
时间:
2016-7-9 19:27
keyscan有问题,if用法错误,应该是if(keys==0)这样的
作者:
127565
时间:
2016-7-9 23:25
我好像看到代码有错误
作者:
distance1502
时间:
2016-7-10 09:14
语法有错
作者:
jubaolun
时间:
2016-7-11 09:19
语法错误,主函数与中断不对.
作者:
cpysss
时间:
2016-7-11 14:59
中断有错
作者:
aiwang51
时间:
2016-7-14 21:59
请教他人之前还是摆好态度,把自己的代码摆整齐嘛,人家看着都头疼。
作者:
songdaxuan
时间:
2016-7-14 22:15
大哥 你能把程序摆整齐点就好了
作者:
sdhhyq
时间:
2016-7-15 15:21
keyscan有问题,if用法错误,应该是if(keys==0)这样的
作者:
Jesse_ice
时间:
2016-7-15 21:14
我发现了的主要有这几点
作者:
Jesse_ice
时间:
2016-7-15 21:25
while(!key)应该放在i++花括号的后面,另外我看你的延时将近有40毫秒,稍微有点长哦
作者:
zl2168
时间:
2016-7-15 21:28
电路没有,程序注释没有,按键是否带锁也没说明,虽可揣摩楼主意图,但很吃力。
作者:
rrergregvre
时间:
2016-7-16 21:37
语法有错
作者:
超级小太阳
时间:
2016-7-17 21:45
1.keyscan有问题,if用法错误,应该是if(keys==0)
2.i多余可以不用只用num 这样两个条件更复杂
作者:
huayangshiboqi
时间:
2016-7-18 21:52
if(i==1&&num==20),这里有问题,运算优先级你没弄清楚,&&
作者:
huayangshiboqi
时间:
2016-7-18 21:53
&&的优先级比==高,所以if(i==1&&num==20),应该改为if((i==1)&&(num==20))
作者:
TIANYUN1573
时间:
2016-7-18 23:49
while(1)
{
key_Scan();
}
语法有错
作者:
王杰
时间:
2016-7-19 17:52
keyscan有问题,if用法错误,应该是if(keys==0)这样的
作者:
Super玛莉
时间:
2016-7-20 09:26
语法有错
作者:
Jessica啊啊啊
时间:
2016-7-20 10:12
代码错误
作者:
majianya
时间:
2016-7-22 14:33
关注一下
作者:
majianya
时间:
2016-7-22 14:50
学习学习
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1