实验报告十课程名称:微机原理与接口技术指导老师:李素敏学生姓名:向春霞学号:1243013专业:通信工程日期:6月地点:理工603实验九矩阵键盘检测一、实验目的和要求1.掌握利用单片机定时器实现定时。2.熟悉单片机与数码管的接口技术及数码管动态显示的控制过程。3.熟悉单片机与键盘的接口技术及按键识别过程。4.学会如何编制含数码管显示,定时器中断及按键控制等多种功能的综合程序,体会大型程序的编制和调试技巧。二、主要仪器设备电脑,Keil软件三、实验内容1、实验要求:要求其实现的功能如下(其中定时要求采取中断方式):(1)、用6位数码管显示秒表时间,最左边2位显示分,中间2位显示秒,最右边2位显示秒的小数位(0.00~0.99秒),秒与小数位之间要显示小数点。(2)、两个按键:①计时/停止按键:首次按下从0开始计时,再次按下暂停计时,之后每次按下按键实现‘继续计时、暂停计时,继续计时、暂停计时……’。(继续计时即从上次暂停时的时间开始继续计时)②复位按键:按下后全部清0,等待下次按下‘计时/停止按键’时重新开始计时。2.设计思路:(1)、采用内部脉冲定时,实现计时,最低显示位为10ms记一次数显示一次,即0.00—0.99秒。100个10ms是1秒,所以当低位计满100次,(当50H为10时,把50H单元清零,向51H进1)即得到秒计时,然后把51H单元清零,给52H单元加1.当52H为10时,清零,给53H加1,当53H为6时秒计时达到60次,则向分计时,即给54H加1,再给53H清零,当54H计满10时,清零,给55H加1,直到55H为6时给55H清零。50H,51H放最低位计数52-53H放秒位次数54-55H放分位计数(2)、S2(p3.4)键,用扫描S2:当P3.4为低电平时,让TR0为0,即暂停计数。当P3.4再次为低电平时继续计数,让TR0=1.(3)、S3(p3.5)键,T1计数模式实现中断响应,复位按键S3:当F0为0时,给50-55H单元清零;然后按S2开始计数3.源程序:ORG0000HAJMPMAINORG000BHLJMPTIME;定时ORG001BHLJMPS3;暂停ORG0030HMAIN:CLRAMOV50H,A;最低位次数MOV51H,AMOV52H,A;秒位次数MOV53H,AMOV54H,A;分位计数MOV55H,ADS1:MOVTMOD,#61H;定时0模式1,计数1模式2MOVTH0,#0D8H;初值定时10msMOVTL0,#0F0HMOVTH1,#0FFH;初值,溢出中断MOVTL1,#0FFHSETBEASETBET1SETBET0SETBTR0SETBTR1XS:MOVR1,#50HMOVR2,#0DFHMOVR3,#2MOVR4,#4JNBP3.4,STOPAJMPNEXTSTOP:CPLTR0WAIT:JBP3.4,NEXTSJMPWAITNEXT:MOVA,@R1INCR1MOVDPTR,#DUANMOVCA,@A+DPTRSETBP2.6MOVP0,ACLRP2.6SETBP2.7MOVA,R2MOVP0,ACLRP2.7;位选置位MOVA,R2RRAMOVR2,ALCALLDELDJNZR3,NEXTXSD:MOVDPTR,#XDUANMOVA,@R1MOVCA,@A+DPTRSETBP2.6MOVP0,ACLRP2.6SETBP2.7MOVA,R2MOVP0,ACLRP2.7;位选置位MOVA,R2RRALCALLDELAGA:MOVA,@R1INCR1MOVDPTR,#DUANMOVCA,@A+DPTRSETBP2.6MOVP0,ACLRP2.6SETBP2.7MOVA,R2MOVP0,ACLRP2.7;位选置位MOVA,R2RRAMOVR2,ALCALLDELDJNZR4,AGALJMPXSTIME:MOVTH0,#0D8H;定时中断MOVTL0,#0F0HINC50HMOVA,50HCJNEA,#10,RETUNT;50H满10给51H单元+1MOV50H,#00HINC51HMOVA,51HCJNEA,#10,RETUNT;51H满10给52H单元+1MOV51H,#00HINC52HMOVA,52HCJNEA,#10,RETUNT;52H满10给53H单元+1MOV52H,#00HINC53HMOVA,53HCJNEA,#6,RETUNT;53H满10给54H单元+1MOV53H,#00HINC54HMOVA,54HCJNEA,#10,RETUNT;54H满10给55H单元+1MOV54H,#00HINC55HMOVA,55HCJNEA,#6,RETUNTMOV55H,#00HRETUNT:RETIS3:CLRTR0CLRAMOV50H,A;最低位次数MOV51H,AMOV52H,A;秒位次数MOV53H,AMOV54H,A;分位计数MOV55H,ARETIDEL:MOVR6,#2;延时1msDEL1:MOVR7,#248NOPDEL2:DJNZR7,DEL2DJNZR6,DEL1RETDUAN:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;段选地址表XDUAN:DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH;带小数点的段码END