单片机课程报告电子时钟文档格式.docx

上传人:b****5 文档编号:20983313 上传时间:2023-01-26 格式:DOCX 页数:17 大小:186KB
下载 相关 举报
单片机课程报告电子时钟文档格式.docx_第1页
第1页 / 共17页
单片机课程报告电子时钟文档格式.docx_第2页
第2页 / 共17页
单片机课程报告电子时钟文档格式.docx_第3页
第3页 / 共17页
单片机课程报告电子时钟文档格式.docx_第4页
第4页 / 共17页
单片机课程报告电子时钟文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

单片机课程报告电子时钟文档格式.docx

《单片机课程报告电子时钟文档格式.docx》由会员分享,可在线阅读,更多相关《单片机课程报告电子时钟文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

单片机课程报告电子时钟文档格式.docx

k1键(P1.4):

时间/闹钟值切换显示键

2:

K2键(P1.5):

校正键

3:

K3键(P1.6):

+1键

4:

K4键(P1.7):

确定键以及开关闹钟蜂鸣器

(四个按键均以低电平有效,且不要同时按下多个键)

五、地址分配

1.闹钟时单元:

30H

2.闹钟分单元:

31H

3.时单元:

32H

4.分单元:

33H

5.秒单元:

34H

6.1/16秒计数单元:

2FH

7.校正指针:

21H低两位(00为校月、01日、10时、11分)

8.时间/闹钟状态标志:

20H.0(低电平为显示日期,反之为显示闹钟值)

9.校正/走时标志:

20H.1(低电平时为走时,反之为校正)

10.显示缓冲单元:

3BH,3AH

11.按键信息存放单元:

50H

 

六、程序原理与流程图

<

1>

原理图

2>

流程图

1主程序

2中断程序

N

Y

N

Y

N

七、编写程序

ORG0000H

SJMPMAIN

ORG000BH

LJMPIT0P;

T0中断入口

ORG0030H

MAIN:

MOV50H,#0FFH;

按键信息存放单元(作用:

长按按键只当按一次)

MOV30H,#0;

定时闹钟时单元

MOV31H,#1;

定时闹钟分单元,开始默认为一分钟闹钟

MOV32H,#0;

时单元

MOV33H,#0;

分单元

MOV34H,#0;

秒单元

MOV2FH,#16;

1/16秒计数单元(定时器为1/16秒中断溢出)

CLR20H.1;

20H.1为0走时,为1校正

SETB20H.0;

20H.0为0显示当前闹钟值,为1显示走时

MOVTMOD,#01H;

T0工作于定时,方式1

MOVTH0,#0BH;

赋定时器T0初值,定时1/16S=62500US

MOVTL0,#0DCH

MOVIE,#82H;

允许定时器T0中断

SETBTR0;

启动定时器T0

//////////////////////////////////////;

显示模块////////////////////////////////////////////////////

DISP:

MOVDPTR,#TAB;

取笔型码表始地址

JB20H.1,DISP1;

校正?

若是跳至校正显示

MOVA,3BH;

不是校正,显示走时/闹钟值

ANLA,#0F0H;

取时高位BCD码

SWAPA

MOVCA,@A+DPTR;

读时高位BCD码笔型码并通过P0口输出

SETBP2.0;

数据片选74LS573芯片使能输入有效

CLRP2.1;

位选片选74LS573芯片工作于锁存方式

MOVP0,A;

送时高位笔型码输出显示

SETBP2.1;

片选573芯片工作

CLRP2.0;

573锁存时高位

MOVP0,#0FEH;

只允许第一个数码管亮

LCALLDELAY;

延时,调节动态显示效果

MOVA,3BH

ANLA,#0FH;

取时低位

读时低位笔型码

JNB20H.0,LOOP1;

显示当前闹钟值?

若是,秒常亮

JB2FH.3,LOOP1;

显示走时,秒闪;

半秒到?

SJMPNEXT1;

半秒到,秒灭

LOOP1:

ORLA,#80H;

秒亮

NEXT1:

SETBP2.0

CLRP2.1

送时低位笔型码输出显示

SETBP2.1

CLRP2.0

MOVP0,#0FDH;

只允许第二个数码管亮

延时,调节动态显示效果

