单片机原理与应用课程设计学院名称:班级:姓名:学号:指导老师:JIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY基于单片机(AT89C51)的频率计设计1.3技术指标设计要求的技术指标有:①输入脉冲幅度:0-5v②周期量测量范围:0.1ms—50ms③测量精度±1%④显示方式:四位数字显示ORG0000H;程序复位入口地址AJMPMAINORG001BH;计时器T1的中断入口AJMPPTF0;跳转到中断程序中ORG0033H;主程序入口地址MAIN:MOVSP,#60HMOVTH1,#0FAHMOVTL1,#60H;定时4mSSETBEA;开放CPU中断SETBET1;开放定时器中断MOVTH0,#00HMOVTL0,#00H;给计数器T0赋初值0MOVTMOD,#15H;计时器T1工作在方式1定时模式,计数器T0工作在方式1计数模式MOV30H,#0FAH;循环250次,共定时1SMOV40H,#0;用于判断显示数码管哪一位SETBTR0;启动计数器0SETBTR1;启动定时器1LOOP1:ACALLZHUANH;将二进制数转换为压缩BCD码ACALLCHAIF;将压缩BCD码转换为非压缩BCD码AJMPLOOP1;循环处理计数器T0采集得到的数据PTF0:MOVTH1,#0F0HMOVTL1,#60H;给定时器T1重新赋值INC40H;数码管判断位加1MOVA,50HCJNEA,#00H,DAY;判断50H单元是否为零,若为0继续往下执行,若不为0,则跳转到子程序DAY中MOVA,40H;每4ms显示一位,从最高位开始,到最低位时,返回高位CJNEA,#1,LOP1ACALLQIANWAJMPTIAOLOP1:CJNEA,#2,LOP2ACALLBAIWAJMPTIAOLOP2:CJNEA,#3,LOP3ACALLSHIWAJMPTIAOLOP3:ACALLGEWMOV40H,#0AJMPTIAODAY:MOVA,40HCJNEA,#1,LP1ACALLQIANW1AJMPTIAOLP1:CJNEA,#2,LP2ACALLBAIW1AJMPTIAOLP2:CJNEA,#3,LP3ACALLSHIW1AJMPTIAOLP3:ACALLGEW1MOV40H,#0TIAO:DJNZ30H,PTFR;判断是否到1SMOV20H,TH0MOV21H,TL0;将计数器T0中的数转移到20H,21H中MOVTH0,#0MOVTL0,#0;将计数器T0重新赋0MOV30H,#0FAHPTFR:RETIZHUANH:MOVR2,20H;将计数得到的值存入R2和R3中MOVR3,21HCLRAMOVR4,A;将R4、R5、R6清零MOVR5,AMOVR6,AMOVR7,#16LOOP:CLRC;将16位二进制数逐位左移一位,移得的数据放入进位C中MOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVA,R6;(R4R5R6)+(R4R5R6)+C=(R4R5R6)*2+CADDCA,R6DAAMOVR6,AMOVA,R5ADDCA,R5DAAMOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,ADJNZR7,LOOPRETCHAIF:MOVA,R5;将压缩BCD码R4R5R6转换为非压缩BCD码,从高到低依次放于50H、51H、52H、53H、54HANLA,#0F0HSWAPAMOV52H,AMOVA,R5ANLA,#0FHMOV51H,AMOVA,R6ANLA,#0F0HSWAPAMOV53H,AMOVA,R6ANLA,#0FHMOV54H,AMOV50H,R4RETQIANW:MOVA,52H;频率不超过10KHZ时,以HZ为单位,四位显示,最高位为千位,以此类推MOVDPTR,#TAB;千位上显示51H单元中的内容MOVCA,@A+DPTRMOVP0,AMOVP2,#0F7HRETBAIW:MOVA,51H;百位上显示52H单元中的内容MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVP2,#0FBHRETSHIW:MOVA,53H;十位上显示53H单元中的内容MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVP2,#0FDHRETGEW:MOVA,54H;个位上显示54H单元中的内容MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVP2,#0FEHRETQIANW1:MOVA,50H;频率大于10KHZ时,小数点放千位,以KHZ为单位,省去个位,以四位显示MOVDPTR,#TAB;千位上显示50H单元中的内容MOVCA,@A+DPTRMOVP0,AMOVP2,#0F7HRETBAIW1:MOVA,52H;百位上显示51H单元中的内容和显示小数点MOVDPTR,#TAB1MOVCA,@A+DPTRMOVP0,AMOVP2,#0FBHRETSHIW1:MOVA,51H;十位上显示52H单元中的内容MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVP2,#0FDHRETGEW1:MOVA,53H;个位上显示53H单元中的内容MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AMOVP2,#0FEHRETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHTAB1:DB0F7H,0C1H,0BBH,0EBH,0CDH,0EEH,0FEH,0C3H,0FFH,0EFHNOPEND基于单片机的数字钟设计1.3技术指标设计要求的技术指标有:①输入脉冲幅度:0-5v②周期量测量范围:0.1ms—50ms③测量精度±1%④显示方式:四位数字显示ORG0000HAJMPMAINORG000BHAJMPPTF0ORG0033HTAB:DB7EH,48H,3DH,6DH,4BH,67H,77H,4CH,7FH,6FH;不带小数点TAB1:DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH;带小数点TAB2:DB01H,02H,04H,08H,10H,20H,40H,80H,00H;自检a--hPTF0:PUSHPSW;保护现场PSW,ACC进栈PUSHACC;选工作寄存器1区MOVTH0,#0ECH;T0初始化MOVTL0,#78HDJNZ36H,PTFORMOV36H,#92;判...