作息钟系统 单片机课程设计.docx

上传人:b****2 文档编号:24569887 上传时间:2023-05-28 格式:DOCX 页数:24 大小:313.62KB
下载 相关 举报
作息钟系统 单片机课程设计.docx_第1页
第1页 / 共24页
作息钟系统 单片机课程设计.docx_第2页
第2页 / 共24页
作息钟系统 单片机课程设计.docx_第3页
第3页 / 共24页
作息钟系统 单片机课程设计.docx_第4页
第4页 / 共24页
作息钟系统 单片机课程设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

作息钟系统 单片机课程设计.docx

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

作息钟系统 单片机课程设计.docx

作息钟系统单片机课程设计

作息钟系统

一、概述

1.1课题简介

随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化、智能化发展,作为高新技术之一的单片机以其体积小、功能强、价格低廉、使用灵活等优势,显示出了很强的生命力。

本设计就是采用AT89C52芯片,设计一个具有报时功能的作息时间控制钟。

利用单片机的定时器功能来计时,时间数据经过单片机由数码管输出显示,当与设定时间相一致时,进行报时。

该控制器可广泛用于学校、工厂等进行时间提醒。

1.2课题研究的目的和意义

本课题利用单片机来进行功能设定,让我们对单片机的功能,设计要求以及其他的一些必备要求有了一定的了解,通过实践,提高了我们的动手与整体把握的能力。

二、硬件系统

2.1主要元器件选用

本系统主要由单片机(AT89C52)、反相器(74LS04)、按键、蜂鸣器、PNP三极管、四联共阴极LED数码显示器等一系列电路组成,对时间进行定时,完成到设定时间报时的功能。

2.2电路分析

①本课题选用AT8952单片机,它是一个低电压,高性能CMOS8位单片机,片内含8Kbytes的可反复擦写的Flash只读程序存储器(ROM)和256bytes的随机存取数据存储器(RAM),AT8952单片机在电子行业中有着广泛的应用。

它的主要性能参数为:

·与MCS—51产品指令和引脚完全兼容

·8k字节可重擦写Flash闪速存储器

·1000次擦写周期

·全静态操作:

0Hz—24MHz

·三级加密程序存储器

·256×8字节内部RAM

·32个可编程I/O口线

·3个16位定时/计数器

·8个中断源

·可编程串行UART通道

·低功耗空闲和掉电模式

 PDIP封装的AT89C52引脚图

②晶振,如图2-2

在本次课程设计中,采用了外部振荡,在AT89C52芯片内部有一个高增益反相放大器,输入端为芯片引脚XTAL1(19脚),输出端为引脚XTAL2(18脚),在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。

根据经验,选取电容为30pF,这样电路就会

图2-2晶振电路稳定。

本次课程中选取了12M的晶振,即一个机器周期为1μS。

③蜂鸣电路

其电路图如左图所示蜂鸣电路接有电阻、三极管和蜂鸣器,构成一定的电路。

电阻选用10kΩ,起保护电路作用,PNP型三极管能放大电流信号。

三极管其发射极接正

图2-3蜂鸣电路极,集电极与蜂鸣器相接,当时间到达设定的时间时,芯片发出信号,经三极管放大后,启动蜂鸣器,蜂鸣器发出声音。

④显示电路,如图2-4

显示器采用四联共阴极LED数码显示器,以其正面对着自己,从左边开始数为1,2等依次下去的,其中四个数码管分别由P1口P1.0~P1.3控制,为1,12,5,9口。

字段直接由CPUP2口的8为双向口线控制,,但考虑到所买器材为共阴数码管,所以接反相器

图2-4显示电路

⑤计数电路和其他,如图2-5

这部分电路图中有8个LED灯和8个保护电阻,阻值均为10kΩ。

其中P0.0口所接的LED用来计秒,闪灭一下各计1s。

闪烁60次后,显示器的秒位增加一,P0.1~P0.7口所接的7个LED灯在蜂鸣器发出蜂鸣声的同时发光。

 

图2-5计数电路和其他

⑥按键

图2-6按键电路

四个按钮按从上到下的次序记为SW1、SW2、SW3、SW4,开机显示0600(表示6点)。

时间校对:

每按动一次SW2,小时自动加1,持续按住不放,小时持续自动加1;每按一次SW3,分钟自动加1,持续按住不放,分钟自动连续加1,当分钟显示为59时,再按动SW3,分钟将变为00。

设定闹铃时间:

