基于单片机控制的步进电机课程设计内容摘要:
程序NO = 1。 ZH EN G = 1 ?F AN = ?AS = 0 ?SS = 0 ?把 R 0 中的值改为 10 HYE SNOYE S主程序加速子程序减速子程序NONONOYE SYE S返回正转时的开始程序 10 ( 图 7) 注:电机反转流程图 把反转标志FAN 单元清零DE C R 0把 R 0 中的值送给 AR 0 = 0 EH。 把以 R 0 中值为地址其单元中的值通过 P 2 口输出 , 同时把以 R 1 中值为地址单元中的值送到R 5调用延时子程序NO = 1 ?ZHENG = 1 ?FAN = 1 ?AS = 1 ?SS = 1 ?R 0 = 0 FH ?NONO把 R 0 中的值置为17 HYES主程序NONOYESYESNO减速子程序加速子程序反转开始程序YESYES 11 当中断返回后 FAN 单元中的值为 1时,主程序就会调用反转子程序,此时电机开始反转。 进入反转子程序后,寄存器 R0 中的值被减 1,如果 R0 中的值不等于 0EH 且不等与 0FH 时(如果和其中的任何一个值相等,则把 R0 中的值置为 17H。 因为驱动电机转动的序列存储在 10H 到 17H 八个单元中),则把以 R0 中值为地址的单元中的值通过 P2 口低 4位输出,把其高低电平信号送到步进电机驱动芯片 ULN2020A,通过 ULN2020A 的输出信号去推动步进电机转动。 同时把以 R1 中值为地址的单元中的值通过间接寻址方式送给 R5。 调用延时子程序 DELAY,在延时值程序返回后分别把停止 (NO)、正转 (ZHENG)、反转 (FAN)标志单元中的值送到A,把 NO 单元中值送到 A后,如果 =1,则反转子程序执行结束,返回主程序,否则顺序执行。 当 NO 单元中值为 0 时,把 ZEHNG 单元中的值送给 A,如果=1 时,反转子程序执行结束,返回主程序。 否则顺序执行。 当 ZHENG 单元中的值为 0 时,把 FAN 单元中的值送到 A,如果 =1,则返回主程序,否则顺序执行。 把 AS 单元中的值送到 A,如果 =1,则调用加速子程序,否则把SS单元中的值送到 A,如果 =1,则调用减速子程序,否则跳转到反转子程序的开始程序继续执行,电机一直反转。 ( c) 程序及注释 正转子程序: GO: ANL ZHENG,00H ;把正转标志位清零 INC R0 ; R0 中的值加 1 MOV A,R0 ;把 R0 中的值赋给 A CJNE A,18H,GO2 ;如果A中值和18H不相等则GO2,否则顺序执行 MOV R0,10H ;给R0送10H GO2: MOV P2,@R0 ;通过间接寻址方式给P2口赋值 MOV A,@R1 ;通过间接寻址给 A赋值 MOV R5,A ;把 A得到的值送到寄存器 R5 LCALL DELAY ;调用延时子程序 MOV A,NO ;把 NO 单元中的内容送到 A JB ,RETURN ;如果 ACC .0=1(即 NO 单元中值为 1)则 RETURN MOV A,ZHENG ;把 ZHENG 单元中的内容送到 A JB ,RETURN ;如果 ACC .0=1(即 ZHENG 单元中值为 1)则RETURN MOV A,FAN ;把 FAN 单元中的内容送到 A JB ,RETURN ;如果 ACC .0=1(即 FAN 单元中值为 1)则 RETURN MOV A,SS ;把 SS单元中的内容送到 A JNB ,GO3 ;如果 ACC .0=0(即 SS 单元中值为 0)则 GO3 LCALL JIAN ;调用 JIAN(减速)子程序 GO3: MOV A,AS ;把 AS 单元中的内容送到 A 12 JNB ,GO4 ;如果 ACC .0=0(即 AS 单元中值为 0)则 GO4 LCALL JIA ;调用 JIA(加速 )子程序 GO4: AJMP GO ;跳转到 GO 反转子程序: BACK: ANL FAN,00H ;把反转标志位清零 DEC R0 ; R0 中的值减 1 MOV A,R0 ;把 R0 中的值送到 A CJNE A,0EH,TT ;如果 A中的值与立即数 0E 不相等则 TT MOV R0,17H ;把立即数 17H 送给 R0 SJMP BACK2 ;跳转到 BACK2 TT: CJNE A,0FH,BACK2 ;如果 A中的值与立即数 0FH 不相等则 BACK2 MOV R0,17H ;把立即数 17H 送到 R0 BACK2: MOV P2,@R0 ;通过间接寻 址方式给 P2 口送值 MOV A,@R1 ;通过 R1 间接寻址给 A赋值 MOV R5,A ;把 R5中的值送给 A LCALL DELAY ;调用延时子程序 MOV A,NO ;把 NO 单元中的值送给 A JB ,RETURN ;如果 为 1则 RETURN MOV A,ZHENG ;把 ZHENG 单元中的值送给 A JB ,RETURN ;如果 为 1则 RETURN MOV A,FAN ;把 FAN 单元中的值送给 A JB ,RETURN ;如果 为 1则 RETURN MOV A,AS ;把 AS单元中的值送给 A JNB ,BACK3 ;如果 为 1则 BACK3 LCALL JIA ;调用加速子程序 BACK3: MOV A,SS ;把 SS单元中的值送给 A JNB BACK4 ;如果 为 1则 BACK4 LCALL JIAN ;调用减速子程序 BACK4: AJMP BACK ;跳转到 BACK RETURN :RET ;返回 步进电机加、减速子程序 (a)流程图(如图 如图 9) 13 (图 8) (图 9) 注:加速子程序流程图 注:减速子程序流程图 ( b)分析 当加速按键被按下后程序进入中断把加速标志单元 AS 中送入 1,中断返回后,程序会进入加速子程序。 进入加速子程序后,先把加速标志单元中的值清零,同时把 R1单元中的值送到 A中,用来判断 R1 中的值是否等于 23H,如果 A 中的值不等于 23H,则 R1 中的值加 1,然后返回,如果 A 中值等于 23H 表明以经加速到最大值,然后直接返回。 当减速按键被按下后程序进入中断把减速标志单元 SS 中送 入 1,中断返回后,程序会进入减速子程序。 进入减速子程序后,先把减速标志单元中的值清零,同时把 R1单元中的值送到 A中,用来判断 R1 中的值是否等于 20H,如果 A 中的值不等于 20H,则 R1 中的值减 1,然后返回,如果 A 中值等于 20H 表明以经减速到最小值,然后直接返回。 ( c) 程序及注释 JIA: ANL AS,00H ;把加速标志 AS 清零 MOV A,R1 ;把 R1单元中的值送到 A 加速标志单元 AS 清零把 R 1 单元中的内容送给 AA = 23 H。 I NC R 1返回YESNO减速标志单元 SS 清零把 R 1 单元中的内容送给 AA = 20 H。 DE C R 1返回YESNO 14 CJNE A,23H,JIA1 ;如果 A中值不等 23H 则 JIA1 RET ;加速子程序返回 JIA1: INC R1 ; R1 中的值加 1 RET ;加速子程序返回 JIAN: ANL SS,00H ;把减速标志 SS 清零 MOV A,R1 ;把 R1 中的值送给 A CJNE A,20H,JIAN1 ;如果 A 不等于 20H 则 JIAN1 RET ;减速子程序返回 JIAN1: DEC R1 ; R1 中的值减 1 RET ;减速子程序返回 中断程序 ( a)流程图(图 10) ( b)分析 当单片机复位后。基于单片机控制的步进电机课程设计
相关推荐
T A 89S52 数码管 第八路 . . . 第一路 蜂鸣器 启动 复位 4 2. 器件说明 ( 1) 电源电路 由于单片 机工作时需要的 +5V 电压 , 所以在设计电源电路时 , 需要一个电子元件能够提供 +5V 电压 , 此处 采用最典型的 7805 提供电压的电路 , 即在 7805的 1 脚和公共接地端 (即 2 脚 ) 之间接入 0. 47μ F 的电容 , 在公共接地端和三脚 +
初始化时序图 总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。 应答脉冲使主机知道,总线上有从机设备,且准备就绪。 主机输出低电平,保持低电平时间至少 480us,以产生复位脉冲。 接着主机释放总线,上拉电阻将总线拉高,延时 15~ 60us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时 480us。 第 8 页 西华大学课程设计说明书 ( 2 ) 写时序 d s 1 8
第 10 页图 数码管引脚图 图 数码管仿真图 图 数码管实物图 键盘部分 键盘是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。 键盘可分为编码式键盘和非编码式键盘两种。 ,这种键盘所需程序简单,但硬件电路复杂、价格昂贵通常不被单片机系统采用。 ,其硬件逻辑与按键编码不存在严格的对应关系,而要由所用的程序来决定。 非编码键盘的硬件接口简单,但是要占用较多的CPU 时间
电路、 44 键盘电路、报警电路、压力传感器数据采集电路、 A/D 转换电路 、继电器控制等七 部分组成。 系统工作原理:将压力传感器采集的数据经模数转换后输入单片机, 单片机将得到的数据分别与键盘预先设定的上限压力 和下限压力比较 ,如果数据大于上限压力单片机控制报警并关闭电机电源,如果数据小于下限压力单片机控制报警并接通电机电源,整个过程 LCD 实时显示:上限压力值、下限压力值、实际压力值
测量电路中的电流值,并将测得的电流值以数字的形式显示出来,测量起来更方便,测量结果更稳定。 以往的指针式电流表操作麻烦,而且测量 的结果不能直观的读出来,造成测量结果的不准确,而用本次设计的数字电流表测出的数值不仅可以直观读取,而且误差更小,精确度更高,更能满足当今数字化时代的要求。 设计的可行性 技术可行性 实现该系统主要是依靠三个常用软件:一个是 KEIL 软件,可以用来编写 C语言文件
试。 鉴于此,美国马克西姆公司开发了新一代函数信号发生器 ICMAX038,它克服了上述方案二中芯片的缺点,可以达到更高的技术指标,是上述芯片望尘莫 及的。 MAX038 频率高、精度好,因此它被称为高频精密函数信号发生器 IC。 在锁相环、压控振荡器、频率合成器、脉宽调制器等电路的设计上, MAX038都是优选的器件。 方案四:利用专用直接数字合成DDS芯片的函数发生器