基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx

上传人:b****8 文档编号:22127210 上传时间:2023-02-02 格式:DOCX 页数:30 大小:177.92KB
下载 相关 举报
基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx_第1页
第1页 / 共30页
基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx_第2页
第2页 / 共30页
基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx_第3页
第3页 / 共30页
基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx_第4页
第4页 / 共30页
基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx

《基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。

基于at89c51控制的定时闹钟设计课程设计论文毕业论文Word文件下载.docx

2.系统总体方案及硬件设计

2.1系统设计原理

本设计使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。

本系统采用单片机AT89C51作为本设计的核心元件,利用6位共阴数码管作为显示器件。

接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出。

提示预先设定时间电器的起停时间到,从而控制电器的起停。

电路由下列部分组成:

时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89C51单片机。

系统框图如图2-1所示:

图2-1系统框图

2.2硬件设计

2.2.1单片机AT89C51

AT89C51是一个低电压,高性能CMOS型8位单片机,片内含4KB的可反复擦写的Flash只读程序存储器(ROM)和128B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51为用户提供了许多高性价比应用场合,可灵活应用于各种控制领域。

AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

主要特性:

·

与MCS-51兼容

4K字节可编程闪烁存储器

寿命:

1000写/擦循环

数据保留时间:

10年

全静态工作:

0Hz-24Hz

三级程序存储器锁定

128×

8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度.

图2-2是单片机AT89C51的引脚图:

图2-2单片机AT89C51引脚图

2.2.2显示器的选择

方案一:

液晶显示器。

如果选择此方案,将会降低系统的功耗,这样就可以用电池供电,便于携带。

但液晶显示器的驱动电路复杂,使用起来有一定的难度。

方案二:

点阵显示,是由八行八列的发光二极管集成在一块电路上组成,主要用来显示汉字,同时也能显示数字和少量图象,但它的焊接较麻烦,价格高,鉴于所设计的题目要求它不切实际。

所以排除此方案。

方案三:

用数码管作为显示器。

数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。

其缺点是功耗较大。

由于数码管使用起来较为方便,在夜间看时间也很方便,因此我选择了方案三。

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

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

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

LED显示器有多种形式,如:

“米”字型显示器,点阵显示器和七段数码显示器等,在单片机系统中使用最多的是七段数码显示器。

本系统利用7SEG-MPX6-CC-BLUE数字显示器,7SEG-MPX6-CC-BLUE数字显示器的1-6引脚连接AT89C51单片机P2.0–P2.5接口,其他8个引脚分别与AT89C51单片机的P0.0-P0.7和共阳极管RESPACK-8排阻的2-9引脚分别连接。

因为共阴极的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该系统中的6位LED数码管均用共阴极的数码管。

6位数码管的引脚图如图2-3所示:

图2-36位数码管的引脚

2.2.3控制按键的选择

方案一:

选取阵列式按键,减少了I/O口的使用,且扫描M×

N个按键只需占用M+N个I/O口即可实现,但给编程带来了一定的困难,虽然节省了很多的口线,降低了成本,但在此设计中所用的按键要尽量少,因此排除此方案。

方案二:

独立式按键,每个按键实现一个功能,易于控制且编写程序简单,容易理解,虽然会占用一定的单片机I/O口资源,但是题目中要求使用的按键要尽量少。

通过以上两种方案比较,采用方案二。

2.2.4时钟电路

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

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

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

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

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

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

AT98C51单片机的时钟电路。

如图2-4所示:

图2-4时钟电路图

上拉电阻:

RESPACK-8

控制按键:

BUTTONACTIVESPSTPushButton

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

2.2.5喇叭:

SPEAKER

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

如图2-5所示:

图2-5喇叭引脚图

经过方案论证与比较,选择AT89C51作为主控,采用独立式按键控制,LED数码管动态扫描显示,喇叭:

SPEAKER,其中AT89C51单片机采用内部时钟方式。

3系统软件设计

3.1系统软件设计说明

该系统软件程序主要有主程序模块,定时中断服务程序,中断等待服务程序,键盘服务程序,显示子程序服务程序等六大模块组成。

在AT89C51外围的一个17管脚即P3.7管口上加喇叭器,通过软件与硬件的结合可实现定时报警功能。

图中按键从上往下设定为S1,S2,S3,S4,S1与p1.0相连,S2与p1.1相连,S3与p1.2相连,S4与p1.3相连。

当需要设定当前时间时,按一下S1键,进入时间设定状态,按一下S3,分钟加1;

按一下S2,小时加1。

如此反复来设定当前时间。

调好时间后按S4退出当前时间设定状态;

当要设定定时时间时,按下S2,进入定时时间设定状态,按一下S3,小时加1;

按一下S1,分钟加1。

如此反复来设定要设定的定时时间。

设好后,按下S4退出定时时间设定状态。

3.2程序流程图

3.2.1程序主流程图

图3-1程序流程图

3.2.2时间设定设计

时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。

即只涉及4个键完成了6位时间参数的设定。

软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。

去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。

“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能

其流程图如下图3-2所示:

图3-2时间设定流程

3.3程序调试

1)将程序输入到keiluvision4的环境下;

2)用单步运行和断点运行方式调试程序;

3)调试T0中断服务程序,首先在记数单元39H、3AH、3BH、3CH单元中预置数,调试秒单元向分单元进位及分单元向时单元的进位,最后将T0中断服务程序统调通过;

4)在39H、3AH、3BH、3CH单元中预置数,调试显示程序;

5)调试主程序,使闹钟走时系统工作正常。

3.4仿真步骤

第一步:

用keiluvision4软件对程序进行编译,编译通过后,会自动生成HEX文件。

第二步:

在Proteus的元件库中找到AT89C51以及相应的元件,按照硬件设计中的说明把各部件连接起来组成一个定时闹钟的硬件系统。

第三步:

把在keiluvision4环境调试下生成的.HEX文件装入到AT89C51里,点击运行符号就可以使软硬件的配套设施在Proteus的环境下仿真实现。

第四步:

验证系统能否实现所要求的功能,并检验错误。

3.5仿真结果

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

定时时间到能发出报警声,使用keiluvision4软件编辑程序然后进行proteus进行仿真,其仿真图如下:

开始仿真时,显示如图3-3所示:

图3-3仿真图

(1)设定当前时间

调好时间后按S4退出当前时间设定状态。

如图3-4所示:

图3-4设定样式图

如图3-5:

设定当前时间是06:

06:

06

图3-5仿真时间设定图

(2)设定定时时间

如图3-6所示图:

设定定时时间为06:

图3-6设定定时时间

如图3-7所示当到达时间06:

06时,喇叭发出报警声。

图3-7闹钟响起图

4课程设计体会

通过这次设计让我更深入了解在设计程序之前,务必要对所学单片机课程的内容有一个系统的了解,知道单片机片内片外的内容及其功能。

设计程序采用什么编程语言并不是非常重要,关键要有一个清晰的思路和一个完整的软件流程图。

在设计程序时,不能妄想一次就将整个程序设计好,"

反复修改,不断改进"

是程序设计的必经之路。

程序刚开始编好时,一般情况下会存在很多错误,要不断地修改,不断的改进才能达到预期的目的,编写程序的时间并不是很长,主要是修改程序会花很多时间。

总之,通过这次设计让我更深入了解单片机基本电路、如何控制和定时器和中断编程的基本方法,从而锻炼了我学习、设计和开发软、硬件的能力。

并且使我巩固了本课程所学的基本知识,还使我具有了撰写设计报告的初步训练能力,我相信这些能力在我以后的工作或者是再学习中一定会起到不小的作用,看到自己几周的小成果,感觉一切的辛苦和艰难都是值得的。

参考文献

[1].张毅刚,单片机原理及应用,高等教育出版社.2014.

[2].皮大熊.单片机课程设计指导书.北京理工大学出版社.2010.

[3].吴金戌.8051单片机实践与应用.清华大学出版社.2003.

[4].楼然苗.51系列单片机设计实例.北京航空航天出版社.2004.

[5].黄仁欣.单片机原理及应用技术.清华大学出版社.2005.

[6].赵晓安.MCS-51单片机原理及应用.天津大学出版社.2001.3.

[7].凌玉华,单片机原理及应用系统设计,中南大学出版社.2006.

[8].胡汉才,单片机原理及应用,清华大学出版社.2004.

[9].徐江海.单片机实用教程.机械工业出版社.2007.

附1源程序代码

ORG0000H

LJMPMAIN

ORG000BH

LJMPTIME

ORG0100H

MAIN:

MOVSP,#50H

MOV20H,#00H;

时间BINSECOND

MOV21H,#00H;

BINMINUTE

MOV22H,#00H;

BINHOUR

MOV23H,#01H;

闹铃BINMINUTE

MOV24H,#01H;

MOV25H,#00H;

定义一个标志位

MOV30H,#00H;

时间BCDSECOND

MOV31H,#00H;

MOV32H,#00H;

BCDMINUTE

MOV33H,#00H;

MOV34H,#00H;

BCDHOUR

MOV35H,#00H;

MOV36H,#01H;

闹铃BCDMINUTE

MOV37H,#00H;

MOV38H,#01H;

MOV39H,#00H;

MOVTMOD,#01H;

16位计数器T0,方式1

MOVTH0,#03CH;

赋初值

MOVTL0,#0B0H

MOVIE,#10000111B;

开中断T0,EA=1

SETBTR0;

T0启动计数

MOVR2,#14H;

计数器

MOVP2,#0FFH

LOOP:

LCALLTIMEPRO;

调用现在时间与闹铃时间比较程序

LCALLDISPLAY1;

调用现在时间显示子程序

JBP1.0,M1;

判断按键是否按下

LCALLXIAOZHEN1;

调用消抖程序

MOVC,25H.0

JCA1

A1:

CLR25H.0

LCALLSETTIME;

调用设置现在时间子程序

LJMPLOOP

M1:

JBP1.1,M2

LCALLXIAOZHEN2

JCA2

A2:

LCALLSETATIME;

调用设置闹钟的程序

M2:

JBP1.3,M3

A3:

LCALLXIAOZHEN3

JCA4

A4:

M3:

LJMPLOOP

SETTIME:

L0:

LCALLDISPLAY1

JBP1.1,L1

LCALLXIAOZHEN4

JCA5

A5:

INC22H

MOVA,22H

CJNEA,#18H,GO12

MOV22H,#00H

MOV34H,#00H

MOV35H,#00H

LJMPL0

L1:

JBP1.2,L2

LCALLXIAOZHEN5

JCA6

A6:

INC21H

MOVA,21H

CJNEA,#3CH,GO11

MOV21H,#00H

MOV32H,#00H

MOV33H,#00H

GO11:

MOVB,#0AH

DIVAB

MOV32H,B

MOV33H,A

GO12:

MOV34H,B

MOV35H,A

L2:

JBP1.3,L0

LCALLXIAOZHEN3

JCAX

AX:

RET

SETATIME:

LCALLDISPLAY2;

调用闹钟设置,闹铃响时的显示程序

N0:

LCALLDISPLAY2

JBP1.2,N1

LCALLXIAOZHEN6

JCA7

A7:

INC24H

MOVA,24H

CJNEA,#24,GO22

MOV24H,#00H

MOV38H,#00H

MOV39H,#00H

LJMPN0

N1:

JBP1.0,N2

LCALLXIAOZHEN7

JCA8

A8:

INC23H

MOVA,23H

CJNEA,#60,GO21

MOV23H,#00H

MOV36H,#00H

MOV37H,#00H

GO21:

MOV36H,B

MOV37H,A

GO22:

MOV38H,B

MOV39H,A

N2:

JBP1.3,N0

JCA9

A9:

TIMEPRO:

MOVA,21H

MOVB,23H

CJNEA,B,BK

MOVB,24H

SETB25H.0

JCXX

XX:

LCALLTIMEOUT

BK:

RET

TIMEOUT:

X1:

LCALLBZ

LCALLDISPLAY2

CLR25H.0

JBP1.3,X1

BZ:

CLRP3.7

MOVR7,#250

T2:

MOVR6,#124

T3:

DJNZR6,T3

DJNZR7,T2

SETBP3.7

JBP1.3,XY

JCXY1

XY:

XY1:

XIAOZHEN1:

JBP1.0,XIAOZHEN1

MOVC,P1.0

JCXIAOZHEN1

LCALLDELAY

STOP1:

MOVC,P1.0

JNCSTOP1

XIAOZHEN2:

JBP1.1,XIAOZHEN2

MOVC,P1.1

JCXIAOZHEN2

STOP2:

MOVC,P1.1

JNCSTOP2

XIAOZHEN3:

JBP1.3,XIAOZHEN3

MOVC,P1.3

JCXIAOZHEN3

STOP3:

MOVC,P1.3

JNCSTOP3

XIAOZHEN4:

JBP1.1,XIAOZHEN4

JCXIAOZHEN4

STOP4:

JNCSTOP4

XIAOZHEN5:

JBP1.2,XIAOZHEN5

MOVC,P1.2

JCXIAOZHEN5

STOP5:

MOVC,P1.2

JNCSTOP5

XIAOZHEN6:

JBP1.2,XIAOZHEN6

JCXIAOZHEN6

STOP6:

JNCSTOP6

XIAOZHEN7:

JBP1.0,XIAOZHEN7

JCXIAOZHEN7

STOP7:

JNCSTOP7

DELAY:

MOVR4,#14H

DL00:

MOVR5,#0FFH

DL11:

DJNZR5,DL11

DJNZR4,DL00

TIME:

PUSHACC

PUSHPSW

MOVTH0,#03CH

MOVTL0,#0B0H

DJNZR2,RET0

MOVR2,#14H

MOVA,20H

CLRC

INCA

CJNEA,#3CH,GO1

MOV20H,#0

MOV30H,#0

MOV31H,#0

CJNEA,#3CH,GO2

MOV21H,#0H

MOV32H,#0

MOV33H,#0

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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