第五届全国大学生机械创新设计大赛作品设计说明书
{
time1_val++; } zhiliudj() { if(time1_val>zhouji) { time1_val=0 IN1=1;
}
if(time0_val>maikuan) { time0_val=0 IN1=1; }
} main() {
SCON = 0x52; /* SCON */ TMOD = 0x22; /* TMOD */ TCON = 0x69; /* TCON */ TH1 = 0xf3; /* TH1 */ TH0 = 0xf3; }
21
第五届全国大学生机械创新设计大赛作品设计说明书
利用脉宽驱动电机程序
#include
#include
unsigned char maikuan=0; sbit diandj=P1^0; //电机驱动端口
void time0() interrupt 1 //定时器0定时20ms中断 {
Dianji=1;
ET1=1; //打开定时器1中断 TR1=1; //定时器1开始定时
TH1=0Xd8+maikuan; //定时器1定时10ms中断 maikuan越大,速度小
TL1=0Xf0; }
void time1() interrupt 3 //定时器1定时maikuan ms中断 { } void main() { EA=1; IT0=1; IT1=1;
22
Dianji=0;
ET1=0; //关闭定时器1中断 TR1=0; //定时器1关闭定时
// 打开中断总允许位
// 设置外部中断为边沿(下降沿)触发方式
第五届全国大学生机械创新设计大赛作品设计说明书
TH0=0XB1; //定时器0定时20ms中断 TL0=0XE0;
TH1=0Xd8; //定时器1定时10ms中断 TL1=0Xf0;
TMOD=0x11;
// 设置T0/1为工作方式1(16位定时器)
ET0=1; //打开定时器0中断 TR0=1;
//定时器0开始定时
maikuan=1; while(1); }
23