致 谢
经过近半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,想要完成这个设计还是比较困难的。
在这里首先要感谢我的导师沈老师。沈老师平日里工作繁多,但在我做毕业设计的时期,一直关心我的论文进展,从设计草案的确定和修改,中期检查,后期详细设计等整个过程中都给予了我很大的关心。如果没有沈老师的帮助和关怀,我不会这么顺利的完成毕业设计,借此机会,我要向沈老师表示由衷的感激。
然后我还要感谢和我一起做毕业设计的同学。在做毕业设计的几个月里,你们给我提出很多的宝贵意见和建议,在此也真诚的谢谢你们。同时我还要感谢我的室友和身边的朋友,正是在这样一个团结友爱,相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。
第 36 页 共 50 页
附程序清单:
/**********************************************/ // 直流电机控制系统
/**********************************************/ // // K1:正转
// K2:停止 // K3:反转 // K4:加速 // K5:减速
//*********************************************// #include
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
sbit IN1 = P2^7; // 方向控制端口 sbit IN2 = P2^6; // 方向控制端口
sbit ENA = P2^5;
// 使能控制端口 当ENA =电机停止转动
第 37 页 共 50 页
的时候 0
sbit IRIN = P3^2; //红外接收器数据线
uchar PWM; //周期-脉宽 uchar tt ; //脉宽
uint walk; //中断计数,采集脉冲 uchar qian=0,bai=0,shi=0,ge=0; uchar on=0; uint click=0;
void delay(uchar x); //x*0.14MS void delay1(int ms); uchar IRCOM[7]; uchar kz;
//函数声明
void init(); void keyscan();
//初始化函数 //按键扫描子函数
//延时函数
//电机控制
void delay_ms(uchar); void tanslate(); void disp();
//拆分函数
//显示函数
//*******************主函数***********************/
第 38 页 共 50 页
void main() {
init(); //初始化函数 while(1) {
keyscan(); //按键扫描函数
} }
/***************************************************************/ //
// 函数名称:init() //
//功能描述: 主要初始化定时器和外中断 //
//入口参数: 无 //
//出口参数: 无 //
/***************************************************************/ void init() {
IRIN=1; //I/O口初始化
第 39 页 共 50 页
delay1(10); //延时
IE = 0x83; //允许总中断中断,使能 INT0 外部中断
T0中断
TCON = 0x01; //触发方式为脉冲负边沿触发
TMOD = 0x01 ; //定时器0工作于方式1 TH0 = 0xfe ; //初值0.5ms中断 TL0 = 0x0c ;
TR0=1;
//开启定时器0
//使能端口初始化 //方向端口初始化
ENA = 0;
IN1 = 1; }
IN2 = 0; tt = 10;
/***************************************************************/ //
// 函数名称:keyscan() //
//功能描述: 按键扫描函数 //
//入口参数: 无 //
//出口参数: 无
第 40 页 共 50 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于红外遥控的电机控制系统设计与实现(8)在线全文阅读。
相关推荐: