单片机课程设计定时闹钟的设计.docx

上传人:b****7 文档编号:10308197 上传时间:2023-02-10 格式:DOCX 页数:22 大小:129.29KB
下载 相关 举报
单片机课程设计定时闹钟的设计.docx_第1页
第1页 / 共22页
单片机课程设计定时闹钟的设计.docx_第2页
第2页 / 共22页
单片机课程设计定时闹钟的设计.docx_第3页
第3页 / 共22页
单片机课程设计定时闹钟的设计.docx_第4页
第4页 / 共22页
单片机课程设计定时闹钟的设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

单片机课程设计定时闹钟的设计.docx

《单片机课程设计定时闹钟的设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计定时闹钟的设计.docx(22页珍藏版)》请在冰豆网上搜索。

单片机课程设计定时闹钟的设计.docx

单片机课程设计定时闹钟的设计

提供全套毕业论文,各专业都有

河南城建学院

电子技术基础课程设计报告

 

定时闹钟

 

姓名:

连波

学号:

094412130

专业班级:

0944121

指导老师:

张洛花 

所在院系:

电气与信息工程学院

 

2014年12月24日

摘要

本设计是一个定时闹钟,它仅使用单片的40引脚单片机完成闹钟的全部功能。

设计目的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力。

本文设计的定时闹钟采用80c51芯片,用汇编语言进行编程,时、分、秒用6位LED数码管显示。

在电路中通过四个按键S1、S2、S3和S4来进行定时和调时,定时时间到通过喇叭发出报警声。

设计系统的主要功能

·能显示时时-分分-秒秒。

· 能够设置定时时间、修改定时时间。

· 到定时时间能发出报警

 

1系统总体方案及硬件设计

1.1 系统总体方案

1)由于要显示数字时间,所以需要6位数码管。

2)时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出。

3)80c51单片机加上外围器件(2个3位共阳数码管,8个限流电阻和一个蜂鸣器)和应用程序(ISIS7Professional软件和KEIL编译软件),构成相应的应用系统。

1.2系统设计方框图

 

1.3硬件设计

1.3.1芯片:

80c51

80c51芯片内不包含一个8位中央处理器cpu,4kb程序存储器ROM,128B随机存取存储器,RAM,4个8位并行I/O接口,1个全双工串行通信接口,2个16位定时器、计数器级及21个特殊功能寄存器。

由先进CMOS工艺制造并带有非易失性Flash程序存储器全部支持12时钟和6时钟操作P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路。

此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率可降至0。

可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定时器,串口和中断系统仍然工作掉电模式保存RAM的内容但是冻结振荡器导致所有其它的片内功能停止工作。

由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。

.1.3.2蜂鸣器

由P3.7口控制蜂鸣器,使其定时时间到能发出报警声。

1.3.3时钟电路

单片机的时钟产生方法有两种:

内部时钟方式和外部时钟方式。

本系统中单片机采用内部时钟方式。

最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。

振荡晶体可在1.2MHz~12MHz之间。

电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。

单片机的时钟电路:

如图所示

 

 

限流电阻:

8个10k电阻

 

控制按键:

本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。

 

 

1.3.4显示器模块的设计

利用2个七段数码管6个选位引脚连接C51单片机P2.5–P2.0接口,其他8个引脚分别通过限流电阻与C51单片机的P0.0-P0.7和共阳极数码管连接。

数码管:

单片机中通常使用7段LED,LED是发光二极管显示器的缩写。

LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。

LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。

如图所示

 

2软件设计

2.1划分模块

根据设计要求,定时闹钟程序可分为以下几个模块:

1)显示时间的设置;

2)闹钟时间的设置:

4)定时时间的响应。

 

3.2程序流程图

 

程序流程图

 

2.3汇编程序

ORG0000H

LJMPSTART

ORG000BH

LJMPTIME

;;;;;;;;初始化;;;;;;;;

START:

MOVSP,#50H

MOV20H,#00H;定义秒

MOV21H,#00H;定义分

MOV22H,#00H;定义时

MOV23H,#01H;定义闹钟分钟

MOV24H,#01H;定义闹钟小时

MOV25H,#00H

MOV26H,#01H

MOV30H,#00H;BCDSECOND

MOV31H,#00H

MOV32H,#00H;BCDMINUTE

MOV33H,#00H

MOV34H,#00H;BCDHOUR

MOV35H,#00H

MOV36H,#01H

MOV37H,#00H

MOV38H,#01H

MOV39H,#00H

MOV50H,#00H;按键次数

MOVTMOD,#01H;16位计数器

MOVTH0,#03CH;赋初值

MOVTL0,#0B0H

MOVIE,#87H;中断允许

SETBTR0;启动T0

MOVR2,#14H

MOVP2,#0FFH

CLRP3.7

;;;;;;;;主程序;;;;;;;;;

MAIN:

LCALLTIMEPRO;调用闹钟判断

GB:

LCALLDISPLAY1;调用时间显示

JBP1.3,M1;P1.3=1时转移S4没有按下

LCALLSETTIME;调用SETTIME调时子程序

LJMPMAIN

M1:

JBP1.2,M2;P1g.2=1时转移   S3

LCALLSETATIME;调用SETATIME子程序

LJMPMAIN

M2:

JBP1.0,M4;P1.0=1时转移S1

LCALLLOOKATIME;调用LOOKATIME显示闹钟子程序

M4:

LJMPMAIN

;;;;;;;;延时子程序;;;;;;

DELAY:

MOVR4,#030H

DL00:

MOVR5,#0FFH

DL11:

MOVR6,#9H

DL12:

DJNZR6,DL12

DJNZR5,DL11

DJNZR4,DL00

RET

;;;;;;;时间调整;;;;;;;

SETTIME:

;设置时间

L0:

LCALLDISPLAY1

MM1:

JBP1.3,L1;P1.3=1时转移

MOVC,P1.3

JCMM1

LCALLDELAY1;延时

JCMM1

MSTOP1:

MOVC,P1.3;P1.3为0时转移

JNCMSTOP1

LCALLDELAY1;延时

MOVA,50H

INC50H

CJNEA,#00H,HJ1

LJMPL0

HJ1:

MOVC,P1.3

JNCMSTOP1

INC22H;小时自加一

MOVA,22H

CJNEA,#18H,GO12;小时计数循环 

MOV22H,#00H;复位

MOV34H,#00H

MOV35H,#00H

LJMPL0

L1:

JBP1.1,L2;P1.1=1时转移

MOVC,P1.1

JCL1

LCALLDELAY1;延时

JCL1

MSTOP2:

MOVC,P1.1;P1.1=0时转移

JNCMSTOP2

LCALLDELAY1;延时

MOVC,P1.1

JNCMSTOP2

INC21H;分钟加一

MOVA,21H

CJNEA,#3CH,GO11;分钟计数循环

MOV21H,#00H;复位

MOV32H,#00H

MOV33H,#00H

LJMPL0

GO11:

MOVB,#0AH

DIVAB

MOV32H,B;将A的低4位存入32单元

MOV33H,A;将A的高4位存入33单元

LJMPL0

GO12:

MOVB,#0AH

DIVAB

MOV34H,B;将A的低4位存入34单元

MOV35H,A;将A的高4位存入35单元

LJMPL0

L2:

JBP1.0,L0;P1.0=1时转移

MOVC,P1.0

JCL2

LCALLDELAY1;延时

MOVC,P1.0

JCL2

STOP1:

MOVC,P1.0;P1.0=0时转移

JNCSTOP1

LCALLDELAY1;延时

MOVC,P1.0

JNCSTOP1

MOV50H,#00H

LJMPMAIN

;;;;;;设置闹钟;;;;;;;;

SETATIME:

LCALLDISPLAY2;调用DISPLAY2显示闹钟

N0:

LCALLDISPLAY2

MM2:

JBP1.2,N1;P1.2=1时转移

MOVC,P1.2

JCMM2

LCALLDELAY1;延时

JCMM2

MSTOP3:

MOVC,P1.2;P1.2=0时转移

JNCMSTOP3

LCALLDELAY1;延时

MOVA,50H

INC50H

CJNEA,#00H,HJ2

LJMPN0

HJ2:

MOVC,P1.2

JNCMSTOP3

INC24H;小时加一

MOVA,24H

CJNEA,#24,GO22;小时计数循环

MOV24H,#00H;复位

MOV38H,#00H

MOV39H,#00H

LJMPN0

N1:

JBP1.1,N2;P1.1=1时转移

MOVC,P1.1

JCN1

LCALLDELAY1;延时

JCN1

MSTOP4:

MOVC,P1.1;P1.1=0时转移

JNCMSTOP4

LCALLDELAY1;延时

MOVC,P1.1

JNCMSTOP4

INC23H;分钟加一

MOVA,23H

CJNEA,#60,GO21;分钟计数循环

MOV23H,#00H;复位

MOV36H,#00H

MOV37H,#00H

LJMPN0

GO21:

MOVB,#0AH

DIVAB

MOV36H,B;将A的低4位存入36单元

MOV37H,A;将A的高4位存入37单元

LJMPN0

GO22:

MOVB,#0AH

DIVAB

MOV38H,B;将A的低4位存入38单元

MOV39H,A;将A的高4位存入39单元

LJMPN0

N2:

JBP1.0,N0;P1.0=1时转移

MOVC,P1.0

JCN2

LCALLDELAY1;延时

MOVC,P1.0

JCN2

STOP2:

MOVC,P1.0

JNCSTOP2

LCALLDELAY1

MOVC,P1.0

JNCSTOP2

MOV50H,#00H

LJMPMAIN

TIMEPRO:

MOVA,21H

MOVB,23H

CJNEA,B,BK;判断定时闹钟的分钟

MOVA,22H

MOVB,24H

CJNEA,B,BK;判断定时闹钟的小时

SETB25H.0

MOVC,25H.0

LCALLTIMEOUT;调用TIMEOUT

BK:

RET

TIMEOUT:

X1:

LCALLBZ;调用喇叭响应程序

LCALLDISPLAY2;延时

CLR25H.0;调用喇叭响应程序结束

JBP1.0,X1;P1.0=1时转移

LCALLDELAY;延时

CLR25H.0

LJMPDISPLAY1

BZ:

CLRP3.7

MOVR7,#250;喇叭响应时间

T2:

MOVR6,#124

T3:

DJNZR6,T3

DJNZR7,T2

SETBP3.7

RET

LOOKATIME:

LCALLDISPLAY2

MM:

JNBP1.0,LOOKATIME

LCALLDELAY1

LJMPMAIN

DELAY1:

MOVR4,#14H;时间延时

DL001:

MOVR5,#0FFH

DL111:

DJNZR5,DL111

DJNZR4,DL001

RET

;***********定时**************

TIME:

PUSHACC;保护现场

PUSHPSW

MOVTH0,#03CH;初值

MOVTL0,#0B0H

DJNZR2,RET0

MOVR2,#14H

MOVA,20H

CLRC

INCA;秒自加一

CJNEA,#3CH,GO1;秒计数循环

MOV20H,#0;复位

MOV30H,#0

MOV31H,#0

MOVA,21H

INCA;分钟自加一

CJNEA,#3CH,GO2;分钟计数循环

MOV21H,#0H;复位

MOV32H,#0

MOV33H,#0

MOVA,22H

INCA;小时自加一

CJNEA,#18H,GO3;小时计数循环

MOV22H,#00H;复位

MOV34H,#0

MOV35H,#0

AJMPRET0

GO1:

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A;将A的低4位存入31单元

MOV30H,B;将A的高4位存入30单元

AJMPRET0

GO2:

MOV21H,A

MOVB,#0AH

DIVAB

MOV33H,A;将A的低4位存入33单元

MOV32H,B;将A的高4位存入32单元

AJMPRET0

GO3:

MOV22H,A

MOVB,#0AH

DIVAB

MOV35H,A;将A的低4位存入35单元

MOV34H,B;将A的高4位存入34单元

AJMPRET0

RET0:

POPPSW;恢复现场

POPACC

RETI

;;;******显示子程序**********

DISPLAY1:

MOVR0,#30H

MOVR3,#0FEH

MOVA,R3

PLAY1:

MOVP2,A

MOVA,@R0;取要显示的数据

MOVDPTR,#DSEG1;指向字形段码首地址

MOVCA,@A+DPTR

CPLA;查表取字形段码

MOVP0,A;指向P0口

LCALLDL1

MOVP2,#0FFH

MOVA,R3;判断是否显示到最低位

RLA;左移一位

JNBACC.6,LD1

INCR0;缓冲器地址加一

MOVR3,A

LJMPPLAY1

LD1:

RET

DISPLAY2:

PUSHACC;保护现场

PUSHPSW

MOVR0,#36H

MOVR3,#0FBH

MOVA,R3

PLAY2:

MOVP2,A

MOVA,@R0;取要显示的数据

MOVDPTR,#DSEG1;指向字形段码首地址

MOVCA,@A+DPTR

CPLA;查表取字形段码

MOVP0,A;指向P0口

LCALLDL1;调用DL1

MOVP2,#0FFH

MOVA,R3;判断是否显示到最低位

RLA;左移一位

JNBACC.6,LD2

INCR0;缓冲器地址加一

MOVR3,A

LJMPPLAY2;调用PLAY2

LD2:

POPPSW

POPACC;恢复现场

RET

;;;;;;;DELAY;;;;;;;;

DL1:

MOVR7,#20H

DL:

MOVR6,#20H

DL6:

DJNZR6,$

DJNZR7,DL

RET

DSEG1:

DB3FH,06H,5BH,4FH,66H;七段码表

DB6DH,7DH,07H,7FH,6FH

END

 

3protell软件仿真:

通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置。

定时时间到能发出报警声,使用KEIL软件编辑程序,生成HEX文件,然后用protel进行仿真,系统运行初始状态:

按下S1键显示闹钟,松开后显示时间;按下S4键进入时间修改模式,再按S4键时间的时加1,按S2分加1,调整结束后按下S1恢复正常显示;按下S3键进入闹钟修改模式,再按S3键闹钟的时加1,按S2分加1,调整结束后按下S1恢复正常显示。

 

4课程设计体会:

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在,作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。

通过本次单片机原理及应用课程设计使我充分认认到了课程设计的理要性和必要性,本次设计使我对已学过的基础知识有了更深入的理解,学会了独立思考、独立工作以及对应用所学基本理论分析和解决实际问题的能力有了很大的提高。

另外,本次设计使我的实际操作技能得到了训练,同时也进一步培养了我严谨的科学作风。

回顾起此次单片机课程设计,从选题到定稿,从理论到实践,在整整两个星期的日子里,可以说得是苦多于甜,但是从中却学到很多很多的的东西,不但巩固了以前所学过的知识,而且对单片机原理课外知识也的到了拓展。

做的过程中,开始的确遇到了不少困难的问题,比如说芯片管脚不熟悉怎么放置,对单片机汇编语言掌握得不好等等,同时在这过程中也发现了自己的许多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

通过单片机课程设计之后,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我们还学会了如何去培养创新精神和严谨的科学作风,从而不断地战胜自己,超越自己。

更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

 

参考文献:

[1].何宏.单片机原理及接口技术教程.北京:

国防工业出版社,2008.4

[2].李广弟.单片机基础.北京:

北京航空航天大学出版社,1992

[3].何立民.单片机应用技术大全.北京:

北京航空航天大学出版社,1994

[4].张毅刚.单片机原理及接口技术.哈尔滨:

哈尔滨工业大学出版社,1990

 

附1:

元器件清单

元器件名称

型号

数量

7段4位共阴数码管

7SEG-MPX4-CC

2

51单片机

AT89C51

1

按钮

BUTTON

4

电容

CAP

2

晶振

CRYSTAL

1

继电器

G2R-14-DC5

1

PNP三极管

PNP

1

电阻

RES

4

排阻

RESPACK-8

1

蜂鸣器

SPEAKER

1

电源

POWER

4

接地

GROUND

4

发光二极管

LED

1

 

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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