先按SW1,屏幕出现CLR-,再按SW2,屏幕闪,再按SW1,开始设闹铃,按SW2设小时,按SW3设分钟。

时间设好后,再按SW1出现--00,若再按SW3保存闹铃时间,再按SW2恢复时间显示,若按SW1则放弃设置闹铃。

闹铃设置完成。

闹铃时间到,蜂鸣器响,LED灯亮,按SW4,蜂鸣器停止蜂鸣。

三、软件系统

3.1软件设计说明及RAM资源分配

软件采用MCS_51汇编语言编写,使用T0产生50ms时钟信号,通过软件计数器产生时、分、秒信号。

单片机内部RAM资源分配如下表:

RAM单元

资源分配

RAM单元

资源分配

10H

50ms

17H

显示缓冲区时十位

11H

秒计数

18H

定时分单元

12H

分计数

19H

定时时单元

13H

时计数

1AH

控制码单元

14H

显示缓冲区分个位

1B~1FH

备用

15H

显示缓冲区分十位

20H~6FH

时间表格

16H

显示缓冲区时个位

70H~7FH

堆栈区

3.2流程图:

 

Y

 

四、调试

4.1电路调试

硬件电路调试过程采用了proteus软件。

在调试过程中发现:

①.在仿真时发现数码管不显示任何数据,于是把程序部分分成多段子程序逐步进行仿真,发现问题存在于数码管为共阴极,未对输出信号进行取反,加了74LS04反相器进行驱动,问题解决。

②.在蜂鸣器发出蜂鸣后需断开电源才可以使其停下,在实际应用中不是很方便,就在原先设计的3个按键的基础上添加了一个用于关蜂鸣器的按键。

4.2实物调试

在焊接实物时,把焊接想的过于理想化,忽略了现实中焊接连线的困难,后来采用了排针,只需将线连接就可以,在焊好以后,进行调试,刚开始的时候,显示器不显示,其他的器件也没反应,查看电路,及焊的情况,在比较薄弱的地方加了一层焊锡,再次进行测试,还是没反应,用万用表进行测量,发现火线和零线之间没有电压,再查看电路时发现AT89C52的20脚和40脚的正负极接反,将其接正后,在调试,显示数据。

五、课程小结

在本次课程实践中,以团队的形式,我们共同的完成了一个课题,从刚开始的设想到后来的完成实物,从查书开始一步一步进行,期间经历了很多困难,有时候会让人崩溃的想放弃,但最后坚持了下来。

在此次实践中,我感触最深就是在焊接时,因为刚开始时过于理想化的设想,让我在排版的时候出现了一些错误,使得在后来焊接的时候比较麻烦,在发现需要交叉线较多的情况下,放弃了继续使用导线连接,直接用排针连接,这样减少了许多可能会出现的错误,比如说短路,虚焊等,但因为先前排版时候的错误,使得在按键的地方放不下排针,因此只能用导线慢慢连接,因此导致了连线比较乱,这给了我个启示,在以后的实践中,一定先要统筹全局,要考虑到全面的版图,不能以一部分一部分为单位,慢慢焊接。

另外,在焊接好电路以后的调试过程中,因为刚开始的显示器并没有显示,让我的心情有点急躁,并没有静下心来慢慢排除故障,但这无济于事,后来慢慢比对电路,向别人请求帮助后,查出了故障,再改正。

通过本次课程设计,让我们再一次体会了学在课堂,精于实践的真理,熟能生巧。

多做多练成为应用型人才很重要,也有助于日后的毕业设计乃至毕业后的工作奠定良好的基础。

致谢:

在这两个星期的课程实践中,经历了种种困难,经过团队的不断努力和请求他人的帮助下,我们顺利的完成了我们的设计,在此,我对我的指导老师庄志红老师和热心帮助过我的同学表示衷心致谢。

六、参考文献

《单片机原理及应用技术》范力旻主编电子工业出版社

《单片机原理及接口技术实践教程》胡建主编机械工业出版社

《单片机课程设计指导》杨居毅主编清华大学出版社

 

附录

1.

总电路图

2.元器件清单

序号

名称

代号

型号

数量

1

芯片

U1

ST89C52

1

2

晶振

X1

12MHz

1

3

电容

C1,C2

30pf

2

4

电解电容

C3

10uf

1

5

电阻

R1-R8

100Ω

8

6

电阻

R9,R10

10KΩ

2

7

三极管

Q1

PNP

1

8

蜂鸣器

BUZ1

-

1

9

发光二极管

LED1-LED8

LED

8

10

按钮

SW1~SW4

___

4

11

反相器

U2,U3

74LS04

2

12

数码管

---

共阴数码管

1

3.参考程序

SPEAKBITP3.7

DISEQUP1

ControlEQUP0

SW1EQUP3.2

SW2EQUP3.3

SW3EQUP3.4

SW4EQUP3.5

MSEQU10H

SecsEQU11H

MinuteEQU12H

HourEQU13H

T_MinuteEQU18H

T_HourEQU19H

TControlEQU1AH

DAITIEQU1BH

ORG0000H

LJMPMain

ORG000BH

LJMPT0INT

Main:

MOVSP,#70H

MOVIE,#10000010B

MOVTMOD,#01H

MOVMS,#20

MOVSecs,#0

MOVMinute,#0H

MOVHour,#6H

MOVT_Minute,#0

MOVT_Hour,#6

MOVDAITI,#20H

SETBP0.0

SETBSPEAK

CLRF0

CLRB.1

MOVR7,#80

MOVTL0,#0B0H

MOVTH0,#3CH

SETBTR0

LOOP:

MOVR1,#Minute

LCALLSplit

LCALLDISP

LCALLVerify

NOP

LCALLSetup

MOVA,Secs

CJNEA,#5,$+3

JNCLOOP

LCALLCompare

SJMPLOOP

T0INT:

PUSHACC

MOVTL0,#0B0H

MOVTH0,#3CH

DJNZMS,T0Exit

CPLP0.0

MOVMS,#20

MOVA,Secs

INCA

MOVSecs,A

CJNEA,#60,T0Exit

MOVSecs,#0

MOVA,Minute

ADDA,#1

DAA

MOVMinute,A

CJNEA,#60H,T0Exit

MOVMinute,#0

MOVA,Hour

ADDA,#1

MOVHour,A

CJNEA,#24H,T0Exit

MOVHour,#0

T0Exit:

POPACC

RETI

Compare:

MOVR0,#20H

NextTime:

LCALLDISP

MOVA,@R0

CJNEA,Hour,CLP1

INCR0

MOVA,@R0

CJNEA,Minute,CLP2

INCR0

MOVA,@R0

CPLA

MOVControl,A

START:

CLRSPEAK

MOVA,#255

SJMPAMAG

AMAG:

DECA

CJNEA,#0,AMAG

SETBSPEAK

CLRP0.1

CLRP0.2

CLRP0.3

CLRP0.4

CLRP0.5

CLRP0.6

CLRP0.7

JNBSW4,STOP

LJMPSTART

STOP:

MOVR6,#40

DJNZR6,$

SETBSPEAK

SETBP0.1

SETBP0.2

SETBP0.3

SETBP0.4

SETBP0.5

SETBP0.6

SETBP0.7

INCR0

RET

CLP1:

INCR0

CLP2:

INCR0

MOVA,@R0

JNZCLP3

RET

CLP3:

INCR0

CJNER0,#6FH,NextTime

RET

Verify:

JBSW3,VLP3

CLREA

CLRTR0

VLP1:

MOVA,Minute

ADDA,#1

DAA

MOVMinute,A

CJNEA,#60H,VLP2

MOVMinute,#0

VLP:

MOVR6,#40

MOVR1,#Minute

LCALLSplit

LCALLDISP

DJNZR6,$-3

JNBSW3,VLP1

MOVSecs,#0

SETBEA

SETBTR0

RET

VLP3:

JBSW2,Vexit

CLREA

CLRTR0

VLP4:

MOVA,Hour

ADDA,#1

DAA

MOVHour,A

CJNEA,#24H,VLP5

MOVHour,#0

VLP5:

MOVR6,#40

MOVR1,#Minute

LCALLSplit

LCALLDISP

DJNZR6,$-3

JNBSW2,VLP4

MOVSecs,#0

SETBEA

SETBTR0

VExit:

RET

Setup:

JNBSW1,SLP0

RET

SLP0:

MOVR6,#20

MOV14H,#10H

MOV15H,#0AH

MOV16H,#11H

MOV17H,#0CH

LCALLDISP

DJNZR6,$-3

JNBSW1,SLP0

SLP1:

MOVR6,#20

MOV14H,#10H

MOV15H,#0AH

MOV16H,#11H

MOV17H,#0CH

LCALLDISP

DJNZR6,$-3

JBSW3,SLP2

LCALLClear