MOVA,3AH

ANLA,#0F0H;

取分高位

MOVCA,@A+DPTR

SETBP2.0

输出显示分高位值

MOVP0,#0FBH;

只允许第三个数码管亮

MOVA,3AH

取分低位

输出显示分低位值

MOVP0,#0F7H;

只允许第四个数码管亮

LJMPEXT;

显示闹钟模块

///////////////////////////////////;

校闹钟时或校时显示代码////////////////////////////////////////

DISP1:

JB21H.0,LOOP2;

校闹钟分或校分?

不是,跳至闹钟分或校分

MOVA,3BH;

校闹钟时或校时

显示时高位

MOVCA,@A+DPTR

JNB2FH.3,LP2;

没,跳正常显示

MOVA,#0;

半秒到,时高位灭

LP2:

MOVP0,A

只允许第一个数码管显示

LCALLDELAY

MOVA,3BH

ANLA,#0FH

JNB2FH.3,LP3;

没,显示时低位

MOVA,#0;

半秒到,时低位送灭码

LP3:

JNB21H.1,LOOP3;

校闹钟时?

是,跳校闹钟时

JB2FH.3,NEXT2;

校时,半秒到?

没,秒灭

ORLA,#80H;

半秒到,秒亮

SJMPNEXT2

LOOP3:

校闹钟时,秒亮(校闹时,秒常亮;

校时,秒闪)

NEXT2:

只允许第二位数码管显示

LCALLDELAY

MOVP0,A

只允许第三位数码管显示

MOVP2,#0F7H;

只允许第四位数码管显示

跳至闹钟模块

/////////////////////////////;

校闹钟分或校分显示代码////////////////////////////////////

LOOP2:

MOVA,3BH;

校闹分校分

取时高位

只允许第一位数码管显示

JNB21H.1,LOOP4;

校闹钟分?

跳校闹分

JB2FH.3,NEXT3;

校分,半秒到?

没,秒灭

LOOP4:

校闹分,秒亮(校闹钟分,秒常亮;

校分,秒闪)

NEXT3:

JNB2FH.3,LP4

CLRA

LP4:

JNB2FH.3,LP5

LP5:

////////////////////////////////////////闹钟模块//////////////////////////////////////////

EXT:

JBP3.3,LOP;

是否允许闹钟?

低电平允许

MOVA,32H;

CJNEA,30H,LOP;

判断是否到闹钟时间?

MOVA,33H

CJNEA,31H,LOP

MOVA,#6;

到闹钟值,设定蜂鸣器开启时间(默认为6S)

SUBBA,34H;

设定值-秒值,当C=0时,开启蜂鸣

JCLOP

LCALLBUZZER;

调用蜂鸣器子程序

LOP:

LJMPDISP;

反复执行显示模块与闹钟模块

/////////////////////////////////////////;

中断服务程序///////////////////////////////////////////

IT0P:

MOVTH0,#0BH;

T0重赋初值,定时1/16S=62500US

MOVTL0,#0DCH

DJNZ2FH,KEY;

到了1秒?

没有跳至判键

MOV2FH,#16;

1秒到,重赋1/16秒计数单元初值

MOVA,34H

ADDA,#1;

秒+1

DAA;

秒值十进制调整

MOV34H,A;

送回秒单元

CJNEA,#60H,KEY;

到了60秒?

MOV34H,#0;

到了,秒清0

MOVA,33H

ADDA,#1;

分+1

DAA

MOV33H,A

到了60分钟?

MOV33H,#0;

到了,分清0

MOVA,32H

ADDA,#1;

时+1

MOV32H,A

CJNEA,#24H,KEY;

到了24小时?

MOV32H,#0;

到了,时清0

///////////////////////////////////////////;

判键及键处理//////////////////////////////////

KEY:

JNB20H.1,ZOUSHI;

是否为走时?

若是,跳到走时

LJMPJIAOSHI;

不是,跳到显示闹钟值

ZOUSHI:

MOVA,P1;

读入按键信息

ORLA,#0EH;

消除闹钟启动位影响

CJNEA,50H,KEY1;

有键按下?

LJMPNONE1;

无按下跳至走时显示

KEY1:

MOV50H,A;

有按下,按键信息存至按键存储单元

