📄 pwmg.txt
字号:
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include<reg52.h>
sbit P10=P1^0;//波形输出
//sbit K1=P3^0;//按键1,机器周期增大
//sbit K2=P3^1;//按键2,机器周期减小
//sbit K3=P3^2;//按键3,占空比增大
//sbit K4=P3^3;//按键4,占空比减小
static uchar T;//机器周期 //全局变量
static uchar D;//占空比
void delay(uchar n); //函数调用
void main(void)
{
TH0=0x3C;
TL0=0xB0;//用6M晶振,机器周期0.1s
TH1=0x3C;
TL1=0xB0;
ET0=1;//T0中断允许
ET1=1;
EA=1;//总中断允许
//PT0=0;//T0低中断优先级
//PT1=1;//T1高中断优先级
TR0=1;//T0开始计数
TR1=0;//T1禁止运行,等待被唤醒
while(1)
{
;
}
}
timerT0() interrupt 1
{
if(T==10)//最大周期到1s
{
T=0;
}
T++;
P=1;
TR0=0;//T增1后,T0停止计数
TR1=1;//T1开始计数,D++
}
timerT1() interrupt 3
{
D++;
if(D!=T)
{
P10=0;
delay(5000); //消除鬼影
}
if(D=T)
TR0=1;
TR1=0;
P10=1;
}
void delay(uchar t)
{
while(t--) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -