您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 统计图表 > 微型计算原理与接口技术秒表课程设计报告
单片微型计算机原理与接口技术课程设计报告班级:姓名:学号:指导老师:日期:一、课程题目:秒表二、课程要求:1.可启动、暂停、继续和复位。2.4位显示,精确到0.1(999.9)3.可正计时、倒计时。正计时时,从0000开始,最大到999.9秒倒计时时,从设定时间开始4.通过键设定时间,可设定正计时的结束时间和倒计时的开始时间,当到达设定时间或倒计时到0时报警,数码管闪烁最后的时间,同时上传本机地址06H。5.本机地址为03H,当接到上位机发的03H时,则回发03H当接到上位机发的AAH时,则将当前显示的秒值发给上位机三、硬件系统设计说明及原理图1、原理图图中与P1.0相接的按钮为开始按钮,与P1.1相接的按钮为计时控制按钮(按下为正计时,按上为倒计时),与P1.2、P1.3相接的按钮为置数按钮(P1.2置前两位P1.3置后两位),与P1.4相接的按钮为正计时按钮(按下时可以越过所定时间一直到999.9s不按时,到所定时间即停止),与P3.2相接的按钮为暂停\继续按钮,与P3.3相接的按钮为复位按钮。2、版图:四、软件流程图及软件清单:软件清单:ORG0000HJMPMAINORG0003HJMPL1ORG000BHJMPL2ORG0013HJMPL3ORG0023HJMPCHUKOUMAIN:MOVTMOD,#21H/设置定时计数方式MOVSCON,#40H/设置串口工作方式MOVTH1,#0FAHMOVTL1,#0FAH/设置波特率MOVIP,#10HSETBEA/开CPU总中断SETBEX0/开中断T0中断SETBIT0/设置T0工作方式SETBEX1/开中断T1中断SETBIT1/设置T1工作方式SETBES/开串口中断MOVPCON,#00H/波特率不倍置数正计时倒计时暂停\继续复位判断P1.1高低电平低高判断P3.3判断P3.3判断P3.2判断P3.3开始增MOVR1,#05HMOVR3,#00HMOVR4,#00HMOVR6,#00HGG:MOVP1,#07FHLCALLBBLCALLCCLCALLDDLCALLDELAYMOVR0,66HLCALLCC1LCALLDD1LCALLDELAYMOVR0,65HLCALLCC2LCALLDDLCALLDELAYMOVR0,64HLCALLCC3LCALLDDLCALLDELAYJNBP1.2,GG1INCR4LCALLXIANGG1:JNBP1.3,GG2INCR6LCALLXIANGG2:MOV60H,R4MOV61H,R6MOVR5,60HMOVR7,61HINCR5INCR7JNBP1.0,GG/置数HH:JBP1.1,HH1/判断P1.1口MOVR4,#00MOVR6,#00SETBET0SETBTR0HH2:JBP1.1,HH1LCALLBBLCALLCCLCALLDDLCALLDELAYMOVR0,66HLCALLCC1LCALLDD1LCALLDELAYMOVR0,65HLCALLCC2LCALLDDLCALLDELAYMOVR0,64HLCALLCC3LCALLDDLCALLDELAYJNBRI,HH2JMPCHUKOUJMPHH2/正计时HH1:LCALLFFLCALLCCLCALLDDLCALLDELAYMOVR0,66HLCALLCC1LCALLDD1LCALLDELAYMOVR0,65HLCALLCC2LCALLDDLCALLDELAYMOVR0,64HLCALLCC3LCALLDDLCALLDELAYJNBRI,HH2JMPCHUKOUJMPHH2/倒计时BB:CJNER4,#99,EEINCR6MOVR4,#00HCJNER6,#99,EECJNER4,#99,EELJMPJIESHU1/正计时结束判断FF:CJNER6,#00,FF1CJNER4,#00,EELJMPJIESHU2/倒计时结束判断FF1:CJNER4,#00,EEDECR6MOVR4,#99EE:MOVA,R6MOVB,#10DIVABMOV64H,AMOV65H,BMOVA,R4MOVB,#10DIVABMOV66H,AMOV67H,BMOVR0,67HRET/取各位数字CC:MOVA,#0EHMOVP2,ARETCC1:MOVA,#0DHMOVP2,ARETCC2:MOVA,#0BHMOVP2,ARETCC3:MOVA,#07HMOVP2,ARET/取数码管的各位地址DD:MOVDPTR,#TABMOVA,R0MOVCA,@A+DPTRMOVP0,ARET/取无小数点的各位显示数字DD1:MOVDPTR,#TAB1MOVA,R0MOVCA,@A+DPTRMOVP0,ARET/取有小数点的各位显示数字XIAN:MOVTH0,#3CHMOVTL0,#0B0HSETBTR0JNBTF0,$CLRTF0DJNZR1,XIANMOVR1,#05HRETDELAY:MOVR2,#1000DELAY1:DJNZR2,DELAY1RET/各位数字显示延时L1:CJNER3,#00H,AACLRET0CLRTR0INCR3RETI/暂停中断L2:MOVTH0,#3CHMOVTL0,#0B0HJBP1.1,IIINCR4JNBP1.4,L21DJNZR5,L21DJNZR7,L22JMPJIESHUL22:MOVR5,#99L21:RETIII:DECR4RETI/定时显示的最小时间单位AA:SETBET0SETBTR0MOVR3,#00HRETI/继续中断L3:MOVR4,60HMOVR6,61HCLRET0CLRTR0RETI/复位中断CHUKOU:MOVA,SBUFCLRRICJNEA,#03H,FASMOVSBUF,ACLRTIFAS:CJNEA,#0AAH,QZMOVA,R4MOVSBUF,AMOVA,R6MOVSBUF,ACLRTIQZ:RETI/串口中断TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHTAB1:DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFHJIESHU:SETBP1.7L4:MOVR4,60HMOVR6,61HLCALLEELCALLCCLCALLDDLCALLDELAYMOVR0,66HLCALLCC1LCALLDD1LCALLDELAYMOVR0,65HLCALLCC2LCALLDDLCALLDELAYMOVR0,64HLCALLCC3LCALLDDLCALLDELAYJMPL4/正计时结束时所显示数字JIESHU1:SETBP1.7L5:MOVA,#00HMOVP2,AMOVA,#6FHMOVP0,AJMPL5/正计时计满时所显示数字JIESHU2:SETBP1.7L6:MOVA,#00HMOVP2,AMOVA,#3FHMOVP0,AJMPL6/倒计时结束时所显示数字END五、个人感想、体会:通过此次做单片机的课程设计,使我了解了使用汇编语言时应该注意的一些基本事项。初步掌握了编写汇编语言中关于定时、中断(包括串口中断)以及顺序、多分支、循环等结构的应用,及将上面的程序如何安排在一个较大的程序当中。在课程设计当中学会了使用Proteus7.5SP3软件的使用,并通过此软件绘制硬件原理图及版图,在原理图上进行程序仿真,验证程序的功能等。虽然最后未作出实物,但仍让我收获颇多。
本文标题:微型计算原理与接口技术秒表课程设计报告
链接地址:https://www.777doc.com/doc-1060625 .html