基于STC89C52单片机红外遥控步进电机.doc_第1页
基于STC89C52单片机红外遥控步进电机.doc_第2页
基于STC89C52单片机红外遥控步进电机.doc_第3页
基于STC89C52单片机红外遥控步进电机.doc_第4页
基于STC89C52单片机红外遥控步进电机.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中山职业技术学院09届毕业设计项目制作报告项目名称:基于STC89C52单片机红外遥控步进电机系部: 电子信息工程系专业: 电子信息工程技术班级: 09电子2班指导教师:李 森团队成员:张明、梁立生、黄艳芬报告制作人:张 明一、摘要二、关键词三、STC89S52概述1. 概述2. 主要性能3. 单片机引脚分布图四、功能描述及分析五、软件描述1.程序流程图2.判断编码电平流程图六、操作说明七、实施步骤 1.步骤 2.PCB制作流程 3.原理图及电路分析八、项目制作原件清单九、项目程序十、毕业作品实物照十一、毕业设计总结一、摘要随着我国工业化、信息化进程的高速发展,电子信息产业蓬勃发展,国内对单片机及其外围设备研究越来越深入,实用也越来越广泛。无论是工业用品,还是民用产品,基本上都设计到单片机的设计和使用。本设计介绍了一种基于STC89S52单片机的红外遥控步进电机的设计,系统分为红外遥控编解码和驱动步进电机两个模块,设计的系统能通过红外遥控器发射不同的码值来控制步进电机的正反转,加速减速以及启动停止,本报告对该系统的工作原理、硬件电路和软件进行了详细介绍。二、关键词红外遥控;51单片机;步进电机三、STC89S52概述 1.STC89S52是一种低功耗、高性能CMOS8位微控制器、具有8K在系统可编程Flash储存器。实用Atmel公司高密度非易失性储存器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序储存器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使STC89S52为众多嵌入式控制应用系统提供高灵活,超有效地解决方案。 2.主要性能(1)、与MCS_51单片机产品兼容(2)、8K字节在系统可编程Flash存储器(3)、1000次擦写周期(4)、全静态操作:0Hz33Hz(5)、三级加密程序存储器(6)、32个可编程I/O口线(7)、三个16位定时器、计数器(8)、八个中断源(9)、全双工UART串行通道(10)、低功耗空闲和掉电模式(11)、掉电后中断可唤醒(12)、看门狗定时器(13)、双数据指针(14)、掉电标识符 3. 单片机引脚分布图四、功能描述及分析步进驱动红外发送复位电路晶振电路STC89S52红外接收基本构架原理框图1.红外发射模块:遥控发射器采用SC6121编码芯片进行红外遥控发射电路的搭建。SC6121是一块用于红外遥控系统中得虹鳟用发射继承电路,采用CMOS公益制造,它可外接32个按键。通过遥控器发射不同的码值,红外接收电路将接收到的信号送给单片机的外部中断0,单片机接收到信号后通过解码程序对接收到的信号进行处理,使得性和谐信号成为相应的码值。经过处理后这些信号就可以去控制步进电机的正转反转、加速减速以及启动停止。具体的遥控发射应用电路图如图所示红外遥控器:2.红外接收模块:本系统采用的接收模块其核心是与SC6121相对应的LFN0038红外接收头。LFN0038是一颗集接收电路、调制解调电路、低通滤波、放大电路和控制电路为一体的集成接收头,一共有三个引脚输出其中一个是电源一个是接地另一个则是输出,这样就大大方便了我们的使用。LFN0038内部结构如图 由于LFN0038内部集成了强大的信号处理功能,所以在本系统中使用这个LFN0038的接收的时候我们只需要在外部嘉盛一个滤波电路即可,这个RC滤波电路是为了滤除电源端的干扰信号。下图为LFN0038应用电路及遥控器红外接收头电路: 3.步进电机驱动模块:本系统采用额定电压5VDC,相数为四相步进电机。一共6根连接线,其中两根红色的为电源线。采用单极性直流电源供电。只要对不仅电机的各项绕组按合适的时序通电,就能使不仅电机步进转动。由于单片机P口输出地电流比较弱不能驱动不仅电机,所以要价一个ULN2003芯片来放大电流使之能驱动步进电机工作。ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003的每一对达林顿管都串联一个ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。步进电机驱动电路如图:负载电流并行运行。步进电机驱动电路如图:五、软件描述(1)程序流程图主程序系统初始化INT0外部中断设置有没有按下?UP键按下?DOWN按下?正转反转中断子程序(红外译码)关闭中断INTR?跳过ms的前导低电平信号INIR?跳过.ms的前导高电平信号收集四字节数据保存到IRCOM用户码比较接收数据比较数据比较正确吗?数据处理重新开中断返回(2)判断编码电平流程图六、操作说明(1)、接上5V电源线,按下开关按钮,系统初始化。(2)、按下UP按键,单片机调用正转程序指令,步进电机开始做时针运动。 按下DOWN按键,单片机调用反转程序指令,步进电机开始顺时针运动。(3)、在正转反转状态下:连续按下+键,单片机调用加速指令,步进电机开始加速。连续按下-键,单片机调用减速指令,步进电机开始减速。七、实施步骤1.步骤(1)方案确定:分析题目要求,手机资料,提出方案并论证;(2)基于STC89S52单片机红外遥控步进电机:a) 完成基于STC89S52单片机红外遥控步进电机的原理图的设计及电路分析基于STC89S52单片机红外遥控步进电机的原件清单;关b)键元器件选购;(3)线路板的设计与制作1) ProtelDXP完成线路板的设计2) 利用热转印方法完成线路板的制作(4)基于STC89S52单片机红外遥控逼近电机的制作1) 完成线路板的装配;2) 简易外壳的制作;3) 利用知道老师提供的程序完成整机的调试。(5)程序编写、调试及仿真(使用KeilC51和Proteus开发工具软件)(6)基于STC89S52单片机红外遥控步进电机的原理图; 八、项目清单 红外遥控步进电机耗材清单序 号耗材名称规格/型号合计数量1碳膜电阻10K102瓷片电容10433瓷片电容30p24电解电容220uF/16V25电解电容220uF/3.5V26晶振12MHz17桥堆28保险丝19ICULN2003A110ICL7805CV111单片机AT89C51112单片机插座DIP-40113IC插座DIP-161142脚插座白色2154脚插座白色1162脚插座蓝色117变压器AC9V118电动机42BYGH102120碳膜电阻15K121电解电容4.7uF1223脚插座白色123红外接收器124按键开关SW-PB125碳膜电阻100126电解电容22uF1 总计九、项目程序#include#define uchar unsigned char#define uint unsigned intsbit IRIN=P32; /红处接收端口sbit BEEP = P20; /蜂鸣器驱动线bit direction,flag;uchar count1=0,count2=0;uchar rate=9; uchar IRCOM6;unsigned char code FFW8=0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6; /反转unsigned char code REV8=0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe; /正转char code reserve3; /保留0x3b开始的3个字节/* 延时子函数*/void delay(uchar x)uchar i;while(x-) for(i=0;i14;i+);void beep(void) unsigned char i; for (i=0;i100;i+) delay(4); BEEP=!BEEP; /BEEP取反 BEEP=1; /关闭蜂鸣器/* 主函数*/void main(void) BEEP=1;P0=0xff; /端口初始化P1=0xff; TMOD=0x01; /Timer0工作方式1TH0=0xf8; /2ms定时常数TL0=0xcc;ET0=1; /允许Timer0中断EA=1;TR0=0;EX0=1;IT0=1;direction=1;while(1) if(IRCOM2=0x47) /为遥控器的K1键 TR0=0; P0=0xf0; /步进电机断电 if(IRCOM2=0x43) /为遥控器的up键 direction=1; /置运行方向标志位(正转) TR0=1; if(IRCOM2=0x40) /为遥控器的DOWN键 direction=0; /清运行方向标志位(反转) TR0=1;flag=0; /* INT0中断服务子函数*/void IR_IN()interrupt 0 unsigned char j,k,Num=0; EX0=0; /关闭INT0中断 delay(15); /延时 if(IRIN=1) /再确认IR信号是否出现 EX0=1; /开INT0中断 return;/退出while(!IRIN) /等IR变为高电平,跳过9ms的前导低电平信号 delay(1); while(IRIN) /等IR变为低电平,跳过4.5ms的前导高电平信号 delay(1);for (j=0;j4;j+) / 收集四组数据for(k=0;k=15) EX0=1;/.ms计数过长自动离开 return; /高电平计数完毕IRCOMj=IRCOMj1;/数据最高位补“”if(Num=8) IRCOMj=IRCOMj|0x80;/数据最高位补“”Num=0;if(IRCOM0!=0x00)/比较用户码EX0=1; /开INT0中断 return;/退出if(IRCOM2!=IRCOM3)/接收数据是否正确EX0=1;/开INT0中断return;/退出else beep();flag=1;if(IRCOM2=0x09)/“+”键 if(rate4)rate-;elserate=4;if(IRCOM2=0x15)if(rate15)rate+;elserate=15;EX0=1;/重新开INT0中断/* 定时器中断服务子函数*/void motor_onoff() interrupt 1TL0=0xcc;/ms定时常数TH0=0xf8;count1+;if(count1rate)return;elsecount1=0;if(direction=1) /运行方向标志if(count28)P0=FFWcount2&0x1f; /取数据,正转count2+; /取数据次数加if(count2=8)count2=0;elseif(count28)P0=REVcount2&0x1f; /取数据,反转count2+; /取数据次数加if(count2=8)count2=0;十、毕业作品实物照 十一、毕业设计总结 这次毕业设计的作品从设计到产品制作完成,每个步骤都由整个团队跟进,因此整个项目下来,团队的成员都学习到以及熟练掌握一些知识及经验。整个过程中,从需求分析到设计、编码、测试,我都力求规范化和文档化,努力让自己学得知识运用到毕业设计当中。在这次的设计中,我们团队通过配合搜索、查阅单片机、步进电机驱动的相关资料、电路原理图的设计、元器件的领取及购买、焊接、程序的编写等,使得我们在不知不觉中学到很多以及提高了自身的能力。在团队共同努力下,这次毕业设计顺利完成了,为自己的大学生涯画上一个完美的句号。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论