资源描述:
《案例一 直流电机测速.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、案例一直流电机测速程序;直流电机转速测量与控制实验SCNTEQU51H;为送到0832的值CKCNEQU53HSETPEQU54H;转数timesequ46htemp1equ47hOUTBITequ0e101h;位控制口CLK164equ0e102h;段控制口(接164时钟位)DAT164equ0e102h;段控制口(接164数据位)INequ0e103h;键盘读入口LEDBufequ39h;显示缓冲ORG0000HSTRT:LJMPMAINORG0003H;LJMPPINT0ORG000BH;LJMPPTF0ORG0030H;PT
2、F0:MOVTH0,#07EHPUSHACCPUSHPSWPUSHBSETBPSW.3inctimesmova,timescjnea,#40,ptfj;判断时间是否到了movtimes,#0mova,ckcnmovtemp1,amovckcn,#0subba,setpjnctt3mova,scnt;加速adda,#2movscnt,aljmptt4tt3:mova,scnt;减速subba,#2movscnt,att4:mova,temp1;speedmovb,#10divabmov3ah,amova,bmov39h,aPTFJ:N
3、OPPOPBPOPPSWPOPACCRETIMAIN:movsp,#60hmovdptr,#0e100h;8155初始化mova,#03hmovx@dptr,aMOVTMOD,#01H;定时器初始化MOVTH0,#07EHMOVTL0,#00HCLREA;关中断MOVR0,#39HMOVR7,#06HMLP0:MOV@R0,#10H;关掉所有LEDINCR0DJNZR7,MLP0LCALLDIR;调显示MOVCKCN,#00H;转数初始化为0NOPMLP1:CALLDIRcallTestKey;有键入?jzMLp1;无键入,继续显示
4、callGetKey;读入键码CLRCMOVR4,ASUBBA,#0aH;判断输入的值是不是0-9JNCMLP1MOVA,R4MOV3EH,A;保存输入的值(高位)LCALLDIRMLP2:CALLDIRcallTestKey;有键入?jzMLP2;无键入,继续显示callGetKey;读入键码CLRCMOVR4,ASUBBA,#0aH;判断输入的值是不是0-9JNCMLP2MOVA,R4MOV3DH,A;保存输入的值(低位)MOVA,3EHMOVB,#0AHMULABADDA,3DHMOVSETP,A;求出我们给定的速度,并送入S
5、ETP中movdptr,#0a000hmovSCNT,#7fhmovA,SCNTMOVX@DPTR,A;启动电流机movtimes,#0h;时间计数器SETBTR0;启动定时器0SETBEX0;开中断SETBET0SETBIT0SETBEANOPMOVIP,#04HML00P4:MOVDPTR,#0a000Hmova,scntMOVX@DPTR,Amovr7,#50djnzr7,$LCALLDIRLJMPML00P4PINT0:INCCKCNPIPI:RETITestKey:movdptr,#OUTBITmova,#0movx@dp
6、tr,a;输出线置为0movdptr,#INmovxa,@dptr;读入键状态cplaanla,#0fh;高四位不用retKeyTable:;数字键码定义db00h,01h,04h,07hdb0fh,02h,05h,08hdb0eh,03h,06h,09hdb0dh,0ch,0bh,0ahdb10H,10H,10H,10H,10Hdb10H,10H,10H,10H,10HGetKey:MOV13H,#06H;获取输入值,送入A中,然后返回MOV12H,#20HKey2:MOVA,12HCPLAMOVR7,AMOVDPTR,#0E10
7、1HMOVA,R7MOVX@DPTR,AMOVA,12HCLRCRRCAMOV12H,AMOVDPTR,#0E103HMOVXA,@DPTRMOVR7,AMOVA,R7CPLAMOVR7,AMOVA,R7ANLA,#0FHMOV14H,ADEC13HMOVR7,13HMOVA,R7JZKey1MOVA,14HJZKey2Key1:MOVA,14HJZGetKey6MOVA,13HADDA,ACCADDA,ACCMOV13H,AMOVA,14HJNBACC.1,GetKey1INC13HSJMPGetKey3GetKey1:MOVA,
8、14HJNBACC.2,GetKey2INC13HINC13HSJMPGetKey3GetKey2:MOVA,14HJNBACC.3,GetKey3MOVA,#03HADDA,13HMOV13H,AGetKey3:LCALLDIRCA