久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
讓沒有PWM功能的單片機實現PWM功能
[打印本頁]
作者:
wangming
時間:
2015-2-11 01:51
標題:
讓沒有PWM功能的單片機實現PWM功能
AT89S51本身沒有PWM接口,程序采用軟件模擬PWM,P1口控制LED亮度,模擬PWM輸出控制燈的10個亮度級。
#include <reg51.h>
#define uInt unsigned int
#define uchar unsigned char
uchar PWM_T = 0; //占空比控制變量
//////////////////主程序入口//////////////////////
void main(void)
{
bit flag = 1; //控制燈漸亮漸熄方式
uInt n;
TMOD=0x02; //定時器0,工作模式2,8位定時模式
TH0=241; //寫入預置初值241到定時器0,使15微秒溢出一次(11.0592MHz)
TL0=241; //寫入預置值
TR0=1; //啟動定時器
ET0=1; //允許定時器0中斷
EA=1; //允許總中斷
P1=0xff; //初始化P1
while(1)
{
for(n=0;n<300;n++); //延時,將響應定時器中斷,燈會自動加/減一個檔次的亮度
if(flag==1) //燈漸亮
PWM_T++;
else //燈漸熄
PWM_T--;
if(PWM_T>=10) //設置燈亮度級別為10
flag=0;
if(PWM_T==0) //限定最低亮度級別為0
flag = 1;
}
}
///////////////////定時器0中斷模擬PWM////////////////////
timer0() interrupt 1 using 2
{
static uchar t ; //t用來保存當前時間在一秒中的比例位置
t++; //每15微秒增加1
if(t==10) //1.5毫秒的時鐘周期
{
t=0; //使t=0,開始新的PWM周期
P1=0x00; //使LED燈亮
}
if(PWM_T==t) //按照當前占空比切換輸出為高電平
P1=0xff; //使LED燈滅
}
復制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久久亚洲国产精品
|
日本毛片在线观看
|
亚洲欧美在线播放
|
国产成人综合网
|
日b视频在线观看
|
一区二区久久
|
黄色aaa
|
亚洲精品一区在线观看
|
欧美美女性生活
|
免费看a级片
|
国产91在线播放
|
夜夜骑夜夜
|
精品免费国产
|
欧美在线一区二区
|
亚洲国产成人av
|
欧美日韩国
|
91精品国产综合久久久久久
|
91片黄在线观看
|
国产高潮在线观看
|
国产综合久久久
|
日韩中文字幕免费
|
综合色婷婷
|
黄色大片视频
|
狠狠的日
|
黄色片中文字幕
|
91久久国产综合久久
|
97久久久久
|
大乳女喂男人吃奶
|
欧美性猛交一区二区三区精品
|
男女啪啪免费视频
|
一级黄色免费视频
|
日韩 欧美 亚洲
|
手机看片福利永久
|
天天爽天天操
|
男女视频网站
|
欧美成人精品欧美一级乱黄
|
亚洲激情网站
|
免费看片网站91
|
六月婷婷在线
|
欧美18免费视频
|
欧美精品区
|