資源簡介
直流電機控制程序,可以學習proteus仿真,包含c文件及protues文件

代碼片段和文件信息
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????//?PWM?控制?DC電機轉速
//?晶振為12M
//?利用定時器控制產生占空比可變的?PWM?波
//?按K1,PWM值增加,則占空比增加電機轉快
//?按K2,PWM值減小,則占空比減小電機轉慢。
//?當PWM值增加到最大值(255)或減小到最小值(1)時,蜂鳴器將報警。
#include?
sbit??K1?=P1^0?;????????????//增加鍵
sbit??K2?=P1^1?;????????????//減少鍵
sbit??K3?=P1^2?;????????????//轉向選擇鍵
sbit??PWMUOT?=P3^0?; //PWM波輸出
sbit??turn_around?=P3^1?; //轉向控制輸出
sbit??BEEP?=P3^2?;??????????//蜂鳴器
unsigned?int?PWM;???
void?Beep(void);
void?delay(unsigned?int?n);
void?main(void)
{???
?????TMOD=0x11;//設置T0、T1為方式1(16位定時器)
?????TH0=0?;???//65536us延時常數(t=(65536-TH)/fosc/12)
?TL0=0;
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????M?;?//脈寬調節,高8位
?TL1=0;
?????EA=1; ?//開總中斷
?????ET0=1; ?//開T0中斷
?????ET1=1; ?//開T1中斷
?????TR0=1?; ?//T0定時允許
???while(1)
???{ ?
?if(K3==0&&K1==1&&K2==1)//轉向控制
???{
turn_around=!turn_around;
?}
?while(K3==0);//檢測K3是否釋放
?do{
PWM++?;
if(PWM>0xfe)//防止PWM計數溢出
{
PWM=0xff;
}
if(PWM==0xff)Beep()?;?
delay(3000);
?????????}
?????while(K1==0&&K2==1);
?????do{
PWM--?;
if(PWM<1)//防止PWM計數溢出
{
PWM=1;
}
if(PWM==1)Beep()?;
delay(3000);
??????????}
?????while(K1==1&&K2==0);
???}
}
void?timer0()?interrupt?1?using?2//?定時器0中斷服務程序.
{??
????TR1=0?; ?//T1禁止
TH0=0?;????//置T0定時常數
TL0=0?;
TH1=PWM?; ?//置T1定時常數
TL1=0;
TR1=1?; ?//T1允許
? PWMUOT=0?;?//PWM波輸出0?
}
void?timer1()?interrupt?3?using?3 ?//?定時器1中斷服務程序
{?
????TR1=0?; ?//T1禁止
????PWMUOT=1?;?//PWM波輸出1
}
void?Beep(void)???//蜂鳴器子程序??
??{
??????unsigned?char?i;
??????for?(i=0;i<100;i++)
?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????107833??2008-11-08?23:57??1?直流電機控制\Last?Loaded?pwm.DBK
?????文件?????106991??2008-11-09?10:46??1?直流電機控制\Last?Loaded?pwm1.DBK
?????文件?????106991??2008-11-09?10:54??1?直流電機控制\pwm.DSN
?????文件????????840??2002-12-28?18:00??1?直流電機控制\pwm.PWI
?????文件????????792??2008-11-09?10:58??1?直流電機控制\pwm1.PWI
?????文件???????4310??2008-11-09?10:53??1?直流電機控制\pwm2
?????文件???????3462??2008-12-28?19:30??1?直流電機控制\pwm2.c
?????文件????????696??2008-11-09?10:53??1?直流電機控制\pwm2.hex
?????文件?????????64??2008-11-09?10:53??1?直流電機控制\pwm2.lnp
?????文件???????4415??2008-11-09?10:53??1?直流電機控制\pwm2.LST
?????文件???????7906??2008-11-09?10:53??1?直流電機控制\pwm2.M51
?????文件???????4337??2008-11-09?10:53??1?直流電機控制\pwm2.OBJ
?????文件???????1476??2008-12-25?23:28??1?直流電機控制\pwm2.Opt
?????文件????????162??2008-12-25?23:28??1?直流電機控制\pwm2.plg
?????文件???????2045??2008-12-25?23:28??1?直流電機控制\pwm2.Uv2
?????文件???????6376??2005-03-22?15:22??1?直流電機控制\STARTUP.A51
?????文件??????14049??2008-11-09?10:53??1?直流電機控制\STARTUP.LST
?????文件????????749??2008-11-09?10:53??1?直流電機控制\STARTUP.OBJ
?????目錄??????????0??2013-06-05?12:16??1?直流電機控制
-----------?---------??----------?-----??----
???????????????373494????????????????????19
- 上一篇:藍屏分析大全分析藍屏原因
- 下一篇:學生成績管理系統制作教程(含代碼)
評論
共有 條評論