电子时钟 1.docx

上传人:b****6 文档编号:7701165 上传时间:2023-01-25 格式:DOCX 页数:19 大小:122.81KB
下载 相关 举报
电子时钟 1.docx_第1页
第1页 / 共19页
电子时钟 1.docx_第2页
第2页 / 共19页
电子时钟 1.docx_第3页
第3页 / 共19页
电子时钟 1.docx_第4页
第4页 / 共19页
电子时钟 1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

电子时钟 1.docx

《电子时钟 1.docx》由会员分享,可在线阅读,更多相关《电子时钟 1.docx(19页珍藏版)》请在冰豆网上搜索。

电子时钟 1.docx

电子时钟1

南京工程学院

 

课程设计任务书

  

  

 

 课程名称:

单片机原理及应用A

 院(系、部、中心):

自动化学院

 专业:

自动化(数控技术应用)

 班级:

数控061

 姓名:

吴胡

 起止日期:

2008.12.17~2008.12.21

 指导教师:

孙来业

 

 

电子时钟课程设计

一、设计目的

1、进一步掌握定时器的使用功能的使用和编程方法

2、进一步掌握中断处理程序的编程方法

3、进一步掌握数码显示电路的驱动方法

二、设计要求

利用CPU的定时器和试验仪上的提供的数码显示电路,设计一个电子时钟。

格式如下:

XXXXXX由左向右分别为:

时、分、秒

三、设备仪器

1、LAB6000微控制器试验系统

2、PC机一台

3、试验导线若干

四、试验步骤

1、硬件电路设计

本试验连接只需要接上显示/键盘的选择信号即可。

显示电路见附表中的键盘及LED显示电路或数码管显示试验。

2、程序框图

电子钟程序框图

3、程序流程图:

OUTSEGEQU08004H

OUTBITEQU08002H

ORG0000H

AJMPMAIN

ORG000BH

AJMPTIME

ORG0300H

MAIN:

mov20h,#00h

MOV21H,#00H

MOV22H,#00H

MOV23H,#00H

MOVIP,#02H、

MOVIE,#82H

MOVTMOD,#01H、

MOVTL0,#0B0H

MOVTH0,#3CH

SETBTR0、

MOVSP,#40H、

NEXT:

LCALLDISP、

LCALLKEY、

JZNEXT;

LCALLANKEY、

SJMPNEXT、

NOP

NOP

NOP

TIME:

PUSHACC

PUSHPSW

MOVTL0,#0B4H;¸

MOVTH0,#3CH

INC20H;

MOVA,20H

CJNEA,#10,RETI1

MOV20H,#00H

MOVA,21H

ADDA,#01H

DAA

MOV21H,A

CJNEA,#60H,RETI1

MOV21H,#00H

MOVA,22H

ADDA,#01H

DAA

MOV22H,A

CJNEA,#60H,RETI1

MOV22H,#00H

MOVA,23H

ADDA,#01H

DAA

MOV23H,A

CJNEA,#24H,RETI1

MOV23H,#00H

RETI1:

POPPSW;

POPACC

RETI;

NOP

NOP

DISP:

ANL2FH,#10H;MOVA,21H;´

ANLA,#0FH

ORLA,2FH

MOV2FH,A

MOVA,21H

ANLA,#0F0H

SWAPA

MOV2EH,A

ANL2DH,#10H

MOVA,22H;

ANLA,#0FH

ORLA,2DH

MOV2DH,A

MOVA,22H

ANLA,#0F0H

SWAPA

MOV2CH,A

ANL2BH,#10H

MOVA,23H;´

ANLA,#0FH

ORLA,2BH

MOV2BH,A

MOVA,23H

ANLA,#0F0H

SWAPA

MOV2AH,A

MOVR0,#2FH

MOVR3,#06H

MOVDPTR,#TABLE

MOVA,#01H

LOOP1:

MOVB,A;

MOVDPTR,#OUTBIT

MOVA,#0

MOVX@DPTR,A

MOVA,@R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR

 

MOVDPTR,#OUTSEG

MOVX@DPTR,A

MOVDPTR,#OUTBIT

MOVA,B

MOVX@DPTR,A

 

MOVR2,#01H;

DJNZR2,$

DECR0

MOVA,B

RLA

DJNZR3,LOOP1

RET

TABLE:

db3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

KEY:

MOVP3,#0FFH;

MOVA,P3

CPLA

ANLA,#3CH

JZRETX

LCALLDISP;

LCALLDISP

MOVA,P3

CPLA

ANLA,#3CH

JZRETX

MOVR6,A

LOOP2:

LCALLDISP;

MOVA,P3

CPLA

ANLA,#3CH

JNZLOOP2

MOVA,R6

RETX:

RET

NOP

NOP

ANKEY:

CLREA;

LX:

MOVA,R6

JBACC.2,L1;

JBACC.3,L2

JBACC.4,L3;

JNBACC.5,L12;

JB2BH.4,L6

JB2DH.4,L8

JB2FH.4,L9

L12:

LCALLDISP

LCALLDISP

LCALLKEYJZL12

LJMPLX

L2:

MOV25H,#00H;

CLR2BH.4

CLR2DH.4

CLR2FH.4

SETBEA

RET

L3:

JB2BH.4,L61

JB2DH.4,L81

JB2FH.4,L91

AJMPL12

L1:

MOVA,25H

JZLB1

JBACC.0,LB2

JBACC.1,LB3

JNBACC.2,L12

LB1:

MOV25H,#01H

SETB2BH.4

CLR2DH.4

CLR2FH.4

AJMPL12

LB3:

MOV25H,#04H

SETB2FH.4

CLR2DH.4

CLR2BH.4

AJMPL12

LB2:

MOV25H,#02H

SETB2DH.4

CLR2BH.4

CLR2FH.4

AJMPL12

L61:

AJMPL611;

L81:

AJMPL811;

L91:

AJMPL911

L6:

MOVA,23H

ADDA,#01H

DAA

MOV23H,A

CJNEA,#24H,L15

L15:

JCL112

MOV23H,#00H

L112:

AJMPL12

L8:

MOVA,22H;

ADDA,#01H

DAA

MOV22H,A

CJNEA,#60H,L16

L16:

JCL112

MOV22H,#00H

AJMPL12

L9:

MOVA,21H

ADDA,#01H

DAA

MOV21H,A

CJNEA,#60H,L17

L17:

JCL112

MOV21H,#00H

AJMPL12

L611:

MOVA,23H

ADDA,#99H

DAA

MOV23H,A

CJNEA,#99H,L112

MOV23H,#23H

AJMPL12

L811:

MOVA,22H;

ADDA,#99H

DAA

MOV22H,A

CJNEA,#99H,L112

MOV22H,#59H

AJMPL12

L911:

MOVA,21H

ADDA,#99H

DAA

MOV21H,A

CJNEA,#99H,L112

MOV21H,#59H

AJMPL12

NOP

NOP

END

4、程序调试:

调试程序:

打开LAB6000软件,录入程序以.ASM保存,编译,全速执行,观察试验结果。

问题分析:

1、在试验的时候发现数码管没有任何显示?

分析:

经过分析发现,在程序中没有写入数码管段控制符、位控制符,在添加段控制符、位控制符后可以观察到正确的结果,数码管可以正常显示,结果符合要求。

2、在试验的时候发现不能正常改变时间?

分析:

无法实现正常的时间分析调节,经过分析明白在试验的时候键盘调用错误,经过正确改正后,可以通过键盘的确认键、秒更改建、分更改建、时更改建来改变时间进行正确的时间调节。

3、在试验的时候试验控制程序没有问题,当没有结果显示?

分析:

经检查发现程序中采用外部中断1,而外部中断接线却接在了外部中断0上,经过改动后,可以看到正常的结果。

五、程序清单:

OUTSEGEQU08004H

OUTBITEQU08002H

ORG0000H

AJMPMAIN

ORG000BH

AJMPTIME

ORG0300H

MAIN:

mov20h,#00h

MOV21H,#00H

MOV22H,#00H

MOV23H,#00H

MOVIP,#02H

MOVIE,#82H

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#3CH

SETBTR0

MOVSP,#40H

NEXT:

LCALLDISP;

LCALLKEY

JZNEXT;

LCALLANKEY;

SJMPNEXT

NOP

NOP

NOP

TIME:

PUSHACC;

PUSHPSW

MOVTL0,#0B4H;¸

MOVTH0,#3CH

INC20H;

MOVA,20H

CJNEA,#10,RETI1

MOV20H,#00H

MOVA,21H

ADDA,#01H

DAA

MOV21H,A

CJNEA,#60H,RETI1

MOV21H,#00H

MOVA,22H

ADDA,#01H

DAA

MOV22H,A

CJNEA,#60H,RETI1

MOV22H,#00H

MOVA,23H

ADDA,#01H

DAA

MOV23H,A

CJNEA,#24H,RETI1

MOV23H,#00H

RETI1:

POPPSW;

POPACC

RETI

NOP

NOP

DISP:

ANL2FH,#10H;

MOVA,21H;´

ANLA,#0FH

ORLA,2FH

MOV2FH,A

MOVA,21H

ANLA,#0F0H

