资源描述:
《动态显示秒表参考程序.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5、秒表设计。设计要求:用表1提供的元件,设计一秒表,要求用完全部的材料。按键“SP1”连接在P3.2;一个2位共阴组合数码管显示器接在P0口,数码管的公共端分别接在P2.6、P2.7。功能要求:开始时,显示“00”;第一次按下SP1键后就从0.0~9.9秒计时,显示精度为0.1秒;第二次按SP1键后,计时停止,显示当前值;第三次按SP1键后,计时归零。程序要求:(1)用51汇编语言编写。(2)使用T0定时中断。表1秒表设计元器件清单序号元件名称型号/规格数量1单片机AT89C5112电容器22pF23晶体振荡器12MHz14电阻器10K1/4W
2、15电容器10uF/25V16电阻器10K1/4W17轻触按钮---18电阻器330R1/4W897段显示器2位共阴组合数码管0.5吋;引脚号:a-7,b-6,c-4,d-1,e-3,f-8,g-9,dp-2,bit1-5,bit2-101评分标准:(1)根据设计要求,画出电路示意图(10分)(2)根据功能要求,画出主程序流程图(10分)(3)根据程序要求,编写源程序(10分)电路示意图:主程序流程图:NNNYYY开始初始化开始计数键盘扫描动态显示计时值第1次按键?第2次按键?第3次按键?暂停清零源程序:TCNTAEQU30H;每250微秒加1T
3、CNTBEQU31H;每25毫秒加1TCNTCEQU32H;每0.1秒加1KEYCNTEQU33H;按键次数记数SP1BITP3.2;按键GeWeiBITP2.7;个位位选ShiWeiBITP2.6;十位位选;--------------------------------------------------------------------------------------------------------ORG0000HLJMPSTART;主程序ORG0BHLJMPINT_T0;定时器T0中断服务程序ORG0030HSTART:MOVK
4、EYCNT,#00H;按键次数计数置0MOVTCNTC,#00H;0.1计数置0MOVTMOD,#02H;中断设置:工作方式2,8位自动重装SETBET0SETBEALOOP:LCALLDISPLCALLKS;----------------------------------------------------------------------------------------------------MOVA,KEYCNTCJNEA,#01H,KN1;第1次按键SETBTR0MOVTH0,#06H;计数250次,即250微秒MOVTL0,#
5、06HMOVTCNTA,#00HMOVTCNTB,#00HLJMPDKNKN1:CJNEA,#02H,KN2;第2次按键CLRTR0LJMPDKNKN2:CJNEA,#03H,DKN;第3次按键MOVTCNTC,#00HLCALLDISPMOVKEYCNT,#00HDKN:LJMPLOOP;--------------------------------------------------------------------------------------------------------KS:JNBSP1,KS1;有按键RETKS1:LC
6、ALLDELAY;防抖动JNBSP1,KS2;有按键RETKS2:INCKEYCNT;按键次数加1RET;-------------------------------------------------------------------------------------------------------DISP:MOVA,TCNTCMOVB,#10DIVAB;A:商,十位数;B:余数,个位数MOVDPTR,#TABLEMOVCA,@A+DPTRADDA,#80H;添加小数点SETBGeWei;十位位选CLRShiWeiMOVP0,A;十位
7、数送显LCALLDELAYMOVA,BMOVDPTR,#TABLEMOVCA,@A+DPTRCLRGeWei;个位位选SETBShiWeiMOVP0,A;个位数送显LCALLDELAYRET;--------------------------------------------------------------------------------------------------------DELAY:MOVR6,#100;延时25毫秒D1:MOVR7,#250DJNZR7,$DJNZR6,D1RET;-------------------
8、-------------------------INT_T0:INCTCNTA;每250微秒加1MOVA,TCNTACJNEA,#10