定时打铃设计报告.docx

上传人:b****7 文档编号:10211645 上传时间:2023-02-09 格式:DOCX 页数:40 大小:224.17KB
下载 相关 举报
定时打铃设计报告.docx_第1页
第1页 / 共40页
定时打铃设计报告.docx_第2页
第2页 / 共40页
定时打铃设计报告.docx_第3页
第3页 / 共40页
定时打铃设计报告.docx_第4页
第4页 / 共40页
定时打铃设计报告.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

定时打铃设计报告.docx

《定时打铃设计报告.docx》由会员分享,可在线阅读,更多相关《定时打铃设计报告.docx(40页珍藏版)》请在冰豆网上搜索。

定时打铃设计报告.docx

定时打铃设计报告

前言

用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低,可靠性好等特点,可用于学校作息,方便了广大师生。

同时也可作为电子手表的设计方案,两者在原理及实现的功能上是一样的效果,也可作为各种时钟控制电路的报警装置使用,具有用途范围广,具有原理简单便于操作和维护的优点。

总体上单片机设计方案在现实中应用非常广泛,而且在现实生活中也比较容易实现设计的实施。

 随着科技的发展,以单片机系统为控制中心、采用大规模集成电路生产的定时打铃产品是最新的发展趋势,具有性能稳定,走时更精确,操作简单、人性化,使用方便等特点。

它还能播放音乐乐曲,兼作电子时钟显示,其外形美观大方,亮度清晰,赏心悦目,可取代传统时钟、日历牌、挂历等。

 

第一章设计要求

1.1设计内容

(1)显示时钟格式:

**时**分**秒。

(2)可任意设定时间达到定时控制,定时点至少有2个。

(3)定时时间到,打铃1分钟,然后自动关闭打铃。

1.2设计要求

本次设计以8255管理键盘和显示,6位LED数码管从左到右分别显示时.分.秒(各占用2位),采用24小时标准计时制。

设置了总共10个按键,分别为时“+”键、时“-”键、分“+”键、分“-”键、4个定时点键、校时键、确定键。

分,秒加到59后变为00,减到00后变到59;小时加到23后再按键即变为00,减到00后变为23,在调校时时均不向上一单位进位(例如分加到59后变为00;但小时不发生改变)。

本设计的振铃部分则采用发光二极管代替。

1.3设计框图

(图1.1)

 

第二章系统组成及工作原理

2.1系统组成

通过对系统总体结构的分析,根据打铃器实际要求,采用了模块化设计,此定时打铃器主要由显示模块、校时模块和时钟运算模块三大部分组成。

显示模块主要有6只LED数码管组成,校时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。

时钟运算模块的主要功能是对时、分、秒的运算。

通过这些模块从而方便地实现了通过按键来校时、定时以及铃响控制。

2.2系统工作原理

定时打铃器主要由8051片内定时器定时中断,并取一存储单元作为计数器使用,每中断一次,在中断服务程序中使计数器加1,主要用8051片内定时器定时中断服务程序完成秒、分、时的运算即计时功能,8255A负责将内存里的时位、分位和秒位数值输出到数码管。

单片机不断的把定时单元内容和是时间单元内容进行比较,如果时间到则打铃。

此设计可设置有4个定时点,分别有8051的P1.0,P1.1,P1.2,P1.3来输出。

 

第三章系统硬件设计

3.1方案比较

对于振铃电路的设计我们拟订了两种设计方案

3.1.1方案一:

其振铃电路如下

分析:

此电路的特点是为一继电器输出接口,信号经光耦合后再经过继电器输出,当P1.0为低电平时经7407驱动后经过耦合使SPEAKER发声。

P1.0为低电平时,喇叭响,为高电平时喇叭不响,次方案的缺点是继电器的磁铁震动,造成不稳定。

a)

 

图3.1.1

3.2.2方案二:

其振铃电路如下

分析:

图中反相器的作用是驱动喇叭的,此方案的优点是:

硬件电路简单,稳定,实现起来方便,很适合于实现中。

而且硬件调试也简单,这样成功率会高一些。

(b)

 

图3.1.2

综上所述为了提高设计的可靠性及可行性我们决定采用第二种方案,这一方案非常简便,极易容易实现。

3.2单片机控制系统

单片微型计算机(Single-ChipMicrocomputer),简称单片机。

就是将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。

对51系列单片机来说,最小系统一般应该包括:

单片机、晶振电路、复位电路。

复位电路和晶振电路是STC89C51工作所需的最简外围电路。

基本系统电路原理图3.2:

图3.2单片机控制系统原理图

3.3显示模块设计

显示部分硬件用六只LED为显示管,这些LED发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。

通过在这6只发光二极管的阳极加+5V或0V的电压使不同的二极管发光,形成不同的数字。

该模块主要是将运算模块和校时模块运算出来并存放在内存单元里的十六进制表示的时位、分位和秒位数值转化为十进制,并通过6只数码管显示出来。

采用软件译码,即在程序中设置一个段选码表。

CPU直接往LED输出八段代码,省去了硬件译码器。

A0~A3作为8段数据输出口,经74LS07驱动后到达各LED。

只要做到每送一次段选码时也送一次位扫描码,并且每送一次位扫描码后,位码中的0左移一位作为下一次的位扫描码,即可实现由右向左使6只LED依次出现数字显示。

显示字符

显示码

显示字符

显示码

0

7EH

8

7FH

1

30H

9

7BH

2

6DH

H

37H

3

79H

E

4FH

4

33H

L

0EH

5

5BH

O

7EH

6

5FH

-

01H

7

70H

表3-1字形码表

3.4键盘模块设计

键盘显示电路主要用8255来设计而成,板面上有6个LED管,用来显示时间,8255用来控制键盘。

该模块的主要功能是输入命令,对我们要的状态进行切换,并把最终结果存到事先已经开辟的内存单元里,键盘分为四行六列,行与8255PC口低四位相连即PB0-PB3,列与8255的PA口相连,形成一个矩阵形式,一个行号和列号确定一个键的位置,便于单片机读取键值。

 

第四章软件设计

4.1程序设计思想

本次设计最主要的思想体现在使用了模块化的编程思想。

在确定了方案后,就仔细思考并统筹了整个程序框架,然后将其分为主程序、中断子程序、键盘扫描子程序、显示子程序、打铃子程序等几个部分来分别设计,这样不仅思路清楚,而且便于程序的编写和调试。

4.2主程序设计

主程序是整个系统软件的运行主体,各个子系统软件都必须经过它的调度,才能运行得当。

根据设计的功能要求,主程序中主要完成内存单元及定时器的初始化,显示和键盘的扫描。

部分按键说明:

A键

设定定时点1

MON键

确定键

B键

设定定时点2

F1/LS键

时加‘+1’键

C键

设定定时点3

STEP键

时加‘-1’键

D键

设定定时点4

RG/FS键

分加‘+1’键

F2/NX键

校时键

SCAL键

分加‘-1’键

表4-1

4.2.1主程序流程图

根据设计所规定要求,定时打铃器设计的流程图如图4.1所示。

(图4.1)主程序流程图

4.3子程序设计

根据这次模块化的设计思想,总共分成了按键处理子程序、中断服务程序、显示子程序三个部分。

4.3.1按键处理子程序

按键处理子程序主要包括读键值处理、数字键处理、校时键处理、定时键处理、确认键处理等,其流程图如图4.2所示:

 

4.3.2定时中断服务程序设计

本次中断服务程序设计中用了T0定时中断,其流程图如图4.3所示:

1、定时器初值分析

T0定时最长时间约为130ms,可用T0产生100ms的定时,再通过计时10次就可达到1s。

设定时初值为X(2^16-X)*2μs=100ms,得X=3CB0H.即TH0=3CH,TL0=B0H。

 

图4.3定时中断服务程序流程图

 

4.3.3显示子程序设计

这次显示电路DIR处理很简单,主要是通过一个子程序将30H、31H、32H单元中的内容“分割”到显缓区40H到45H中,从而调用DIR显示,其流程图如图4.4所示:

 

图4.4显示程序流程图

 

第五章调试与结果分析

本次系统调试共分为硬件调试和软件调试两部分,硬件调试用来测试硬件电路设计是否合理以及电线连接正确性;软件调试则测试软件设计的程序代码是否有语法错误及能否实现所要求的功能。

由于实验时硬件用的是实验箱,内部电路已经连接正确,所以硬件几乎不用调试。

在软件调试中,也采用了模块化的思想进行调试。

软件调试是整个系统调试的核心部分,花的时间最长。

首先,对各个模块分别调试。

将编写好的源程序输入电脑,编译后出现很多错误,这些错误有许多时平时的实验遇到过的,于是和同组人员一起进行逐条跟踪法,对每条程序检查。

其中有输入的符号格式不正确,零和字母O弄混淆了,字母写错等原因。

经过一番思考后,采用了单步调试及断点运行等方法后,发现最致命的错误是:

程序中出现了死循环。

经调整修改程序,这些问题都解决了。

第二次上机调试时,可以正确显示时钟和打铃一分钟,但是按键无效,又经过仔细的分析,发现调用按键子程序时出现了错误,最终这个问题解决了。

第三次上机调试比较成功,可以满足所有的基本要求。

第1、在调试前,编了一个小程序读出最小系统板的键码值,根据键值确定了各个按键的功能。

第2、之后,就是对按键子程序调试。

在调试的过程中,涉及到的键的去抖及一键多功能的问题,采用了单步调试及断点运行等方法后,很快调试正确了。

通过同组人几天的合作以及向一些其他同学的请教最终所有的程序都调试正确了。

 

总结

经过两个星期的单片机电子打铃的课题的设计,我从中学到了很多东西。

如:

如何设计硬件电路,如何编写、调试软件程序等。

这使我受益非浅,感受很深。

这不仅使我重温了单片机的基本结构及工作原理,接口技术,而且进一步熟悉了如何使用单片机汇编语言编写程序和调用程序的方法与技巧。

能够熟练地对小键盘进行操作,对单片机常用的几种芯片也有了更深一步的了解,而且学会了如何利用计算机进行程序汇编和写入程序存储进行调试,使我对整个制作流程有了深刻的了解和体会。

特别是认识到使用单片机进行软件、硬件的开发过程中应注意设计要求、经过及解决一些客观存在问题的重要性及其意义。

在电子打铃课题的设计制作过程使我们对单片机的设计、开发产生了更加深厚的兴趣,但是也遇到了很多问题和挫折,然而经过自己不断的探索和请教学习后,还是将它们一一解决,并得到了很多很深刻的教训和许多宝贵经验,找出自身整个设计过程中所存在的问题,并认识到自己在以后应该怎样去克服它们。

在整个设计过程中我的动手能力与解决问题的能力也进一步提高。

虽本次设计中我走了不少的弯路,吃了不少的苦头。

但是,我从中得到了更多。

使我对单片机的开发产生了浓厚的兴趣,对我的将来充满斗志和信心。

我相信,将来的社会,只要能想到的就能做。

因为科技无边,智慧无限。

我相信我们的能力。

 

参考文献:

[1]张友德、赵志英、涂时亮.单片微型机原理、应用与实验.上海.复旦大学出版社,2008年5月.

[2]吴开志、陈黎娟、邓谦、任爱山.单片机技术及应用实验指导书.南昌.南昌航空大出版社,2008年.

[3]吴清绣.微型计算机原理及接口技术.北京.中国科学技术大学出版社,2004年.

[4]吴向军.汇编语言程序设计.北京.高等教育出版社,2001年.

[5]贾金铃.微型计算原理及应用.重庆.重庆大学出版2006年

[6]胡汉才.单片机原理及其接口技术.北京.清华大学出版社.2004年.

 

附录一:

程序清单及注释:

ORG0000H;主程序入口地址

LJMPMAIN

ORG000BH;定时器入口地址

LJMPINT

MAIN:

MOVSP,#67H

MOVTMOD,#01H;定时器0选择方式1作为时钟信号

MOVIE,#8AH;中断控制IE设为8A

MOVTH0,#3CH;定时器0初始化,赋给初始值

MOVTL0,#0B0H

MOV30H,#23H;时

MOV31H,#59H;分

MOV32H,#50H;秒

MOV33H,#00H;33H清0

MOV34H,#1AH;定时1的显缓单元

MOV35H,#00H

MOV36H,#00H

MOV37H,#2AH;定时2的显缓单元

MOV38H,#00H

MOV39H,#00H

MOV3AH,#3AH;定时3的显缓单元

MOV3BH,#00H

MOV3CH,#00H

MOV3DH,#4AH;定时4的显缓单元

MOV3EH,#00H

MOV3FH,#00H

MOV40H,#0BAH;时显缓单元

MOV41H,#00H

MOV42H,#00H

MOV43H,#00H

MOV79H,#00H

MOV7AH,#00H

MOV7BH,#00H

MOV44H,#00H

MOVR0,#79H;将显缓单元79H给R0

