资源描述:
《直流电机正反转加减速暂停控制的程序及模拟仿真图》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、ORG0000HSJMPDISPLAYORG0003HLJMPBUTTON;外部0屮断入口地址ORG000BHLJMPDINGSHI;定时中断TO入U地址RSEQUP3.0RWEQUP3.1EEQUP3.4ORG0030H;此次直流电机的设计以LCD字符夜晶的;显示程序为主程序DISPLAY:SETBEA;打开中断总开关SETBEX0;打开外部屮断0开关SETBIT0;打开外部屮断0下降沿触发MOVTMOD,#01H;设置定时工作方式MOVTL0,#0FFH;设置定时初值MOVTH0,#0FFH
2、SETBETO;打开定时中断TO开关CLRP0.5CLRP0.6CLRP0.7MOVDPTR,#TAB;夜晶显示的字符首地址MOVR0,#00H;脉宽的初值MOVR1,#16;"SETSPEEDPLEASE”的字符个数MOVR3,#00HMOVR4,#00HLP9:LCALLCHUSHILP2:ACALLBUSYMOVA,#00HMOVCA,@A+DPTRMOVPl,AACALLDATASINCDPTRDJNZR1,LP2LP3:CJNER3,#OOH,LP4CJNER4,#00H,LP4SJM
3、PLP3LP4:MOVR7,#00HMOVR5,#09H;ACALLBUSYMOVPl,#0C0HACALLENABLEMOVDPTR,#MMTABACALLBUSYLP5:MOVA,#00HMOVCA,@A+DPTRMOVPl,AINCDPTR;屮断的标志CURRENT:的字符个数SETBTRO;定时器TO开始定时ACALLDATASACALLBUSYDJNZR5,LP5MOVDPTR,#STABMOVA,R2MOVPl,AACALLDATASACALLBUSYMOVA,R3;显示速度的十位M
4、OVCA,@A+DPTRMOVPl,AACALLDATASACALLBUSYMOVA,R4;显示速度的个位MOVCA,@A+DPTRMOVPl,AACALLDATAS;使夜晶始终显示当前电机的速度LP8:CJNER7,#00H,LP7;速度不变吋等待LJMPLP8;速度变吋重新读入速度LP7:SJMPLP4CHUSHI:;使夜晶显示的一些初始设置ACALLBUSYMOVPl,#0000000IB;淸屏并光标复位ACALLENABLEACALLBUSYMOVPl,#00111000B;设置显示模式
5、:8位2行5x7点阵ACALLENABLEACALLBUSYMOVPl,#0000111IB;显示器开、光标开、光标允许闪烁ACALLENABLEACALLBUSYMOVPl,#0000011OB;文字不动,光标自动右移ACALLENABLEACALLBUSYMOVPl,#80H;写入砬示起始地址ACALLENABLERETENABLE:;SETBECLRRSCLRRWCLRERETDATAS:;SETBESETBRSCLRRWCLRERETBUSY:;CLREMOVP1,#OFFHCLRRSS
6、ETBRWSETBEJBPl.7,BUSYRETORG2000HDINGSHI:;CPLP0.7写入控制命令的子程序写入数据子程序准备写入数据定时屮断服务程序JNBPO.7,Z1;周期一定MOVA,#0FFHSUBBA,R0MOVTH0,ASETBTRORETIZl:MOVTH0,R0;脉宽SETBTRORETIBUTTON:;PUSHACCCLREXOCLREAINCR7;MOVA,#0FFHMOVP2,AMOVA,P2JNBACC.O,AAOJNBACC.1,KKOJNBACC.2,ZZJN
7、BACC.3,FFJNBACC.4,WW0AJMPQQAAO:CJNERO,#OFFH,AA1AJMPQQAA1:MOVA,R0ADDA,#5MOVRO,AAJMPQQKKO:CJNER0,#00,MM;AJMPQQ从控制键盘中读取操作命令加速操作减速操作;MM:MOVA,R0SUBBA,#5MOVR0,AAJMPQQQQ:MOVA,R0MOVB,#5DIVABMOVB,#10DIVABMOVR3,AMOVR4,BSETBEXOLCALLDELAYLCALLDELAYLCALLDELAYLCAL
8、LDELAYSETBEAPOPACCRETIZZ:SETBP0.5;CLRP0.6MOVR2,#2BH;LCALLDELAYLCALLDELAYLCALLDELAYSETBEXOSETBEAPOPACCRETIFF:CLRP0.5;SETBP0.6正转操作正转标志u+n反转操作MOVR2,#2DH;反转标志LCALLDELAYLCALLDELAYLCALLDELAYSETBEXOSETBEAPOPACCRETIWWO:CLRP0.5;停止操作CLRP0.6LCALLDELAYLCALLDELAY