PWM产生可调方波

2019-07-15 16:28发布

STC89C52RC 定时器0控制高电平,定时器1控制周期,两个按键分别增加t1和t2值
但下载到芯片内无反应,求解
#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;
                }
        }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
bbxy2010
1楼-- · 2019-07-16 17:53

KEY1=1; KEY2=1;这两句在前边,后边的判断语句是进不去的
bbxy2010
2楼-- · 2019-07-16 20:48

KEY1=1; KEY2=1;这两句在前边,后边的判断语句是进不去的
刘方南
3楼-- · 2019-07-17 01:56
额。。只有初始化中断却没有中断服务程序吗?
weslydreamer
4楼-- · 2019-07-17 06:15
 精彩回答 2  元偷偷看……
weslydreamer
5楼-- · 2019-07-17 10:03
刘方南 发表于 2015-7-28 21:31
额。。只有初始化中断却没有中断服务程序吗?

有啊 void timer0()interrupt 1 using 1
haohaozhu
6楼-- · 2019-07-17 10:34
是不是差个键盘扫面程序
void scan()
if(k1=1)
delay 10ms
if(k1=1)
{
...
}

一周热门 更多>