單片機源程序如下:
- /*******************************************************************************
- --------------------------------------------------------------------------------
- * 實 驗 名 : PWM調速直流電機試驗
- * 實驗說明 : 使用PWM輸出控制直流電機的轉速
- * 連接方式 : 見連接圖
- * 注 意 :
- *******************************************************************************/
- #include <reg52.h>
- //--定義使用的IO口--//
- sbit PWM=P1^0;
- //--定義一個全局變量--//
- unsigned char timer1;
- void Time1Config();
- /*******************************************************************************
- * 函 數 名 : main
- * 函數功能 : 主函數
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void main(void)
- {
- Time1Config();
- while(1)
- {
- if(timer1>100) //PWM周期為100*0.5ms
- {
- timer1=0;
- }
- if(timer1 < 30) //改變30這個值可以改變直流電機的速度
- {
- PWM=1;
- }
- else
- {
- PWM=0;
- }
- }
-
- }
- /*******************************************************************************
- * 函 數 名 : Time1Config
- * 函數功能 : 設置定時器
- * 輸 入 : 無
- * 輸 出 : 無
- *******************************************************************************/
- void Time1Config()
- {
- TMOD|= 0x10; //設置定時計數器工作方式1為定時器
- //--定時器賦初始值,12MHZ下定時0.5ms--//
- TH1 = 0xFE;
- TL1 = 0x0C;
-
- ET1 = 1; //開啟定時器1中斷
- EA = 1;
- TR1 = 1; //開啟定時器
- }
- /*******************************************************************************
- * 函 數 名 : Time1
- * 函數功能 : 定時器1的中斷函數
- * 輸 入 : 無
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
直流電機.zip
(1.19 MB, 下載次數: 72)
2017-10-1 10:37 上傳
點擊文件名下載附件
控制直流電機程序
|