基于STC89C52单片机红外遥控步进电机 - 图文(3)

2019-04-01 15:59

(3)、在正转反转状态下:连续按下+键,单片机调用加速指令,步进电机开始加速。连续按下-键,单片机调用减速指令,步进电机开始减速。 七、实施步骤 1.步骤

(1)方案确定:分析题目要求,手机资料,提出方案并论证; (2)基于STC89S52单片机红外遥控步进电机:

a) 完成基于STC89S52单片机红外遥控步进电机的原理图的设计及电路分析

基于STC89S52单片机红外遥控步进电机的原件清单;关b)键元器件选购; (3)线路板的设计与制作

1) ProtelDXP完成线路板的设计 2) 利用热转印方法完成线路板的制作

(4)基于STC89S52单片机红外遥控逼近电机的制作

1) 完成线路板的装配; 2) 简易外壳的制作;

3) 利用知道老师提供的程序完成整机的调试。

(5)程序编写、调试及仿真(使用KeilC51和Proteus开发工具软件)

(6)基于STC89S52单片机红外遥控步进电机的原理图;

八、项目清单

红外遥控步进电机耗材清单

序 号 1 2 3 4 5 6 7 8 9 10 11 12 耗材名称 碳膜电阻 瓷片电容 瓷片电容 电解电容 电解电容 晶振 桥堆 保险丝 IC IC 单片机 单片机插座 规格/型号 10K 104 30p 220uF/16V 220uF/3.5V 12MHz ULN2003A L7805CV AT89C51 DIP-40 合计数量 10 3 2 2 2 1 2 1 1 1 1 1 13 14 15 16 17 18 20 21 22 23 24 25 26 IC插座 2脚插座 4脚插座 2脚插座 变压器 电动机 碳膜电阻 电解电容 3脚插座 红外接收器 按键开关 碳膜电阻 电解电容 DIP-16 白色 白色 蓝色 AC9V 42BYGH102 15K 4.7uF 白色 SW-PB 100 22uF 1 2 1 1 1 1 1 1 1 1 1 1 1 总计

九、项目程序

#include

#define uchar unsigned char #define uint unsigned int

sbit IRIN=P3^2; //红处接收端口 sbit BEEP = P2^0; //蜂鸣器驱动线 bit direction,flag;

uchar count1=0,count2=0; uchar rate=9; uchar IRCOM[6]; unsigned char code FFW[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6}; //反转 unsigned char code REV[8]={0xf6,0xf7,0xf3,0xfb,0xf9,0xfd,0xfc,0xfe}; //正转 char code reserve[3]; //保留0x3b开始的3个字节

/******************************************************************* 延时子函数

*******************************************************************/

void delay(uchar x)

{

uchar i; while(x--) {

for(i=0;i<14;i++); } }

void beep(void) {

unsigned char i; for (i=0;i<100;i++) {

delay(4);

BEEP=!BEEP; //BEEP取反 }

BEEP=1; //关闭蜂鸣器 }

/******************************************************************* 主函数

*******************************************************************/

void main(void) {

BEEP=1;

P0=0xff; //端口初始化 P1=0xff;

TMOD=0x01; //Timer0工作方式1 TH0=0xf8; //2ms定时常数 TL0=0xcc;

ET0=1; //允许Timer0中断 EA=1; TR0=0; EX0=1; IT0=1;

direction=1; while(1) {

if(IRCOM[2]==0x47) //为遥控器的K1键 {

TR0=0;

P0=0xf0; //步进电机断电 }

if(IRCOM[2]==0x43) //为遥控器的up键 {

direction=1; //置运行方向标志位(正转) TR0=1; }

if(IRCOM[2]==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);


基于STC89C52单片机红外遥控步进电机 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:吉大17秋学期《生物药剂与药物动力学》在线作业二

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: