微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 程序是定时器控制蜂鸣器输出1,10,50,100,200,400,800,1000的方波,现在有点问题,请大神帮忙查错,谢谢

程序是定时器控制蜂鸣器输出1,10,50,100,200,400,800,1000的方波,现在有点问题,请大神帮忙查错,谢谢

时间:10-02 整理:3721RD 点击:
程序有点问题,请大神帮忙查错,谢谢
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned code table[]={50000,50000,10000,2000,1000,500,250,125,100};//输出1.10.50.100.200.400.800.1000的方波
sbit beep=P2^3;
uchar a,i,j;
uchar j=0,i=0;
void main()
{beep=0;
TMOD=0X11;//初始化,方式1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
TH0=(65536-table[j])/256;
TH0=(65536-table[j])%256;
ET0=1;
TR0=1;
while(1);
}
void time()interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
i++;
if(i==20)
{ i=0;
j++;
if(j==9)
j=0;
}
}
void time_t0() interrupt 1
{ TR0=0;
TH0=(65536-table[j])/256;
TH0=(65536-table[j])%256;
a++; if(a==10)
{ a=0;
beep=~beep;
}
TR0=1;}
j=0;
}
}
void time_t0() interrupt 1
{ TR0=0;
TH0=(65536-table[j])/256;
TH0=(65536-table[j])%256;
a++; if(a==10)
{ a=0;
beep=~beep;
}
TR0=1;}
上一页

具体什么问题,
你的unsigned code是多少位的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top