|
51單片機占空比可調模擬的仿真原理圖:
0.png (21.65 KB, 下載次數: 74)
下載附件
2016-10-10 15:06 上傳
單片機源程序:
- /********************************************************************
- 天馬電子
- *********************************************************************/
- #include<reg52.h>
- #define uchar unsigned char //宏定義無符號字符型
- #define uint unsigned int //宏定義無符號整型
- uchar b; //中斷值
- uchar N=0; //占空比計數值
- uchar X=50; //占空比初始值百分比
- uchar z=0;
- uchar key_up;
- uchar key_down;
- /************************************************************************
- 按鍵初始化
- *************************************************************************/
- sbit P2_0=P2^0;//占空比加
- sbit P2_1=P2^1;//占空比減
- sbit PWM=P3^7;//控制PWM的占空比輸出
- /************************************************************************
- 調速按鍵掃描函數
- *************************************************************************/
- void get_key(void)//按鍵掃描函數
- {
- while(P2_0==0)//按鍵加計數標志
- {key_up=1;
- }
- while(P2_1==0)//按鍵減計數標志
- {key_down=1;
- }
- }
- /************************************************************************
- 定時器中斷執行函數
- *************************************************************************/
- void timer0( ) interrupt 1 //定時器0工作方式1
- {
- TH0=(65536-1)/256; //重裝計數初值
- TL0=(65536-1)%256; //重裝計數初值
- b++;
- get_key();
- if (key_up==1)
- {
- if(X!=100)//判斷是否計數到100
- {
- X++;//加一
- key_up=0;
- }
- }
- if (key_down==1)
- {
- if(X!=0)//判斷是否計數到0
- {
- X--;//減一
- key_down=0;
- }
- }
- }
- /************************************************************************
- 程序主函數
- *************************************************************************/
- void main()
- {
- TMOD=0X01; //定時器中斷0
- TH0=(65536-2)/256; //定時時間高八位初值
- TL0=(65536-2)%256; //定時時間低八位初值
- EA=1; //開CPU中斷
- ET0=1; //開T/C0中斷
- TR0=1;
- /****************************PWM處理部分*********************************************/
- while(1)
- {
- PWM=1;
- while(1)
- {
- b=0;
- while(!b);
- if (N==X)
- PWM=0;
- if(N==100)break;
- N++;
- /*************************************************************************************/
- }
- N=0;
- }
- }
- /******************************程序結束************************************************/
復制代碼
0.png (56.9 KB, 下載次數: 73)
下載附件
2016-10-10 15:07 上傳
占空比可調模擬仿真程序.rar
(57.81 KB, 下載次數: 60)
2016-10-10 15:08 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|