数字钟报告.docx

上传人:b****5 文档编号:4965665 上传时间:2022-12-12 格式:DOCX 页数:30 大小:378.89KB
下载 相关 举报
数字钟报告.docx_第1页
第1页 / 共30页
数字钟报告.docx_第2页
第2页 / 共30页
数字钟报告.docx_第3页
第3页 / 共30页
数字钟报告.docx_第4页
第4页 / 共30页
数字钟报告.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

数字钟报告.docx

《数字钟报告.docx》由会员分享,可在线阅读,更多相关《数字钟报告.docx(30页珍藏版)》请在冰豆网上搜索。

数字钟报告.docx

数字钟报告

 

基于AT89C51的电子钟项目

硬件总体设计说明书

 

编制单位:

侏罗纪工作室

作者:

赵金龙

版本:

V0.1

发布日期:

2011-01-25

审核人:

批准人:

目录

1.引言2

1.1.编写目的2

1.2.背景3

1.3.定义3

1.4.参考资料4

2.总体设计4

2.1.开发与运行环境4

2.2.硬件功能描述4

2.3.硬件结构5

3.硬件模块设计5

3.1.最小系统电路设计5

3.2.显示电路设计7

3.3.按键电路设计8

3.4.闹铃电路设计9

3.5.复位电路设计10

3.6.USB供电电路12

3.7.PCB板设计12

4.嵌入式软件设计13

4.1.流程逻辑13

4.1.1.主程序的设计13

4.1.2.中断服务程序设计14

4.1.3.显示子程序设计16

4.1.4.键盘扫描子程序设计16

4.2.算法17

5.系统调试与总结17

5.1.硬件调试18

5.1.1.单片机基础电路调试18

5.1.2.显示电路的调试18

5.1.3.按键电路调试19

5.2.软件调试19

5.3.总结19

6.附录21

6.1.附录一按键引起的误差分析21

6.2.附录二系统源程序22

6.3.附录三系统原理图28

6.4.附录四系统PCB板制作图29

1.引言

时间是人类生活比不可少的重要元素,如果没有时间的概念,社会将会不会有所发展和进步。

从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。

致力于计数器的研究和充分发挥时钟的作用,将有着重要的意义。

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代化电子产品性能进一步提升,产品更新换代的节奏也越来越快。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。

然而遇到重大时间的时候,一旦忘记时间,就会给自己或他人造成很大的麻烦。

平时我们要求上班要准时,约会和召开会议必然要提及时间;火车要准点到达,航班要准时起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。

所以说能准确的知道时间并利用时间,是我们生活和工作中必不可少的。

想知道时间,手表当然是一个很好的选择,但是,在忙碌当中,我们换需要一个“助理”及时给我们提醒时间。

所以,计时器最好能够拥有一个定时系统,随时提醒容易忘记时间的人。

最早能够定时、报时的时钟属于机械式手表,但这种时钟受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。

1.1.编写目的

电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小界面友好、可扩展性能强等特点,被广泛应用于生活和工作中。

本设计主要为实现一款可正常显示时钟、带有定时闹铃的多功能电子钟。

本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟,本设计应用AT89C51芯片作为核心,4位LED数码管显示,这种实现方法的优点是电路简单,实时性好,操作简单,编程容易。

该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。

(1)巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;

