資源簡介
基于51單片機的開發詳細講解,為大家更好的學習51單片機,方便交流

代碼片段和文件信息
#include?
#define?u8?unsigned?char
sbit?led=P2^0;
u8?v=0;//v取值10-19,對應占空比50%-95%
u8?n=0;//中斷次數計數
u8?c=0;//同一占空比脈沖重復30次,脈沖周期2000us,即每隔60ms更新一次占空比
bit?flag=1;//=1占空比遞增;=0占空比遞減
void?main()
{
?TMOD=0x02;//定時器0工作方式2
//?TH0=156;??//12MHz晶振,定時100us,計數初值256-100=156//現要求1000us中斷一次
?//TL0=156;
?????TL0=235;
TH0=235;
?EA=1;
?ET0=1;
?TR0=1;
?while(1);
}
//1s=1000ms=1000us
void?time0()?interrupt?1//定時器0//外部中斷?0/2//定時器中斷1/3//自動重裝技術定時:100us
{
//TL0=(8192-100)%32;
//TH0=(8192-100)/32;
?????if(n++ ?????else???????led=1;
?????if(n==100)//20*5%=100%//達到最亮//現在要每次增加占空比1/1000,達到最亮需要1000次
{
?????????? ?n=0;?//中斷次數達到20,即完成一個脈沖周期2000us//20*100us=2000us=2ms//現要求1s實現一個脈沖周期1000000ms
????????????????c++;?//重復輸出該占空比脈沖
?if(c==10){??
?
???c=0;?//同一占空比脈沖重復30次后,修改占空比,即每隔60ms更新一次占空比
?????????????if(flag)??
??v++;??//根據flag修改占空比變化方式?
????????????????????????????else???????
??v--;
if(v--==100)??flag=0;?//占空比遞增到95%時,修改為遞減方式
if(v++==0)???flag=1;?//占空比遞減到50%時,修改為遞增方式
??????????}
??}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-02-24?14:05??呼吸燈\
?????文件???????31232??2018-10-28?13:56??呼吸燈\2016117147?呂建沖?作業三.doc
?????目錄???????????0??2019-02-24?14:05??呼吸燈\pwm\
?????文件????????6376??2009-05-07?14:37??呼吸燈\pwm\STARTUP.A51
?????文件???????14044??2018-11-10?19:49??呼吸燈\pwm\STARTUP.LST
?????文件?????????749??2018-11-10?19:49??呼吸燈\pwm\STARTUP.OBJ
?????文件?????????768??2018-10-31?13:22??呼吸燈\pwm\pwm.PWI
?????文件????????2774??2018-11-10?19:49??呼吸燈\pwm\test0
?????文件????????5240??2018-11-10?19:49??呼吸燈\pwm\test0.M51
?????文件?????????973??2018-11-10?19:49??呼吸燈\pwm\test0.build_log.htm
?????文件?????????779??2018-11-10?19:49??呼吸燈\pwm\test0.hex
?????文件??????????44??2018-11-10?19:49??呼吸燈\pwm\test0.lnp
?????文件?????????570??2018-10-23?08:42??呼吸燈\pwm\test0.plg
?????文件???????69749??2018-11-10?19:50??呼吸燈\pwm\test0.uvgui.Admin
?????文件????????5384??2018-11-10?19:50??呼吸燈\pwm\test0.uvopt
?????文件???????14015??2018-11-10?19:50??呼吸燈\pwm\test0.uvproj
?????文件???????55678??2018-10-22?21:18??呼吸燈\pwm\test0_uvopt.bak
?????文件???????13413??2017-09-03?22:58??呼吸燈\pwm\test0_uvproj.bak
?????文件?????????732??2018-11-01?13:33??呼吸燈\pwm\上位機通信232&PC.PWI
?????文件????????3126??2018-11-10?19:49??呼吸燈\pwm\呼吸燈.LST
?????文件????????2429??2018-11-10?19:49??呼吸燈\pwm\呼吸燈.OBJ
?????文件????????1376??2018-10-31?08:57??呼吸燈\pwm\呼吸燈.c
?????文件????????3138??2018-10-31?08:57??呼吸燈\pwm\點亮一個燈.LST
?????文件????????2481??2018-10-31?08:57??呼吸燈\pwm\點亮一個燈.OBJ
?????文件????????1376??2018-10-31?08:57??呼吸燈\pwm\點亮一個燈.c
?????文件???????93844??2018-10-28?11:13??呼吸燈\pwm.DSN
?????文件?????????768??2018-11-27?08:49??呼吸燈\pwm.PWI
?????文件?????????732??2018-11-01?13:33??呼吸燈\上位機通信232&PC.PWI
- 上一篇:基于51單片機3x4按鍵撥號
- 下一篇:LSI SAS 2308 陣列卡驅動
評論
共有 條評論