PWM产生可调方波
但下载到芯片内无反应,求解
#include<reg52.h> //doesnt work
typedef unsigned char uchar;
sbit V_OUT=P1^0;
sbit KEY1=P3^4;
sbit KEY2=P3^5;
int t1,t2;
void timer0_1_init(void)
{
TMOD=0x11;
TH0=0xff;
TL0=0xff;
TH1=0xff;
TL1=0xff;
ET0=1;
ET1=1;
TR0=1;
EA=1;
}
void timer0()interrupt 1 using 1
{
V_OUT=0;
TH1=t1/10;
TL0=t1%10;
TR0=0;
TR1=1;
}
void timer1()interrupt 3 using 2
{
V_OUT=1;
TH1=t2/10;
TL1=t2%10;
TR1=0;
TR0=1;
}
void main(void)
{
t1=56320,t2=t1;
while(1)
{
KEY1=1;
if(KEY1==0)
{
t1+=10;
if(t1<56320)t1=56320;
}
KEY2=1;
if(KEY2==0)
{
t2++;
if(t2<56320)t2=56320;
}
}
}
定时器初始化程序没怎么看,假设你的定时器能够正常工作,那问题就出现在main函数里面,KEY1=1;KEY2=1;这两句是什么意思?KEY1、KEY2都置1了,下面的判断还能执行吗?可以去掉那两句试一下
定时器初始化程序没怎么看,假设你的定时器能够正常工作,那问题就出现在main函数里面,KEY1=1;KEY2=1;这两句是什么意思?KEY1、KEY2都置1了,下面的判断还能执行吗?可以去掉那两句试一下
定时器初始化程序没怎么看,假设你的定时器能够正常工作,那问题就出现在main函数里面,KEY1=1;KEY2=1;这两句是什么意思?KEY1、KEY2都置1了,下面的判断还能执行吗?可以去掉那两句试一下
定时器初始化程序没怎么看,假设你的定时器能够正常工作,那问题就出现在main函数里面,KEY1=1;KEY2=1;这两句是什么意思?KEY1、KEY2都置1了,下面的判断还能执行吗?可以去掉那两句试一下
定时器初始化程序没怎么看,假设你的定时器能够正常工作,那问题就出现在main函数里面,KEY1=1;KEY2=1;这两句是什么意思?KEY1、KEY2都置1了,下面的判断还能执行吗?可以去掉那两句试一下
KEY1=1; KEY2=1;这两句在前边,后边的判断语句是进不去的
KEY1=1; KEY2=1;这两句在前边,后边的判断语句是进不去的
KEY1=1; KEY2=1;这两句在前边,后边的判断语句是进不去的
额。只有初始化中断却没有中断服务程序吗?
key1,key2是单片机口接的一个按键,另一端接地
是独立按键检测
有啊 void timer0()interrupt 1 using 1
是不是差个键盘扫面程序
void scan()
if(k1=1)
delay 10ms
if(k1=1)
{
...
}
上面应该是== 打快了 没注意
应该不是键盘扫描的问题,单片机读IO口的速度还没有太快
改了一下定时初值,发现可以让LED灯渐变了
对定时器理解还不太透彻
感谢前辈指点