标题:
单片机程序设置按键定时为什么灯一直不亮,帮忙看看哪里出了问题
[打印本页]
作者:
逆倒尘光
时间:
2019-12-23 15:26
标题:
单片机程序设置按键定时为什么灯一直不亮,帮忙看看哪里出了问题
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint i,count;
sbit s1=P1^0;
void main()
{
TMOD=0x01;
TH1=(65536-60000)/256; //高8位
TL1=(65536-60000)%256; //低8位
P1=0x00;
EA=1; //打开中断总开关,1表示打开,0表示关闭
ET0=1; //打开定时/计数器中断0
TR0=1; //启动定时器
while(1);
{
if(s1==0)
count++;
if(count==20)
P1=0x00;
}
}
void interrupt_0()interrupt 1
{
TH1=(65536-60000)/256; //高8位
TL1=(65536-60000)%256; //低8位
count--;
if(i<=0)
{
i=20;
P1=~P1;
}
}
请问.png
(58.98 KB, 下载次数: 47)
下载附件
2019-12-23 15:24 上传
作者:
man1234567
时间:
2019-12-23 16:48
if(i<=0): i 的初始值是多少 ?如何变化 ?
作者:
ahshmj
时间:
2019-12-23 16:48
你说的是哪个灯一直亮?你那图上就一个灯,接在P0口,你对P0口有操作吗?
作者:
moluxiyan
时间:
2019-12-23 17:24
你程序里操作的是P1口
作者:
mffhxa
时间:
2019-12-23 17:55
主函数里P1=0,改成P1=1就可以了。楼主程序因为P1=0,所以进到第一个if语句就再也出不来了,哈哈。
作者:
cphnkj188
时间:
2019-12-24 08:46
程序和实际接线图不符
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1