ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:279.16KB ,
资源ID:22524806      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22524806.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多功能电子钟课程设计报告文档格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多功能电子钟课程设计报告文档格式.docx

1、5 若高位为0,则高位可灭零显示。二、 实验效果1 常态以时间显示2 编程使该电子钟有4个键,分别为校正键,“十”键,切换键及显示键。3 正常显示的状态下,“+”键和显示键无效,校正状态下切换键无效。4 四个键的作用分别为:校正键,在正常的状态下,第一次按下校正键表示校正月发功能,此时显示当日的日期及月显示闪烁。第二次按下此键表示校日的功能,显示当前日期并且日闪烁显示。第三次按下此键表示校时的功能,此时显示当前时间并且时闪烁显示。第四次按下校正键表示校分功能,显示当前时间并且分闪烁显示。“+”键,功能为当前校正的内容在每按一下此键的情况下不进位的在该闪烁的内容上加“1”。确定键,使校正的内容生

2、效并且返回正常显示时间的状态下。切换键,表示切换当前显示的模式,如:当前显示的是时间,则按一下切换键则切换到日期的显示状态,反之亦成立。如在按下切换键的状态下,5秒后没任何操作则返回到正常显示时间的状态。三实验思路(原理)由以上分析可知要使日期及时间显示出来, 首先想到的是要将它们存放起来,然后再将其送往数码管显示出来,这里又牵涉到一个问题,怎样将它们存放起来又要存到哪儿去?这就要我们给它们分配存储单元以备送往显示,例如准备四个存储单元30H33H分别存储月、日、时和分,送往显示时要为其准备显示缓冲存储区,如3AH、3BH,月、时送3AH缓存,日、分送3BH缓存备送显示,接下来就是相关方式初始

3、化为内容显示作准备,其中包括时间/日期(T/D)标志的置位,校正标志的清除及定时期/计数期工作方式及初始化。选好工作方式及计算出初值,打开中断申请标志位允许显示及校正中断服务程序的调用,然后,设计程序将显示缓存区的内容分解成BCD码送入43H40H并以备显示,在该状态下要检查当前状态是否处于校正状态,若不是则将其静态显示出来,若是处于校正状态下,查看2FH.3是否为0,若是则送往静态显示,若不是的话,将对应的校正内容的BCD码单元送入DAH再显示出校正状态。校正中断服务程序设计的思路:首先判断其是否处于校正状态,若不是处于校正状态,再检查是否有按下时间/日期显示切换键。如果已按下该键则取反T/

4、D显示标志位,在该情况下又要判断其标志位的状态,T/D若为1则将时间内容送入显示缓冲区以待显示,若其值为0则将日期内容送入显示缓冲区以待显示。在没有按下显示切换键的情况下,确认是否要按下校正键,若不按下,则同样判断时间/日期显示的标志位值,若为“1”则显示时间,为“0”则显示日期。若按下校正键,则此时切换键无效,在该情况下,若按一下校正键则校正指针SP的值相应的做加“1”操作,指向下一个要校正的内容,此后判断21H.0的值,若为0则将日期内容送入显示缓存区,若为1则将时间内容送入显示缓存区以待显示。显示后返回先前状态,若在校正状态下按下“+”键,则校正指针相对应的校正内容单元加1,值满不进位的

5、加1,而后同样判断20H.0的值,情况与上面相同,而在校正状态下按确定键,则清楚校正标志而置位时间/日期显示标志,将时间显示的内容送入显示缓存区以备显示。返回到正常状态下(显示时间状态)。4实验流程图(1).时间中断服务程序5 实验程序 ORG 0000H ;程序入口地址 LJMP MAIN ORG 000BH SJMP ITOP ORG 0030HMAIN:CLR A MOV 30H,A ;程序初始化,计数单元设初值 MOV 32H,#59 MOV 34H,#23 MOV 36H,#01H MOV 38H,#01H MOV 66H,#03H MOV 67H,#03H MOV 40H,#00H

6、 MOV 2FH,#0AH CLR 20H.1 CLR 20H.2 CLR 20H.3 CLR 20H.4 MOV TMOD,#01H ;设置计数器的计数方式 MOV TL0,#0B0H ;给计数器装初值 MOV TH0,#3CH CLR PT0 ;中断允许设置 SETB TR0 SETB ET0 SETB EAHERE: SJMP HEREITOP: MOV TL0,#0B0H MOV TH0,#3CH LCALL DISP ;调用显示子程序 DJNZ 2FH,LOOP MOV 2FH,#0AH ;秒计时初值设置 CPL 20H.1 JB 20H.1,LOOP1 MOV 40H,#0FFH

7、AJMP LOOP2LOOP2: INC 30H ;计时程序 MOV A,#78H CJNE A,30H,LOOP ;判断秒是否已到 MOV 30H,#00H INC 32H MOV A,#3CH CJNE A,32H,LOOP ;判断分是否已到 MOV 32H,#00H INC 34H MOV A,#18H CJNE A,34H,LOOP ;判断时是否已到 MOV 34H,#00H INC 30H MOV A,#32判断月是否已到 MOV 30H,#01H INC 37H MOV A,#DDH CJNE A,38H,LOOP ;判断年是否已到 MOV 38H,#01HLOOP: RETIDI

8、SP: JB 20H.2,LOOP3 ;显示子程序 MOV 62H,32H ;显示内容送显示缓冲单元,如下类似 MOV 64H,34H SJMP LOOP4LOOP3: MOV 62H,32HLOOP4: MOV A,62H MOV B,#0AH DIV AB MOV 63H,A MOV 62H,B MOV A,64H DIV AB ;使进制调整,备显示 MOV 65H,A MOV 64H,B MOV R4,#64H MOV R0,#65H MOV SCON,#00HSEND: MOV A,R0 JNE MIE00 MOV A,#10HMIE00:JNB 20H.4,MIE0 JNB 20H.

9、3,MIE0MIE0:MOV DPTR,#TAB ;查找显示内容程序,用于显示 MOVC A,A+DPTR MOV SUBF,A JNB TI,$ CLR TI DEC R0 JNB 20H.4,MIE1 ;判断显示内容 JNB 20H.3,MIE1 JNB 2FH.3,MIE1MIE1:MOV DPTR ADD A,40H MOV SBUF,A DEC R0 MOV A,R0 JNE MIE11MIE11:JNB 20H.4,MIE2 JNB 20H.3,MIE2 JNB 2FH.3,MIE2MIE2:MOV DPTR,#TAB MOVC A,A+DPTR JNB 20H.4,MIE3 JN

10、B 20H.3,MIE3 JNB 2FH.3MIE3MIE3: JNB SBUF,A RETKEY:MOV A,P1 ;判键按下.子程序 CJNE A,#0FFH,KEYIN LJMP EXITKEYIN: LCALL DEL10MS ;.调用延时程序 MOV A,P1 CJNE A,#FFH,KEY00KEY00:JNB ACC.4,KEY1 ;.判断哪个键按下 JNB ACC.5,KEY2 JNB ACC.6,KEY3 JNB ACC.7,KEY4KEY1:确定哪个键按下。如下类似 CJNE A,#0FFH,KEY1 CPL 20H.2KEY2:MOV A,P1 CJNE A,#0FFH,

11、KEY2 SETB 20H.4 INC 66H ANL 66H,#03H MOV A,66HONE:CJNE A,#00H,TWO ;调式程序,判断该调试的内容。 CPL 20H.3 SJMP EXITTWO:CJNE A,#01H,THRTHR:CJNE A,#02H,FORFOR:CJNE A,#03H,ONEKEY3: MOV A,P1 CJNE A,#0FFH,KEY3 JNB 20H。4,EXIT MOV A,66HYUE:CJNE A,#00H,RISHU ;月调试程序 INC 38H MOV A,#13 CJNE A,38H,EXITRISHU:CJNE A,#01H,SHI ;

12、日期调试子程序 INC 36H MOV A,#32H CJNE A,36H,EXIT MOV 36H,#01HSHI:CJNE A,#02H,FEN ;时调试子程序 CJNE A,#34H,EXITFEN:CJNE A,#03H,YUE CJNE A,3H,EXITKEY4: CJNE A,#0FFH,KEY4 MOV 66H,#03HEXIT:RETDEL10MS:MOV R7,#0AH ;延时10MS子程序DL:MOV R6,#077HDL1:DJNZ R6,#0FFH DJNZ R7,DLTAB:DB 09H 7DH 07H 15H 71H 91H 81H DB 3DH 01H 11H 21H 09H 8BH DB 45H 83H 0A3H 0FFH 0F7H六实验心得 通过本次实验发现自己很多的不足,也就在这次实验中学到了很多东西,包括一些基本的编程,比如延时,显示等等,也更加熟悉了程序的基本结构,子程序的调用和中断程序的使用,在本次实验中实验还是有一点误差,主要原因是在设计程序时,在计时过程中,没有考虑到指令执行所用的时间造成计时的误差。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1