标题: 单片机程序设置按键定时为什么灯一直不亮,帮忙看看哪里出了问题 [打印本页]

作者: 逆倒尘光    时间: 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;
        }        
}




作者: 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