[51单片机] 这段程序里的两个小问题,求助!纠结我两天了已经,是不是中断和计时器有冲突啊?。 求解释
#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitwela=P2^7;sbitdula...
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7;
sbit dula=P2^6;
sbit led1=P1^0;//定义第一只发光二极管
uchar shi,ge,n;
uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void delay(uchar);
void display(uchar,uchar);
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
EX0=1;//电平触发
ET0=1;//定时器0
TR0=1;
while(1)
{
if(n==20)//定时器每次中断是50ms,持续20次达到1s
{
n=0;
ge++;
if(ge==10)
{
ge=0;
shi++;
}
if(shi==6)
{
shi=0;
}
}
display(shi,ge);
}
}
void EX0_time() interrupt 0 //进入中断后LED亮,可是为什么运行后LED0一直亮,真的很费解。△
{
led1=0;//将P3^2接地时只是数码管即使停止,不管INT0中断有没有触发,LED0从头到尾时钟在亮
}
void ET0_time() interrupt 1//还有一个现象:现在是定时器0,计时正常,当换成计时器1时,计时不正常了就??!和实际时间不符
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
n++;
} 展开
#define uint unsigned int
#define uchar unsigned char
sbit wela=P2^7;
sbit dula=P2^6;
sbit led1=P1^0;//定义第一只发光二极管
uchar shi,ge,n;
uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; void delay(uchar);
void display(uchar,uchar);
void main()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
EX0=1;//电平触发
ET0=1;//定时器0
TR0=1;
while(1)
{
if(n==20)//定时器每次中断是50ms,持续20次达到1s
{
n=0;
ge++;
if(ge==10)
{
ge=0;
shi++;
}
if(shi==6)
{
shi=0;
}
}
display(shi,ge);
}
}
void EX0_time() interrupt 0 //进入中断后LED亮,可是为什么运行后LED0一直亮,真的很费解。△
{
led1=0;//将P3^2接地时只是数码管即使停止,不管INT0中断有没有触发,LED0从头到尾时钟在亮
}
void ET0_time() interrupt 1//还有一个现象:现在是定时器0,计时正常,当换成计时器1时,计时不正常了就??!和实际时间不符
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
n++;
} 展开
4个回答
展开全部
第一:你的led1=0点亮LED但是没有led1=1所以LED一直发光了,
第二:不知道你是怎么换成定时器2的,你的初值是给定时器1设置的,你改成定时器2的时候有改过吗,
第二:不知道你是怎么换成定时器2的,你的初值是给定时器1设置的,你改成定时器2的时候有改过吗,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么问题呢?你把程序发给我,我给你看看,你截图的话。可能大家都没时间一行一行去看哟!!!
更多追问追答
追问
嗯嗯,你给个邮箱吧,我发给你,谢谢
追答
请发至bincod@163.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只看到led1=0; 没看到led1=1;啊
追问
嗯,我是想在触发低电平时LED亮,可是事实是,我即使不给低电平,(我只是打开电源,没有触发低电平。如果我触发低电平后,断开那么LED是不是ing该一直亮着?)LED也亮,这是为什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-02
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询