方波 的频率和占空比可以改变Microsoft Word 文档
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//51单片机方波占空比、频率可调
#include
sbit P1_0 = P1^0; // P1.0 PWM 输出
sbit key10 = P3^2; // 调节PWM0 占空比按键
sbit key11 = P3^3;
unsigned char PWM0 = 2; // 占空比调整
unsigned char counter = 0; // 计数的
sbit tt1; // 标志位
void main() // 主函数
{
TMOD=0x10;
TH1=(65536-50)/256; // 定时时间可以修改
TL1=(65536-50)%256; // 12 MHz
EA=1; // 中断启动
ET1=1;
TR1=1;
while(1)
{ // 调节PWM0 占空比
if(key10==0 && tt1==0) {tt1 = 1; PWM0++;} // K1、K2
if(key11==0 && tt1==0) {tt1 = 1; PWM0--;}
if(key10==1 && key11==1) tt1=0;
}
}
void Timer0(void) interrupt 3 // 定时器0 PWM 控制
{
TH1=(65536-50)/256; // 定时时间可以修改
TL1=(65536-50)%256;
counter++;
if(counter >= 20) counter = 0; // PWM 20级可以修改if(counter >= PWM0) P1_0 = 0; else P1_0 = 1;
}