📄 pwm脉宽调制.txt
字号:
#include "REG51.h"
int getdata=0;
unsigned char count;
unsigned char i,j,n;
sbit P37=P3^7;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^5;
void main(void)//本次实验选的通道IN0
{TMOD=0x21;
TH0=(65536-25600)/256;
TL0=(65536-25600)%256;
TH1=206;
TL1=206;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
OE=0;//不允许输出
ST=0;
ST=1;
ST=0;//启动ADC0809
count=0;
while(1)
{
if(EOC==1)//数据转换完毕
{
OE=1;//输出允许
getdata=P0;
OE=0;//关毕输出
P1=getdata;
getdata=getdata*100;
ST=1;
ST=0;//又启动ADC0809
}
}
}
void t0(void) interrupt 1 using 0
{
switch(count)
{
case 0:
P37=1;
TH0=(65535-getdata)/256;
TL0=(65535-getdata)%256;
count=1;
break;
case 1:
P37=0;
TH0=(65535-(25600-getdata))/256;
TL0=(65535-(25600-getdata))%256;
count=0;
break;
}
}
void t1(void) interrupt 3 using 0
{
CLK=~CLK;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -