资源描述:
《单片机控制直流电机转速和温度测量程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、附录2单片机控制直流电机转速及温度测量程序ORG0000HLJMPMAINORG0003H;测速中断入口SETB00HRETIORG0013H;测温中断入口SETB01HRETIORG0050HMAIN:MOVTCON,#05H;外部中断边沿触发MOVIE,#85H;开外部中断movr3,#80hDAC:CLR00Hjnbp1.3,jiajnbp1.4,jianLX:mova,r3movdptr,#0f7ffhmovx@dptr,aMOV2DH,#0CH;速度标志lcallCSDMOVA,31Hlcal
2、lBCDLCALLDISPLAYJB01H,ADCLJMPDACADC:CLR01HLCALLMSZHLCALLBCDMOV2DH,#0AH;温度标志LCALLDISPLAYJB00H,DACLJMPADC;**************************************************************jia:mova,r3;加速度adda,#10hmovr3,aljmpLXjian:mova,r3;减速度subba,#10hmovr3,aljmpLX;***********
3、***************************************************CSD:mov31h,#00hMOV30H,#5;定时0.25秒循环次数MOVTMOD,#15H;设定时器1为方式1,计算器0为方式1movth0,#00hmovtl0,#00hMOVTH1,#9EH;赋初值MOVTL1,#58HSETBTR0;启动计数器SETBTR1;启动定时器L1:JBCTF1,L2SJMPL1L2:MOVTH1,#9EHMOVTL1,#58HDJNZ30H,L1CLRTR0CLR
4、TR1MOV31H,TL0;测得的转速二进制放入31H单元中RET;**************************************************************MSZH:MOVDPTR,#0FBFFH;选中ADC0809MOVX@DPTR,A;启动ADC0809LP1:JBP1.0,LP1;等待A/D转换完毕MOVXA,@DPTRCOMP:MOVB,#0FEH;K=0.4MULABMOVA,#10;Tc=100CLRCSUBBA,BCJNEA,#20H,COMP1COMP
5、1:JCCOMP4;温度小于20度数码管显示FCJNEA,#140,COMP2COMP2:JCCOMP3;温度大于140度数码管显示FCOMP4:MOV2AH,#0EHMOV2BH,#0EHMOV2CH,#0EHCOMP3:RET;***************************************************************BCD:MOVR1,#00H;R1为BCD码百位寄存器MOVR2,#00H;R2为BCD码十位寄存器CLRCCHAN:SUBBA,#64H;减100J
6、CCHAN1INCR1SJMPCHANCHAN1:ADDA,#64HCHAN2:SUBBA,#0AHJCCHAN3INCR2SJMPCHAN2CHAN3:ADDA,#0AHMOV2AH,R1MOV2BH,R2MOV2CH,A;此时2CH中为个位BCDRET;****************************************************************DISPLAY:MOVR7,#150;扫描150次循环MOVDPTR,#0FEFFH;送段码MOVA,#00HMOVX@D
7、PTR,A;关显示LOOP:MOVR6,#00HMOVR0,#2AH;送显示缓冲区首地址MOVR4,#05H;数码管扫描个数MOVR5,#0FEH;显示第一个数码管DISPO:MOVA,@R0;取显示缓冲区内容MOVDPTR,#TABMOVCA,@A+DPTRMOVDPTR,#0FEFFH;送段选地址MOVX@DPTR,A;送段选码MOVA,R5MOVDPTR,#0FDFFH;送位选地址MOVX@DPTR,A;选中位HEREO:DJNZR6,HEREO;延时约一毫秒MOVDPTR,#0FEFFHMOVA
8、,#00HMOVX@DPTR,A;送显示MOVA,R5RLAMOVR5,AINCR0DJNZR4,DISPODJNZR7,LOOPRETTAB:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHDB63H,39H,1CH,1CH,71H