SWAPA

MOV2EH,A

ANL2DH,#10H

MOVA,22H

ANLA,#0FH

ORLA,2DH

MOV2DH,A

MOVA,22H

ANLA,#0F0H

SWAPA

MOV2CH,A

ANL2BH,#10H

MOVA,23H;´

ANLA,#0FH

ORLA,2BH

MOV2BH,A

MOVA,23H

ANLA,#0F0H

SWAPA

MOV2AH,A

MOVR0,#2FH

MOVR3,#06H

MOVDPTR,#TABLE

MOVA,#01H

LOOP1:

MOVB,A;

MOVDPTR,#OUTBIT

MOVA,#0

MOVX@DPTR,A

MOVA,@R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR

 

MOVDPTR,#OUTSEG

MOVX@DPTR,A

MOVDPTR,#OUTBIT

MOVA,B

MOVX@DPTR,A

 

MOVR2,#01H

DJNZR2,$

DECR0

MOVA,B

RLA

DJNZR3,LOOP1

RET

TABLE:

db3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

KEY:

MOVP3,#0FFH;

MOVA,P3

CPLA

ANLA,#3CH

JZRETX;

LCALLDISP;

LCALLDISP

MOVA,P3

CPLA

ANLA,#3CH

JZRETX

MOVR6,A

LOOP2:

LCALLDISP;

MOVA,P3

CPLA

ANLA,#3CH

JNZLOOP2;

MOVA,R6

RETX:

RET

NOP

NOP

ANKEY:

CLREA

LX:

MOVA,R6

JBACC.2,L1

JBACC.3,L2

JBACC.4,L3

JNBACC.5,L12;

JB2BH.4,L6

JB2DH.4,L8

JB2FH.4,L9

L12:

LCALLDISP

LCALLDISP

LCALLKEY

JZL12

LJMPLX

L2:

MOV25H,#00H

CLR2BH.4

CLR2DH.4

CLR2FH.4

SETBEA

RET

L3:

JB2BH.4,L61

JB2DH.4,L81

JB2FH.4,L91

AJMPL12

L1:

MOVA,25H

JZLB1

JBACC.0,LB2

JBACC.1,LB3

JNBACC.2,L12

LB1:

MOV25H,#01H;

SETB2BH.4

CLR2DH.4

CLR2FH.4

AJMPL12

LB3:

MOV25H,#04H

SETB2FH.4

CLR2DH.4

CLR2BH.4

AJMPL12

LB2:

MOV25H,#02H

SETB2DH.4

CLR2BH.4

CLR2FH.4

AJMPL12

L61:

AJMPL611;

L81:

AJMPL811;

L91:

AJMPL911

L6:

MOVA,23H

ADDA,#01H

DAA

MOV23H,A

CJNEA,#24H,L15

L15:

JCL112

MOV23H,#00H

L112:

AJMPL12

L8:

MOVA,22H;·

ADDA,#01H

DAA

MOV22H,A

CJNEA,#60H,L16

L16:

JCL112

MOV22H,#00H

AJMPL12

L9:

MOVA,21H

ADDA,#01H

DAA

MOV21H,A

CJNEA,#60H,L17

L17:

JCL112

MOV21H,#00H

AJMPL12

L611:

MOVA,23H

ADDA,#99H

DAA

MOV23H,A

CJNEA,#99H,L112

MOV23H,#23H

AJMPL12

L811:

MOVA,22H;

ADDA,#99H

DAA

MOV22H,A

CJNEA,#99H,L112

MOV22H,#59H

AJMPL12

L911:

MOVA,21H

ADDA,#99H

DAA

MOV21H,A

CJNEA,#99H,L112

MOV21H,#59H

AJMPL12

NOP

NOP

END

六、试验体会

通过本次试验,我感受颇深,在试验的时候让我明白了数码管显示程序的编程方法,掌握了键盘调用的程序编程方法,掌握了时间延时程序的编程方法,熟悉了中断程序的编程方法,在做电子钟程序设计的时候,能够中断程序、延时程序、数码管显示程序、键盘调用程序有机的结合在一起构成一个完整的控制程序,实现了电子钟的计时、时间调节的控制,同时在试验过程中熟悉了8051编程方法,巩固了已学知识,提高了自己的动手能力,加强了理论知识与实际相联系的能力,同时诚挚感谢在试验中老师孜孜不倦的给予我们帮助和鼓励,老师诲人不倦的精神值得我们永远去坚持和追求,不论做学问还是做人这种精神都不可以丢,不断在以后的学习工作中提高自己的科学严谨的作风,诚恳虚心的为人作风,不断奋斗进去。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

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

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