MOVR6,#50

MOV14H,#10H

MOV15H,#0AH

MOV16H,#11H

MOV17H,#0CH

LCALLDISP

DJNZR6,$-3

RET

SLP2:

JBSW2,SLP1

SETBF0

SETBB.1

SLP21:

MOVR6,#50

MOV14H,#10H

MOV15H,#0AH

MOV16H,#11H

MOV17H,#0CH

LCALLDISP

DJNZR6,$-3

JBSW1,SLP21

SLP22:

MOVR6,#50

MOV14H,#10H

MOV15H,#0AH

MOV16H,#11H

MOV17H,#0CH

LCALLDISP

DJNZR6,$-3

SLP23:

JNBSW1,SLP22

SLP3:

MOVR1,#T_Minute

LCALLSplit

LCALLDISP

JBSW3,SLP6

SLP4:

MOVA,T_Minute

ADDA,#1

DAA

MOVT_Minute,A

CJNEA,#60H,SLP5

MOVT_Minute,#0

SLP5:

MOVR6,#60

MOVR1,#T_Minute

LCALLSplit

LCALLDISP

DJNZR6,$-3

JNBSW3,SLP4

SLP6:

JBSW2,SLP9

SLP7:

MOVA,T_Hour

ADDA,#1

DAA

MOVT_Hour,A

CJNEA,#24H,SLP8

MOVT_Hour,#0

SLP8:

MOVR6,#60

MOVR1,#T_Minute

LCALLSplit

LCALLDISP

DJNZR6,$-3

JNBSW2,SLP7

SLP9:

JBSW1,SLP3

SLP10:

MOVR1,#T_Minute

LCALLSplit

LCALLDISP

JNBSW1,SLP10

MOVTControl,#0

JBSW3,SLP12

SLP11:

MOVA,TControl

INCA

MOVTControl,A

SLP12:

MOVA,TControl

ANLA,#0FH

MOV14H,A

MOVA,TControl

SWAPA

ANLA,#0FH

MOV15H,A

MOV16H,#10H

MOV17H,#10H

MOVR6,#50H

LCALLDISP

DJNZR6,$-3

JNBSW3,SLP11

JNBSW1,SLP15

SLP13:

JBSW2,SLP12

LCALLSTORE

SLP14:

MOVR6,#50H

LCALLDISP

DJNZR6,$-3

JNBSW2,SLP14

CLRF0

CLRB.1

RET

SLP15:

MOVR6,#50H

LCALLDISP

DJNZR6,$-3

JNBSW1,SLP15

CLRF0

CLRB.1

RET

Clear:

MOVR1,#20H

CLRP1:

CLRA

MOV@R1,A

INCR1

CJNER1,#70H,CLRP1

RET

STORE:

MOVR1,DAITI

CJNER1,#6AH,$+3

JCSTLP1

MOVR1,#20H

MOVDAITI,R1

STLP1:

MOV@R1,T_Hour

INCR1

MOV@R1,T_Minute

INCR1

MOV@R1,TControl

INCR1

MOVDAITI,R1

RET

Split:

MOVR0,#14H

MOVA,@R1

ANLA,#0FH

MOV@R0,A

INCR0

MOVA,@R1

SWAPA

ANLA,#0FH

MOV@R0,A

INCR0

INCR1

MOVA,@R1

ANLA,#0FH

MOV@R0,A

INCR0

MOVA,@R1

SWAPA

ANLA,#0FH

MOV@R0,A

RET

DISP:

PUSH00H

MOVR0,#14H

MOVR2,#11111110B

MOVDPTR,#WordTab

JNBF0,DISP0

DJNZR7,DISP1

CPLB.1

MOVR7,#60

SJMPDISP1

DISP0:

CLRB.1

DISP1:

ORLDIS,#00001111B

MOVR3,#20

DJNZR3,$

MOVA,@R0

MOVCA,@A+DPTR

NEXTB:

XRLA,#0xff

MOVP2,A

INCR0

JBB.1,HIDE

MOVA,R2

ANLDIS,A

XRLDIS,#0xff

HIDE:

MOVR3,#10

MOVR4,#255

DJNZR4,$

DJNZR3,$-4

MOVA,R2

RLA

MOVR2,A

JBACC.4,DISP1

DExit:

POP00H

RET

WordTab:

DB3FH,06H,5BH,4FH

DB66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH

DB39H,5EH,79H,71H

DB40H,38H

END

4.实物图如下图所示

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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