MOVR3,#06H;存储循环次数

XQ:

MOV@R0,#00H

INCR0

DJNZR3,XQ;循环六次

MOVR3,#06H

MOVR0,#79H

CLR08H

CLR09H

CLR00H

CLR0AH

CLR0BH;关闭定时器标志

CLR0CH

CLR0DH

CLR0EH

CLR0FH ;调时屏蔽10号键

SETBTR0;启动定时器0

MAN:

LCALLBJ

MOVA,44H;A=00H

CPLA;A=FFH

LCALLKEYS;调用键盘扫描子程序

MOVA,B

CJNEA,#0FFH,D1;A不等于FFH则转移

JB09H,D8;09H等于01H则转移

LCALLTM

JMPMAN

D1:

SETB09H;09H置1

DECA

MOVR7,A

RLA

ADDA,R7;A=3A2

MOVDPTR,#PMTAB

JMP@A+DPTR

D8:

LCALLDISP;调用数码管显示子程序

LJMPMAN

PMTAB:

LJMPPM0

LJMPPM1

LJMPPM2

LJMPPM3

LJMPPM4

LJMPPM5

LJMPPM6

LJMPPM7

LJMPPM8

LJMPPM9

LJMPPM10

PM0:

CLR0FH

SETB0AH;0AH单元置1

MOV43H,#01H

MOVR1,#36H

LCALLTM0

LJMPD8

PM1:

CLR0FH

SETB0AH;0AH单元置1

MOV43H,#02H

MOVR1,#39H

LCALLTM0

LJMPD8

PM2:

CLR0FH

SETB0AH

MOV43H,#03H

MOVR1,#3CH

LCALLTM0

LJMPD8

PM3:

CLR0FH

SETB0AH

MOV43H,#04H

MOVR1,#3FH

LCALLTM0

LJMPD8

PM4:

SETB0FH

SETB0AH

MOV43H,#05H

MOV42H,31H

MOV41H,30H

MOVR1,#42H

LCALLTM0

LJMPD8

PM5:

SETBTR0

CLR0AH

CLR09H

LJMPMAN

PM6:

JB0AH,GGG

CLR09H

LJMPD8

GGG:

MOVA,43H

DECA

MOVR7,A

RLA

ADDA,R7

MOVDPTR,#PMTAB2

JMP@A+DPTR

PMTAB2:

LJMPPC0

LJMPPC1

LJMPPC2

LJMPPC3

LJMPPC4

PC0:

MOVA,35H;定时0,设定24小时制时的显示

CJNEA,#23H,TY3

TY3:

JCTY

CLRA

JMPTY1

TY:

ADDA,#01H

DAA

TY1:

MOV35H,A

MOVR1,#36H

LCALLTM0

LJMPD8

PC1:

MOVA,38H;定时1,设定24小时制时的显示

CJNEA,#23H,TP3

TP3:

JCTP

CLRA

JMPTP1

TP:

ADDA,#01H

DAA

TP1:

MOV38H,A

MOVR1,#39H

LCALLTM0

LJMPD8

PC2:

MOVA,3BH;定时2,设定24小时制时的显示

CJNEA,#23H,TB3

TB3:

JCTB

CLRA

LJMPTB1

TB:

ADDA,#01H

DAA

B1:

MOV3BH,A

MOVR1,#3CH

LCALLTM0

LJMPD8

PC3:

MOVA,3EH;定时3,设定24小时制时的显示

CJNEA,#23H,TW3

TW3:

JCTW

CLRA

JMPTW1

TW:

ADDA,#01H

DAA

TW1:

MOV3EH,A

MOVR1,#3FH

LCALLTM0

LJMPD8

PC4:

MOVA,41H;定时4,设定24小时制时的显示

CJNEA,#23H,TE3

TE3:

JCTE

CLRA

JMPTE1

TE:

ADDA,#01H

DAA

TE1:

MOV41H,A

MOVR1,#42H

CLRTR0

MOV31H,42H

MOV30H,41H

MOV32H,#00H

MOV33H,#00H

LCALLTM0

LJMPD8

PM7:

JB0AH,GGG1

CLR09H

LJMPD8

GGG1:

MOVA,43H

DECA

MOVR7,A

RLA

ADDA,R7

MOVDPTR,#PMTAB1

JMP@A+DPTR

PMTAB1:

LJMPPN0

LJMPPN1

LJMPPN2

LJMPPN3

LJMPPN4