JNBACC.4,SWITCH1;

若时间/闹钟切换键按下,跳至切换显示代码

JNBACC.5,SET1;

若校时键按下时,跳至校时代码

JNBACC.7,SURE

按下的键无效,跳至执行走时显示

SWITCH1:

CPL20H.0;

时间/闹钟显示切换键按下,状态标志切换

NONE1:

JNB20H.0,CLOCK1;

时间/闹钟显示标志为0,跳转至显示闹钟

MOV3BH,32H;

为1,显示时间

MOV3AH,33H

LJMPEXT1;

显示

CLOCK1:

MOV3BH,30H;

闹钟时传给显缓

MOV3AH,31H;

闹钟分传给显缓

LJMPEXT1;

SET1:

SETB20H.1;

校正键按下,走时标志切换至校时

MOV21H,#0;

初始化校正指针

CLR20H.0;

标志为显示闹钟时间

MOV3BH,30H;

将闹钟值送至显缓

MOV3AH,31H

LJMPEXT1

JIAOSHI:

MOVA,P1;

ORLA,#0EH

CJNEA,50H,KEY2;

LJMPNONE2;

无键按下跳至走时显示

KEY2:

有按下,按键信息存至按键存储单元

JNBACC.5,SET2;

校时键按下?

JNBACC.6,ADD2;

若+1键按下?

JNBACC.7,SURE;

若确定键按下?

无效键处理

SET2:

INC21H;

校时键按下,调整校正指针

ANL21H,#03H;

屏弊高六位,取低两位作为校正指针

SJMPNONE2

ADD2:

MOVA,#30H;

将闹钟时单元地址取出

ADDA,21H;

根据校正指针确定校正单元

MOVR0,A

MOVA,@R0;

取校正单元内容

校正单元内容+1

DAA;

十进制调整

MOV@R0,A;

经校正后传回

CJNER0,#30H,C_HOUR;

校闹时?

CJNE@R0,#24H,NONE2;

24小时未满,校正显示

MOV@R0,#0;

时初始化

C_HOUR:

CJNER0,#31H,C_MIN;

校闹分?

CJNE@R0,#60H,NONE2;

60分钟未满跳,校正显示

分初始化

C_MIN:

CJNER0,#32H,MIN;

校时?

校时,24小时未满跳,校正显示

SJMPNONE2;

MIN:

CJNE@R0,#60H,NONE2;

校分,60分钟未满跳,校正显示

SURE:

CPLP3.3;

开/关闹钟功能,低电平开

校正确定,显示时间

SJMPTIME2

NONE2:

JNB21H.1,CLOCK2;

校闹钟?

跳至显示闹钟值

TIME2:

SETB20H.0;

校时,显示走时

时传给显缓

MOV3AH,33H;

分传给显缓

CLOCK2:

CLR20H.0;

显示闹钟值

MOV3BH,30H

MOV3AH,31H

EXT1:

RETI;

中断退出

////////////////////////////////////延时子程序/////////////////////////////////////////

DELAY:

MOV40H,#10;

3MS子程序

DL:

MOV41H,#82H

DJNZ41H,$

DJNZ40H,DL

RET

/////////////////////////////////////蜂鸣器子程序///////////////////////////////////

BUZZER:

CPLP1.0;

闹钟子程序

MOV36H,#5;

T=30ms方波

B_LP:

ACALLDELAY

DJNZ36H,B_LP

TAB:

DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH;

0~9笔型码

END

八、设计心得

本次课程设计是用80C51单片机、74LS64芯片及接口电路设计一个电子时钟,经过认真地编写程序以及调试程序,结果满足设计要求,验证无误。

从开始设计到仿真实现,再到课程设计报告的完成,每走一步对我来说都是新的尝试与挑战。

在此期间,我学到了很多知识也有很多感受,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

在设计过程中,通过针对性地查找资料,了解了些电子方面的资料,既增长了自己见识,又对80C51有了一个全面的认识,这些知识贯穿到一起,对电子专业有了一个更全面的认识!

总之这次课程设计让我把理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合等方面全面的培养学生的全面素质。

这些在我今后的学习和工作当中都会有很大的帮助。

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

当前位置:首页 > 考试认证 > 交规考试

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

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