(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;

(3)对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、内容及步骤。

(4)撰写报告是对前期学习的总结,为今后的再学习做铺垫,

1.2.背景

电子钟是采用电子电路实现对时、分、秒进行显示的计时装置,广泛应用于个人家庭,车站、码头办公室等公共场所,成为人们日常生活中必不可少的必需品。

由于数字集成电路的发展和石英晶体振荡器的广泛使用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们的生活带来了极大地方便,而且大大的扩展了钟表原先的报时功能。

诸如定时自动报警、按时自动打铃、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电器的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟及扩大其应用,有着非常现实的意义。

本次设计以电子钟为课题,着重加强单片机的学习,掌握小型系统的设计方法及原理。

首先实现正常走时,进而实现定时闹铃的功能。

项目任务提出者:

王全洲老师

项目开发者:

赵金龙

软件开发者:

赵金龙

系统调试:

赵金龙

项目用户:

系统运行环境:

51列单片机、单片机仿真软件proteus、单片机开发板HOT51。

1.3.定义

单片机:

将微处理器、一定容量的RAM和ROM以及I/O口、定时器等电路集成在一块芯片上,构成单片微型计算机,简称单片机。

本文中指的是AT89C51。

P2.4、P2.5、P2.6:

在本文中代表AT89C51单片机的I/O口,即P2口中的三个。

SPK:

(Speaker)扬声器。

State:

电子钟的三种工作状态。

State=0为正常走时;State=1为校对时间;State=2为闹铃设置。

1.4.参考资料

【1】黄维翼等.单片机应用与项目实践.清华大学出版社.2010.4

【2】郭天祥.新概念51单片机C语言教程——入门、提高、开发、拓展全攻略.电子工业出版社.2009.12

【3】李朝青.单片机原理及接口技术(第三版).北京航空航天大学出版社.2005.10

【4】谭浩强.C语言程序设计(第三版).清华大学出版社.2005.7

【5】2011.1

2.总体设计

2.1.开发与运行环境

本次软件设计是利用KeiluVision2编程软件、用C语言编程、利用ProteusProfessional仿真软件实现仿真功能的调试。

软件运行环境为WindowsXP。

硬件设计是在HOT51单片机开发板上开发的,硬件电路即PCB板是在Protel99SE下设计的。

该系统设计采用的是基于AT89C51系列单片机的控制电路板。

2.2.硬件功能描述

本设计电子钟主要功能为:

a.具有时间显示和手动校时功能,24小时制;

b.具有闹钟功能;

c.采用USB供电。

2.3.硬件结构

电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、供电电源、闹钟指示电路等几部分。

硬件电路框图如图2-1所示:

图2-1电子时钟硬件系统框图

该系统使用AT89C51单片机作为核心,通过内部定时器完成此电子钟的主要功能,使用8段共阳数码管,做4位显示当前时、分,十分之间用闪烁的“:

”分隔。

键盘是为了完成时钟的校对、显示以及闹铃的设置于显示功能。

由于此电子钟具有闹铃功能,所以设计有闹铃电路,进行声音响铃。

整个电路采用+5V电源供电。

一旦通电,系统自动复位,LED显示默认时间。

具体电路参见附录。

3.硬件模块设计

3.1.最小系统电路设计

AT89C51单片机是一款低功耗,低电压,高性能CMOS8位单片机,片内含4KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容。

片内的FLASH存储器允许在系统内可编程序或用常规的非易失性存储器编程器来编程。

因此,AT89C51是一种功能强,灵活性高且价格合理的单片机,故本次设计采用具有32根I/O引脚的AT89C51单片机。

AT89C51具有以下主要性能:

1、4KB可编程Flash存储器;

2、全静态工作:

0-24MHz;

3、128×8字节内部RAM;

4、32个外部双向输出/输入(I/O)口;

5、5个中断源,两个中断优先级;

6、2个16位的可编程定时器/计数器;

7、可编程串行通道;

8、片内时钟振荡器。

此外,AT89C51是用静态逻辑来实现的,其工作频率可以下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(IdleMode)和掉电方式(PowerDownMode)。

在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。

在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM的内容,直到下一次硬件复位为止。

AT89C51为适应不同的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDIP封装形式,电路如图3-1所示:

图3-1单片机最小系统电路

3.2.显示电路设计

就时钟而言,通常可采用LCD显示或LED显示。

对于一般的LCD,需要专门的驱动电路,而且LCD显示的可视性较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般采用并行接口,对微处理器的接口要求较高,占用资源多。

另外,AT89C51没有专门的液晶驱动接口。

LED结构简单,体积小,功耗低,响应速度快,易于匹配,寿命长,可靠性高,而且显示亮度高,价格便宜,市场上也有专门的时钟显示组合LED。

故本设计中应用4为8段共阳LED实现显示部分。

LED的显示分静态显示和动态显示。

位数码管应用于某一系统时,它们的“位选”是可独立控制的,而“段选”是连在一起的,可以通过位选信号控制那几个数码管亮,而在同一时刻,位选选通的所有数码管上显示的数字都是一样的,因为他们的段选是连在一起的,所以送入所有数码管的段选信号都是相同的,那么它们显示的数字必定一样数码管的这种显示方式叫做静态显示。

静态显示驱动程序简单,且CPU占用率低,但每个LED数码管需要一个锁存器来锁存每一个显示位的字形代码,硬件开销较大,仅适合显示位数较少的场合。

数码管的动态显示又叫做数码管的动态扫描显示,所谓动态扫描显示,即轮流向数码管送出字型码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人感觉好像各位数码管同时都在显示,而实际上多位数码管是一位一位轮流显示的,知识轮流的速度非常快,人眼已经无法分辨出来。

动态显示方式的硬件电路简单,故采用动态显示方式,其公共端用PNP型三极管驱动,段选线通过限流电阻与P0口相连,电路如图3-2所示:

图3-2显示电路

3.3.按键电路设计

根据功能需要,本时钟需要设置以下功能键:

状态选择键、加1操作键、减1操作键。

按照键盘与CPU的连接方式可分为独立式键盘和矩阵式键盘。

独立式键盘是各个按键相互独立,每个按键占用一个I/O口线,每个I/O口线上的按键不会影响其它I/O口上按键工作状态。

独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一个I/O口,在按键数量较多时,I/O口线浪费较大,且电路结构复杂。

矩阵式键盘适合按键较多时使用。

由于本电子钟最多需要3个按键,若使用矩阵式键盘时会有按键浪费,故采用独立式键盘。

键盘电路如图3-3所示:

图3-3键盘电路

S3、S4、S5键为自动复位键,每次按下后,其对应的P2.4、P2.5、P2.6管脚接地,从高电平被拉至低电平,释放后会自动弹出。

单片机管脚只有在按键按下时为低电平,按键弹出后重新恢复高电平。

按键功能参见表3-1:

表3-1按键功能表

按键

键名

功能

属性

S3

UP

时加一操作

自动复位

S4

DOWN

分加一操作

自动复位

S5

FUN

功能选择

自动复位

按键操作说明如下:

S5键:

该键为自动复位按键,在正常显示时间状态下,第一次按下后,进入对时状态,第二次按下后进入闹铃设置状态,第三次按下后返回正常走时状态。

S3键:

该键为自动复位按键,在对时及闹铃设置状态下,每次按动该键,都会使相应的“时”位进行加一操作,当加至小时最高值23时,再按该键,小时位回零。

S4键:

该键为自动复位按键,在对时及闹铃设置状态下,每次按动该键,都会使相应的“分”位进行加一操作,当加至分最高值60时,再按该键,分位回零。

3.4.闹铃电路设计

闹铃音乐可以直接采用蜂鸣器闹铃,如当前的时、分与闹铃时、分相同,进入闹铃状态,单片机向蜂鸣器送出高电平,蜂鸣器发声。

采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。

也可以在编程时编写一段音乐程序,待闹铃时间到时,调用该音乐程序给扬声器,便响起音乐。

不过该方法只能做一些简单音乐,并且音乐程序会占用很多单片机存储资源。

还有一种方法是采用录音放音芯片1420做闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。

采用录放音电路,铃声可以是一段自己喜欢的音乐,符合电器人性化的要求。

且1420芯片可以分段录音,还具有语音报时功能。

另外,也可以购买一块音乐集成电路,加置在单片机和蜂鸣器之间,当单片机连接闹铃电路的管脚送出高电平时,音乐集成电电路会给蜂鸣器特定脉冲,使蜂鸣器发声。

此类集成电路体积较小,使用方便,不足的是音乐简单、单一。

闹铃的音乐不是本设计中的中的重点,故采用简单的方法,占用单片机一根I/O口P1.0,中间用PNP型三极管S9012连接P1.0和蜂鸣器。

当P1.0引脚为低电平时,S9012的射极和集电极导通,使蜂鸣器发声。

当响铃时,P1.0送出一定频率脉冲,使蜂鸣器发“嘟”、“嘟”的闹铃声。

具体电路如图3-4所示:

图3-4闹铃电路

3.5.复位电路设计

复位是单片机的初始化操作,以便使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。

除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于死锁状态时,也可按复位键重新启动。

复位后,PC内容初始化为0000H,是单片机从0000H单元开始执行程序。

单片机复位后,除了PC之外,还对片内的特殊功能寄存器有影响,它们的复位状态如表2所示:

表3-2单片机寄存器的复位状态表

单片机复位后不影响内部RAM的状态。

89C51单片机复位信号的输入端是RST引脚,高电平有效。

其有效时间持续24个时钟周期(2个机器周期)以上。

RST端的外部复位电路有两种操作方式:

上电自动复位和按键手动复位。

上电自动复位是利用电容储电来实现的,如图所示。

上电瞬间,RC电路充电,RST端出现正脉冲,随着充电电流的减小,RST的电位逐渐下降。

按键手动复位有电平方式和脉冲方式两种。

按键电平复位是相当于RST端通过电阻接高电平,如图所示:

按键脉冲复位,利用RC微分电路产生正脉冲,如图6所示:

出于应用方便,本设计采用按键电平复位电路。

实际电路参见附录三

(a)按键复位(b)按键电平复位(c)按键脉冲复位

图3-5上电复位和按键复位电路

3.6.USB供电电路

在本次设计中,电源为+5V,可以采用干电池供电,也可以采用自制小电源供电,但这些电源连接比较麻烦,故本设计中采用USB供电,其电路简单,连接方便,具体电路如图3-6所示:

图3-6USB供电电路

3.7.PCB板设计

PCB板的设计主要有以下步骤:

1、用Portel99se/98原理图

①设置图纸大小②添加零件库且放置零件③元件调整与连线

2、生成网络表

①设置零件的封装形式②生成网络表

3、引入网络表与零件布局

①PCB尺寸的设置②引入网络表③自动布局④手工调整

4、规则设置与布线

①规则设置②自动布线③手动调节④覆铜

一般情况下,首先应对电源线和地线进行布线,以保证电路板的电气性能。

在条件允许的范围内,尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:

地线>电源线>信号线,通常信号线宽为:

0.2~0.3mm,最细宽度可达0.05~0.07mm,电源线一般为1.2~2.5mm。

对数字电路的pcb可用宽的地导线组成一个回路,即构成一个地网来使用(模拟电路的地则不能这样使用)。

尽可能采用45o的折线布线,不可使用90o折线,以减小高频信号的辐射;(要求高的线还要用双弧线)。

由于本次设计的是单面板,制作比较简单,但这又加大了布线的难度。

具体的PCB制作板图见附录四。

4.嵌入式软件设计

C51单片机可以应用汇编语言和C语言进行编程,汇编语言与机器指令一一对应,所以用汇编语言编写的程序在单片机里运行起来效率高。

C语言程序可读性高,更便于理解。

故本设计使用C语言编程。

4.1.流程逻辑

4.1.1.主程序的设计

第一次上电,系统先进行初始化,LED显示初始时间为:

“12:

28”,并开始走时。

初始化闹钟时间为:

“14:

50”,此刻若按S5键,LED显示“14:

50”,并进入设置状态。

单片机一次开始调用键盘扫描子程序、显示程序、对时程序,经过延时,返回程序开头循环运行。

主程序流程图如图4-1所示:

图4-1主程序流程图

4.1.2.中断服务程序设计

定时器T0用来产生时钟和方波,程序中每隔250µs就产生一次定时中断,4000次中断正好满1秒,图4-2为中断服务程序流程图:

定时器T0每两次中断(500µs)就令计数变量n加1,n满2000正好是1s,当n<500时,每500µs就将P1.0求反一次,产生250个频率为1KHz的方波,控制蜂鸣器鸣叫;当n>500后,令P1.0保持高电平,鸣叫停止,这样在1s内“嘟”声持续1/4s,停顿3/4s,整个闹钟状态将产生60次“嘟”声,除非用户关闭蜂鸣器。

 

定时器中断服务程序

250µs计数器加1

闹钟时间到否

进入闹钟状态

NY

产生1KHz的方波发30秒“嘟”声后回到正常走时状态

N满1s?

250µs计数器清0秒计数器加1

Y

N满60s?

秒计数器清0分计数器加1

Y

N满60min?

分计数器清0时计数器加1

Y

N满24h?

时计数器清0

Y

返回

4-2中断服务程序流程图

4.1.3.显示子程序设计

用三极管S9012驱动LED数码管动态扫描电路,编程比较简单,首先选通要显示的位,然后将要显示的数字编辑成对应的BCD码,送入数码管的段选端口显示,延时1ms,再选通下一位,以此轮流向各位数码管送出字型码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人感觉好像各位数码管同时都在显示。

4.1.4.键盘扫描子程序设计

单片机扫描完键盘,得到键值,并根据键值转入执行相对应的任务,以实现按键功能。

在编写单片机的键盘检测程序时,一般在检测按下时加入去抖延时,检测松手时就不用加了。

按键检测流程图4-3如下:

4-3按键检测流程图

4.2.算法

AT89C52中有2个16位的计数器/定时器,在该系统的程序算法设计中利用单片机的定时器T0来产生时钟和方波,程序中每隔250µs就产生一次定时中断,4000次中断刚好满1s。

(1)时间常数的计算:

系统的时钟频率为

,计数器初值为N,定时器工作于方式2,则定时时间为:

当初值N=0时,最大定时时间为:

实际应用时,往往根据定时时间T,反过来求初值N为:

(2)蜂鸣器发声方波:

如图4-4所示,定时器T0每两次中断(500µs)就令计数变量n加1,n满2000正好是1s,当n<500时,每500µs就将P1.0求反一次,产生250个频率为1KHz的方波,控制蜂鸣器鸣叫;当n>500后,令P1.0保持高电平,鸣叫停止,这样在1s内“嘟”声持续1/4s,停顿3/4s,整个闹钟状态将产生60次“嘟”声,除非用户关闭蜂鸣器。

4-4控制蜂鸣器的方波示意图

5.系统调试与总结

调试工作分为硬件调试和软件调试两部分:

首先,硬件调试主要是先搭建硬件平台,然后利用万用表等工具对电路检查,然后应用程序进行功能调试。

硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。

然后,可以直接应用一些编辑或仿真软件进行软件调试,比如单片机C51编辑软件Keil。

该软件提供了一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。

通过编译、运行,可以检查程序错误。

但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。

在软件调试过程中要仔细耐心。

还有一种方式,即应用仿真软件(Proteus)搭建电路的软件平台,再导入程序进行仿真调试。

如果电路出错,可以在计算机上方便的修改电路,程序错误可以重新编辑程序,这种方法省时、省力、经济、方便。

总之,调试过程是一个软硬件相结合调试的过程,硬件电路是基础,软件是检测硬件电路和实现其能的关键。

5.1.硬件调试

5.1.1.单片机基础电路调试

单片机基础电路包括电源、单片机、外部时钟振荡电路、复位电路和外部接口电路。

调试时需注意:

1、检查电源是否完好。

2、单片机电源要连接正确,并保证AT89C51的31引脚接高电平。

AT89C51的31引脚是外部程序存储器选择信号端,当该引脚为高电平时,单片机会一直从片内程序存储器内取指令。

3、如果使用P0口做I/O口,要接上拉电阻。

4、编辑一个简单的程序(如流水灯等)烧写到单片机内,上电运行,检查单片机是否正常工作,复位电路是否正确。

可以用示波器观察振荡电路是否正常工作。

5.1.2.显示电路的调试

显示电路采用共阳LED和PNP型三极管S9012,在连接电路前要明确共阳型8段LED的12个管脚与各段发光二极管的对应关系,熟悉三极管S9012的参数及引脚排列。

5.1.3.按键电路调试

按键电路比较简单,调试也比较容易,在确定焊接无误的情况下,可以用一段简单的程序检测,也可以用万用表测量按键按下与释放时的电平,如按下为低电平,释放为高电平,即电路正常。

5.2.软件调试

在硬件调试完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。

此过程主要是采用两大软件Keil与Proteus的搭配使用。

首先,在Keil下新建项目,输入源程序,进行编译、调试无误后,用proteus进行仿真,显示初始时间为“12:

28”,如果没有显示,应检查电路中的显示端口与程序中的定义是否一致,显示程序是否有问题。

如显示正常,按键没反应时,应重点检查按键电路连接与键盘扫描程序,直到按下各键是能得到键值返回。

显示程序、按键处理程序调试好后,运行仿真,此时数码管显示的时间应每分钟更新一次,如果时间始终不变,检查程序是否能进入定时器中断服务程序,如果不能,说明定时器及中断的初始化可能有问题。

如果能过正常走时,需进一步检测闹铃时间,蜂鸣器有无鸣叫,以及鸣叫时按键能否关闭声音。

5.3.总结

在本次的设计制作中,我学到了很多,电子钟设计的不同方法;PCB系统性的设计与制作;软件的编译与调试;吃苦精神和钻研劲头也是一个很重要的课程。

同时也遇到了许多问题,包括硬件和软件上的。

1、硬件问题:

由于硬件电路足够简单,没出现多大问题,其问题主要出现在PCB

板的设计上,在测量元件尺寸画封装时,忽略了引脚的尺寸,如果元件的引脚数很少,影响不是很大,但是我们不会只画这一块PCB板,今后还会有第二块、第三块……如果引脚数多大几十甚至上百,那还会没影响吗?

所以从现在就要养成一个严谨的习惯。

还有就是在设

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

当前位置:首页 > 经管营销 > 企业管理

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

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