PN0:

MOVA,35H

CJNEA,#00H,TU

MOVA,#23H

JMPTU1

TU:

MOV79H,A

DECA

ADDA,#00H

DAA

CJNEA,79H,TU3

TU3:

JCTU1

SUBBA,#0CH

TU1:

MOV35H,A

MOVR1,#36H

LCALLTM0

LJMPD8

PN1:

MOVA,38H

CJNEA,#00H,TG

MOVA,#23H

JMPTG1

TG:

MOV79H,A

DECA

ADDA,#00H

DAA

CJNEA,79H,TG3

TG3:

JCTG1

SUBBA,#0CH

TG1:

MOV38H,A

MOVR1,#39H

LCALLTM0

LJMPD8

PN2:

MOVA,3BH

CJNEA,#00H,EK

MOVA,#23H

JMPEK1

EK:

MOV79H,A

DECA

ADDA,#00H

DAA

CJNEA,79H,EK3

EK3:

JCEK1

SUBBA,#0CH

K1:

MOV3BH,A

MOVR1,#3CH

LCALLTM0

LJMPD8

PN3:

MOVA,3EH

CJNEA,#00H,EB

MOVA,#23H

JMPEB1

EB:

MOV79H,A

DECA

ADDA,#00H

DAA

CJNEA,79H,EB3

EB3:

JCEB1

SUBBA,#0CH

EB1:

MOV3EH,A

MOVR1,#3FH

LCALLTM0

LJMPD8

PN4:

MOVA,41H

CJNEA,#00H,EY

MOVA,#23H

JMPEY1

EY:

MOV79H,A

DECA

ADDA,#00H

DAA

CJNEA,79H,EY3

EY3:

JCEY1

SUBBA,#0CH

EY1:

MOV41H,A

MOVR1,#42H

CLRTR0

MOV31H,42H

MOV30H,41H

MOV32H,#00H

MOV33H,#00H

LCALLTM0

LJMPD8

PM8:

JB0AH,GGG2

CLR09H

LJMPD8

GGG2:

MOVA,43H

DECA

MOVR7,A

RLA

ADDA,R7

MOVDPTR,#PMTAB3

JMP@A+DPTR

PMTAB3:

LJMPPD0

LJMPPD1

LJMPPD2

LJMPPD3

LJMPPD4

PD0:

MOVA,36H

CJNEA,#59H,TTT3;定时0,设定24小时制分的显示

TTT3:

JCTTT

CLRA

JMPTTT1

TTT:

ADDA,#01H

DAA

TTT1:

MOV36H,A

MOVR1,#36H

LCALLTM0

LJMPD8

PD1:

MOVA,39H;定时1,设定24小时制分的显示

CJNEA,#59H,AF3

AF3:

JCAF

CLRA

JMPAF1

AF:

ADDA,#01H

DAA

AF1:

MOV39H,A

MOVR1,#39H

LCALLTM0

LJMPD8

PD2:

MOVA,3CH;定时2,设定24小时制分的显示

CJNEA,#59H,YY3

YY3:

JCYY

CLRA

JMPYY1

YY:

ADDA,#01H

DAA

YY1:

MOV3CH,A

MOVR1,#3CH

LCALLTM0

LJMPD8

PD3:

MOVA,3FH;定时3,设定24小时制分的显示

CJNEA,#59H,AS3

AS3:

JCAS

CLRA

JMPAS1

AS:

ADDA,#01H

DAA

AS1:

MOV3FH,A

MOVR1,#3FH

LCALLTM0

LJMPD8

PD4:

MOVA,42H;定时4,设定24小时制分的显示

CJNEA,#59H,HZ3

HZ3:

JCHZ

CLRA

JMPHZ1

HZ:

ADDA,#01H

DAA

HZ1:

MOV42H,A

MOVR1,#42H

CLRTR0

MOV31H,42H

MOV30H,41H

MOV32H,#00H

MOV33H,#00H

LCALLTM0

LJMPD8

PM9:

JB0AH,GGG3

CLR09H

LJMPD8

GGG3:

MOVA,43H

DECA

MOVR7,A

RLA

ADDA,R7

MOVDPTR,#PMTAB5

JMP@A+DPTR

PMTAB5:

LJMPPQ0

LJMPPQ1

LJMPPQ2

LJMPPQ3

LJMPPQ4

PQ0:

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

当前位置:首页 > 高等教育 > 文学

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

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