?? pwm調制程序.c
字號:
//實驗名稱 PWM調制程序
//實驗說明 key(接于P0.0)用來控制脈寬的高電平時間,可以在P2.0引腳接一個LED做測試。控制燈的亮度。
#include <reg52.h> //相應單片機頭文件
#define CIRCLE 10 //CIRCLE=10
void pwmkey(void); //聲明函數pwmkey
unsigned char count=1,last;
sbit LED=P1^0;
sbit KEY=P3^0;
//主程序
void main(void)
{
EA=1; //CPU開中斷
ET0=1; //開T0溢出中斷
TH0=(65536-1000)/256; //TH0=252
TL0=(65536-1000)%256; //TL0=24
TR0=1; //啟動T0工作
count=1; //初始化count
last=1; //初始化last
while(1)
{
pwmkey();
}
}
//pwmkey函數定義
void pwmkey(void)
{
char old=0 ,new=0;
while(1)
{
new=KEY;
if(new&&!old) //new=1且old=0時,last加1
last++;
if(last>CIRCLE) //new=0且old=0(或者new=1),last>CIRCLE時,last=1
last=1;
old=new; //否則,old=new
}
}
//T0中斷服務子程序
void into(void) interrupt 1
{
count++;
if(count>CIRCLE)
{
count=1;
}
if(count<=last)
LED=0;
else
LED=1;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -