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

上传人:b****1 文档编号:2673965 上传时间:2023-05-04 格式:DOCX 页数:23 大小:264.58KB
下载 相关 举报
单片机课程设计定时闹钟.docx_第1页
第1页 / 共23页
单片机课程设计定时闹钟.docx_第2页
第2页 / 共23页
单片机课程设计定时闹钟.docx_第3页
第3页 / 共23页
单片机课程设计定时闹钟.docx_第4页
第4页 / 共23页
单片机课程设计定时闹钟.docx_第5页
第5页 / 共23页
单片机课程设计定时闹钟.docx_第6页
第6页 / 共23页
单片机课程设计定时闹钟.docx_第7页
第7页 / 共23页
单片机课程设计定时闹钟.docx_第8页
第8页 / 共23页
单片机课程设计定时闹钟.docx_第9页
第9页 / 共23页
单片机课程设计定时闹钟.docx_第10页
第10页 / 共23页
单片机课程设计定时闹钟.docx_第11页
第11页 / 共23页
单片机课程设计定时闹钟.docx_第12页
第12页 / 共23页
单片机课程设计定时闹钟.docx_第13页
第13页 / 共23页
单片机课程设计定时闹钟.docx_第14页
第14页 / 共23页
单片机课程设计定时闹钟.docx_第15页
第15页 / 共23页
单片机课程设计定时闹钟.docx_第16页
第16页 / 共23页
单片机课程设计定时闹钟.docx_第17页
第17页 / 共23页
单片机课程设计定时闹钟.docx_第18页
第18页 / 共23页
单片机课程设计定时闹钟.docx_第19页
第19页 / 共23页
单片机课程设计定时闹钟.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

单片机课程设计定时闹钟

单片机

课程设计报告书

课题名称

定时闹钟设计

姓名

陈辉映

学号

2008118010146

专业

电气工程及其自动化

指导教师

皮大能

控制科学与工程系

2011年6月20日

填写说明

1、正文部分:

(1)标题与正文格式定义标准如下:

一级标题:

1.标题1

二级标题:

1.1标题2

三级标题:

1.1.1标题3

四级标题:

1.1.1.1标题4

     

(2)表格:

尽可能采用三线表。

     (3)图形:

直接插入的插图应有图标、图号,不能直接插入的图应留出插图空位。

图中文字、符号书写要清楚,并与正文一致。

     (4)文字表述:

要求层次清楚,语言流畅,语句通顺,无语法和逻辑错误,无错字、别字、漏字。

文字的表述应当以科学语言描述研究过程和研究结果,不要以口语化的方式表达,报告中科技术语和名词应符合规定的通用词语,并使用法定计量单位和标准符号。

 2、参考文献:

   

(1)数量要求:

参考文献只选择最主要的列入,应不低于5种。

   

(2)种类要求:

参考文献的引用,可以是著作[M]、论文[J]、专利文献[P]、会议论文等。

   (3)文献著录格式及示例。

参考文献用宋体五号字。

    [1]作者.书名[M].版次.出版地:

出版者,出版年:

起止页码  (著作图书文献)

     [2]作者.文章名[J].学术刊物名称.年.卷(期):

起止页码     (学术刊物文献)

  示例:

 [1]王社国,赵建光。

基于ARM的嵌入式语音识别系统研究[J]。

微计算机信息,2007,2-2:

149-150.

    3、附录或附件:

(可选项)

重要的测试结果、图表、设计图纸、源程序代码、大量的公式、符号、照片等不宜放入正文中的可以附录形式出现。

4、如果需要可另行附页粘贴。

任务书

本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。

需要实现某一功能时,按对应的按键即可,经过多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时时间到能发出报警声的功能。

本设计要求实现的功能:

1、能显示时时—分分—秒秒。

2、能够设定定时时间,并修改定时时间。

3、定时时间到能发出警报声。

 

1、绪论…………………………………………………………………………XX

2、方案论证…………………………………………………………………XX

3、方案说明…………………………………………………………………XX

4、硬件方案设计…………………………………………………………XX

5、软件方案设计…………………………………………………………XX

6、调试………………………………………………………………………XX

7、技术小结…………………………………………………………………XX

8、参考文献…………………………………………………………………XX

9、附录…………………………………………………………………………XX

 

一、绪论

系统采用单片机AT89C51作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。

键盘采用独立连接式。

还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。

外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。

由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。

片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。

另外,AT89C51的指令系统和引脚与8051完全兼容,片内有128B的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。

在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。

 

二、方案论证

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

本系统采用单片机AT89C51作为本设计的核心元件,利用7段共阴LED作为显示器件。

接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,扬声器发出报警声,提示预先设定时间到。

电路由下列部分组成:

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

系统基本框图:

图1系统基本框图

 

三、方案说明

此设计主要是通过单片机系统,综合运用定时器、中断、数码显示等知识设计一个可定时的电子钟。

它包括系统总体方案及硬件设计,软件设计,Proteus软件仿真等部分。

系统总体方案及硬件设计是本设计的重要组成部分,在这部分详细介绍了时钟原理,硬件设计,数码管LED,以及在设计过程中考虑到技术指标,机型的选择,器件的选择等一系列问题。

硬件设计的主要任务是根据总体设计要求,以及在所选机型的基础上,确定系统扩展所要用的存储器,I/O电路及有关外围电路等然后设计出系统的电路原理图。

合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础,因此必须充分重视。

在本设计中采用应用广泛的汇编语言,便于调试。

用Proteus软件仿真检查设计是否合理。

 

四、硬件方案设计

1、单片机AT89S51

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

2、时钟电路

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

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

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

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

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

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

AT98S51单片机的时钟电路如图2所示。

 

图2时钟电路

3、数码管显示电路

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

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

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

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

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

 

LED七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极管

的连接形式不同,LED有共阴极和共阳极两种,如图3所示:

采用高亮共阴型数位数码管,为示区别,显示秒的两个数码管个头较小,另外4个较大。

共阴数码管连接线路如下:

一般用7个发光二极管构成显示数字和符号,另外还用一段发光二极管显示小数点。

这种显示器一般分为两种,共阳极显示器和共阴极显示器,共阳极显示器是把每个二极管的正端连在一起,共阴极显示器是把每个二极管的阴极连在一起。

一只显示器是有8个发光二极管构成,当把某段加正向电压时,则该段所对应的笔划亮,不加正向电压则暗,为了保护各段不受损坏需要加限流电阻,无论是共阳极显示器还是共阴极显示器,它的8段排列顺序都是一样的:

A段、B段、C段、D段、E段、F段、G段和DP段。

在单片机中通常使用7段LED。

 

五、软件方案设计

1、系统软件设计

该系统软件主要有主程序模块,定时中断服务程序,中断等待服务程序,键盘程序,显示子程序服务程序等六大模块组成,因为汇编语言使用助记符,符号和数字等来表示指令程序的语言,容易理解和记忆,所以我们用汇编语言来写此程序。

2、键盘程序

键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有键按下,便转向相应的子程序处理,处理结束后再返回。

3、LED

七段LED由七个发光二极管按日字排开,所有发光二极管的阳极连在一起成共阳极,阴极连在一块称共阴极接法。

当采用芯片驱动时不需要加限流电阻,其他情况下一般应外接限流电阻。

动态显示电路有显示块,字形码封锁驱动器,字位锁存驱动器三部分组成。

4、音响报警电路

在AT89C51外围的一个管口上加蜂鸣器,通过软件与硬件的结合可实现定时闹钟功能。

5、系统流程图

图4程序流程图

六、调试

设几个按键从上往下为k1,k2,k3,k4。

k1与p1.0相连,k2与p1.1相连,k3与p1.2相连,k4与p1.3相连。

当需要设定当前时间时,按一下k1键,进入时间设定状态,按一下k2,小时加1;按一下k3,分加1。

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

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

如下图5。

当要设定定时时间时,按下k2,进入定时时间设定状态,按一下k3,小时加1;按一下k1,分钟加1。

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

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

如下图6。

图5调时仿真图

 

图6定时仿真图

 

七、技术小结

在做课程设计的过程中,我进一步认识到全面专业知识以及逻辑思考方式对研究问题的重要性,同时我也更加具体的掌握了课程设计的基本方法。

经过不断的的努力,我终于完成了这次课程设计,总的来说,我学到了不少的东西,知道了理论联系实际的重要性。

在设计过程中我遇到了很多的困难,但没放弃,查阅了许多相关的书籍,自己独立思考和借鉴了前人的许多优秀成果,并与所学的知识紧密的结合了起来。

我相信这过程对我今后的学习和工作给与积极的影响,搭好了平台。

通过这次设计,我对这门课有了更好的理解,尤其结合了这几年学的相关的专业知识,对各门课都有了一个较全面的理解。

这必将对我以后的学习和工作有很大的帮助。

本次课程设计的定时闹钟电路,可以满足人们的基本要求,但因为知识水平有限,此电路中存在一定的问题,虽可以通过增加电路解决,但过于复杂和现有水平有限,本次设计就未深入涉及,想要更好的改进电路,需要进一步的努力,,如果有好的意见,希望老师给以支持。

 

八、参考文献

[1]何立民.单片机应用技术选编10.北京:

北京航空航天大学出版社

[2]何立民.单片机应用技术选编8.北京:

北京航空航天大学出版社

[3]沙占友等.单片机外围电路设计.西安:

电子工业出版社

[4]江力.蔡骏.王艳春.董泽芳.单片机原理与应用技术.北京,清华大学出版社

[5]潘永红.柳殊.单片机原理与应用.西安,西安电子科技大学出版社

 

附1定时闹钟源程序代码

ORG0000H

LJMPMAIN

ORG000BH

LJMPTIME

;×××××主程序部分:

×××××

ORG0100H

MAIN:

MOVSP,#50H

MOV20H,#00H;秒钟 BIN

MOV21H,#00H;分钟 BIN

MOV22H,#00H;小时 BIN

MOV23H,#01H

MOV24H,#01H

MOV25H,#00H

MOV30H,#00H

MOV31H,#00H

MOV32H,#00H

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H

MOV36H,#01H

MOV37H,#00H

MOV38H,#01H

MOV39H,#00H

MOVTMOD,#01H;16位计数器

MOVTH0,#03CH;赋计数初值

MOVTL0,#0B0H

MOVIE,#10000111B

SETBTR0;T0启动计数

MOVR2,#14H

MOVP2,#0FFH

LOOP:

LCALLTIMEPRO

LCALLDISPLAY1

JBP1.0,M1

LCALLSETTIME;调用设定时间程序

LJMPLOOP

M1:

JBP1.1,M2

LCALLSETATIME;调用设定时间程序

LJMPLOOP

M2:

JBP1.3,M4

LCALLLOOKATIME;调用设定闹钟时间程序

M4:

LJMPLOOP

DELAY:

MOVR4,#030H;延时时间

DL00:

MOVR5,#0FFH

DL11:

MOVR6,#9H

DL12:

DJNZR6,DL12

DJNZR5,DL11

DJNZR4,DL00

RET

;×××××设定时间程序:

×××××

SETTIME:

L0:

LCALLDISPLAY1;调用时间允许程序

MM1:

JBP1.1,L1

MOVC,P1.1

JCMM1

LCALLDELAY1;调用延时

JCMM1

MSTOP1:

MOVC,P1.1

JNCMSTOP1;判断P1.1是否释放?

释放则继续

LCALLDELAY1;调用延时

MOVC,P1.1

JNCMSTOP1

INC22H;小时增加1

MOVA,22H

CJNEA,#18H,GO12;判断小时是否到24时?

未到继续循环

MOV22H,#00H;小时复位

MOV34H,#00H

MOV35H,#00H

LJMPL0

L1:

JBP1.2,L2

MOVC,P1.2

JCL1

LCALLDELAY1;延时

JCL1

MSTOP2:

MOVC,P1.2

JNCMSTOP2;判断P1.2是否释放?

释放则继续

LCALLDELAY1;调用延时

MOVC,P1.2

JNCMSTOP2

INC21H;分钟增加一

MOVA,21H

CJNEA,#3CH,GO11

MOV21H,#00H;分钟复位

MOV32H,#00H

MOV33H,#00H

LJMPL0

GO11:

MOVB,#0AH;将A中的内容分成高低两部分

DIVAB

MOV32H,B

MOV33H,A

LJMPL0

GO12:

MOVB,#0AH

DIVAB

MOV34H,B

MOV35H,A

LJMPL0

L2:

JBP1.3,L0

MOVC,P1.3

JCL2

LCALLDELAY1;调用延时

MOVC,P1.3

JCL2

STOP1:

MOVC,P1.3;判断按键P1.3是否释放?

JNCSTOP1

LCALLDELAY1;调用延时

MOVC,P1.3

JNCSTOP1

LJMPLOOP

 

;×××××设置闹钟时间×××××

SETATIME:

LCALLDISPLAY2;调用时间运行

N0:

LCALLDISPLAY2

MM2:

JBP1.2,N1;判断P1.2是否按下?

 

MOVC,P1.2

JCMM2

LCALLDELAY1

JCMM2

MSTOP3:

MOVC,P1.2;判断P1.2是否释放?

JNCMSTOP3

LCALLDELAY1

MOVC,P1.2

JNCMSTOP3

INC24H;设定小时增加1

MOVA,24H

CJNEA,#24,GO22

MOV24H,#00H;时钟复位

MOV38H,#00H

MOV39H,#00H

LJMPN0

N1:

JBP1.0,N2;判断P1.0是否按下?

MOVC,P1.0

JCN1

LCALLDELAY1

JCN1

MSTOP4:

MOVC,P1.0;判断P1.0是否释放?

JNCMSTOP4

LCALLDELAY1

MOVC,P1.0

JNCMSTOP4

INC23H;设定闹钟分钟增加1

MOVA,23H

CJNEA,#60,GO21;判断A是否到60分?

MOV23H,#00H;分钟复位

MOV36H,#00H

MOV37H,#00H

LJMPN0

GO21:

MOVB,#0AH;将A中的内容分成高低两部分

DIVAB

MOV36H,B

MOV37H,A

LJMPN0

GO22:

MOVB,#0AH

DIVAB

MOV38H,B

MOV39H,A

LJMPN0

N2:

JBP1.3,N0;判断P1.3是否按下?

MOVC,P1.3

JCN2

LCALLDELAY1

MOVC,P1.3

JCN2

STOP2:

MOVC,P1.3;判断P1.3是否释放?

JNCSTOP2

LCALLDELAY1

MOVC,P1.3

JNCSTOP2

LJMPLOOP

TIMEPRO:

MOVA,21H

MOVB,23H

CJNEA,B,BK;判断分钟是否运行到设定的闹钟的分钟?

MOVA,22H

MOVB,24H

CJNEA,B,BK;判断时钟是否运行到设定的闹钟的时钟?

SETB25H.0

MOVC,25H.0

JCXX

XX:

LCALLTIMEOUT;调用时间闹钟响应程序

BK:

RET

TIMEOUT:

X1:

LCALLBZ;调用喇叭响应程序

LCALLDISPLAY2

CLR25H.0

JBP1.3,X1;判断P1.3是否按下?

LCALLDELAY

CLR25H.0

LJMPDISPLAY1

BZ:

CLRP3.7;喇叭响应程序

MOVR7,#250;响应延时时间

T2:

MOVR6,#124

T3:

DJNZR6,T3

DJNZR7,T2

SETBP3.7

RET

LOOKATIME:

LCALLDISPLAY2;调用时间运行程序

MM:

JBP1.3,LOOKATIME;判断按键P1.3是否按下

MOVC,P1.3

JCMM

LCALLDELAY1

MOVC,P1.3

JCMM

STOP3:

MOVC,P1.3

JNCSTOP3

LCALLDELAY1

MOVC,P1.3

JNCSTOP3

LJMPLOOP

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;秒钟自加1

CJNEA,#3CH,GO1;判断秒钟是否到60秒?

MOV20H,#0;到60秒复位

MOV30H,#0

MOV31H,#0

MOVA,21H

INCA;分钟自加1

CJNEA,#3CH,GO2;判断分钟是否到60分?

MOV21H,#0H;到60分复位

MOV32H,#0

MOV33H,#0

MOVA,22H

INCA;时钟自加1

CJNEA,#18H,GO3;判断时钟是否到24时?

MOV22H,#00H;到24时复位

MOV34H,#0

MOV35H,#0

AJMPRET0

GO1:

MOV20H,A

MOVB,#0AH

DIVAB

MOV31H,A

MOV30H,B

AJMPRET0

GO2:

MOV21H,A

MOVB,#0AH

DIVAB

MOV33H,A

MOV32H,B

AJMPRET0

GO3:

MOV22H,A

MOVB,#0AH

DIVAB

MOV35H,A

MOV34H,B

AJMPRET0

RET0:

POPPSW;恢复现场

POPACC

RETI

;×××××运行部分×××××

DISPLAY1:

MOVR0,#30H

MOVR3,#0FEH

MOVA,R3

PLAY1:

MOVP2,A

MOVA,@R0

MOVDPTR,#DSEG1;表首地址送DPTR

MOVCA,@A+DPTR

MOVP0,A

LCALLDL1

MOVP2,#0FFH;送高电平到P2

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;表首地址送DPTR

MOVCA,@A+DPTR;查ASCII特码

MOVP0,A;查表结果送A

LCALLDL1

MOVP2,#0FFH;送高电平到P2

MOVA,R3

RLA

JNBACC.6,LD2

INCR0

MOVR3,A

LJMPPLAY2

LD2:

POPPSW;恢复现场

POPACC

RET

;×××××延时时间×××××

DL1:

MOVR7,#02H;延时时间

DL:

MOVR6,#0200H

DL6:

DJNZR6,$

DJNZR7,DL

RET

DSEG1:

DB3FH,06H,5BH,4FH,66H

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

END

 

附2系统总体电路图

图7系统总体电路图

 

 

指导教师

评语

 

 

课程设计

成绩

 

指导教师

签字

 

年月日

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2