数字电子钟毕业设计论文.docx
- 文档编号:28777264
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:62
- 大小:886.56KB
数字电子钟毕业设计论文.docx
《数字电子钟毕业设计论文.docx》由会员分享,可在线阅读,更多相关《数字电子钟毕业设计论文.docx(62页珍藏版)》请在冰豆网上搜索。
数字电子钟毕业设计论文
摘要
数字电子钟具有读取方便、显示直观、功能多样和电路简洁等优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
该设计除了数字时钟显示之外,还具有语音报时功能。
采用AT89S52单片机芯片、专用时钟芯片和语音芯片,外加一些外围电路,信号处理、传输电路等构成具有语音报时的数字电子钟。
该设计主要包含五部分,第一部分为语音报时数字钟方案的提出;第二部分为系统方案,它结合各个模块的方案,提出语音报时数字钟的总体实现方案;第三部分为硬件设计,主要包括单片机系统模块、时钟芯片模块、语音报时模块和液晶显示屏显示模块;第四部分为PCB电路板设计,它主要包括总电路图的原理图设计和PCB图设计;第五部分为软件程序的设计,解决了程序的问题。
关键词语音报时数字钟AT89S52
第一章引言
单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,录象机、摄象机,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
并且本设计还伴有语音报时的功能,将大大方便人们的使用,并有助于盲人对时间的掌握。
随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。
在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚。
数字电子钟已经成为我们生活中的一部分,所以对它的设计还是很有必要的。
第二章方案论证
2.1系统基本方案选择
单片机芯片的选择
单片机芯片是本设计的最主要的部分。
根据设计需要,有以下两种方案实现。
方案一:
采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
综合以上所述,选择采用AT89S52作为主控制系统比较好。
时钟芯片的选择
根据设计需要,可利用以下两种方案实现。
方案一:
本方案完全用软件实现数字时钟。
原理为:
在单片机内部存储器设字节分别存放时钟的时、分、秒等信息。
利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零,这样下去达到设计的要求。
单片机内部具有定时器,可方便实现定时功能,但由于系统晶振误差、温漂、中断响应时间的不确定性及定时器重新装载时间常数所带来的误差,决定它不能用来作为时钟的时间基准。
该方案具有硬件电路简单的特点。
但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。
而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
方案二:
专用时钟芯片实现。
目前市场上已有很多实时时钟芯片,如DS12887、DS1302、AT90S8535、X1227等,芯片内都集成了时钟/日历功能,给时钟系统设计带来很多方便。
因此计时功能以选专用时钟芯片为宜。
由于DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,8位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。
基于时钟芯片的优点,结合设计要求,本次设计采用方案二完成多功能数字时钟的功能。
语言芯片的选择
根据设计需要,采用专用的语音芯片。
本设计采用了ISD4003系列语音录放存储芯片作为语音的存储体,存储需要播放的语音信息,并且通过单片机控制其播放语音。
因为本设计录放时间4分钟已经足矣,所以采用ISD4003-04M型号的语音芯片。
显示模块的选择
方案一:
采用LED数码管动态扫描。
虽然LED数码管价格便宜,但该设计显示的数字较多,如选用LED数码管,则会给设计的电路板排版制造一定的难度,布局和布线会增加难度。
方案二:
采用LCD液晶显示屏。
LCD液晶显示屏价格适中,显示功能强大,可显示大量文字、图形,显示多样,清晰可见,且具有现代感,符合时代发展的趋势,整体看起来美观。
基于LCD液晶显示屏的优点,结合设计要求,本次设计采用方案二完成模块显示功能。
温度传感器的选择
方案一:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
。
此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。
另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
2.2电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用AT89S52作为主控制系统;DS1302提供时钟;ISD4003-4M实现语音报时功能;数字式温度传感器;LCD液晶显示屏作为显示。
第三章系统的硬件设计与实现
3.1主要器件的介绍
单片机
1.性能及特性简介[17]
主要性能:
AT89S52与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:
0Hz~33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
功能特性描述:
At89s52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器8K字节在系统可编程FlashAT89S52。
2.引脚及封装:
AT89S52单片机为40引脚双列直插芯片(如图3.1所示)。
图3.1AT89S52引脚图
Vcc为电源电压输入端,GND为地。
P0口时一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
P1口时一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
同时P1.0/T2口还可以作为定时器/计数器T2的外部计数输入,时钟输出;P1.1/T2EX作为定时器/计数器T2的捕捉/重载出发信号和方向控制;P1.5/MOSI在系统编程用;P1.6/MISO在系统编程用;P1.7/SCK在系统编程用。
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口时一个具有内部上拉电阻的8位双向I/O口,对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
同时P3.0/RXD还可以作为串行输入;P3.1/TXD作为串行输出;P3.2/INT0作为外部中断0;P3.3/INT0作为外部中断0;P3.4/T0作为定时器0外部输入;P3.5/T1作为定时器1外部输入;P3.6/WR作为外部数据存储器写选通;P3.7/RD外部数据存储器写选通。
RST位复位输入;ALE/PROG:
地址锁存控制信号(ALE)时访问外部程序存储器时,锁存低8位地址的输出脉冲;在flash编程时,PROG引脚可用作编程输入脉冲。
/PSEN为外部程序存储器选通信号;EA/VPP为访问外部程序存储器控制信号;XTAL1为振荡器反相放大器和内部时钟发生电路的输入端;XTAL2为振荡器反相放大器的输出端。
3.存储器结构
MCS-51器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64K寻址。
程序存储器:
如果EA引脚接地,程序读取只从外部存储器开始。
对于89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
AT89S52有256字节片内数据存储器。
高128字节特殊功能寄存器重叠。
也就是说高128字节特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
4.波特率发生器
通过设置T2CON中的TCLK或RCLK可选择定时器2作为波特率发生器。
如果定时器2作为发送或接收波特率发生器,定时器1可用作它用,发送和接收的波特率可以不同。
设置RCLK或TCLK可以使定时器2工作于波特率产生模式。
波特率产生工作模式与自动重载模式相似,因此,TH2的翻转使得定时器2寄存器重载被软件预置16位值的RCAP2H和RCAP2L中的值。
模式1和模式3的波特率由定时器2溢出速率决定,具体如下公式:
模式1和模式3波特率=
定时器可设置成定时器,也可为计数器。
在多数应用情况下,一般配置成定时方式(CP/T2=0)。
定时器2用于定时器操作波特率发生器有所不同,它在每一机器周期(1/12晶振周期)都会增加;然而,作为波特率发生器,它在每一机器状态(1/2晶振周期)都会增加。
波特率计算公式如下:
模式1和模式3的波特率=
其中,(RCAP2H,RCAP2L)是RCAP2H和RCAP2L组成的16位无符号整数。
定时器2作为波特率发生器,如图3.2所示。
图中仅仅在T2CON中RCLK或TCLK=1才有效。
特别强调,TH2的翻转并不置位TF2,也不产生中断;EXEN2置位后,T2EX引脚上1~0的下跳变不会使(RCAP2H,RCAP2L)重载到(TH2,TL2)中。
因此,定时器2作为波特率发生器,T2EX也还可以作为一个额外的外部中断。
图3.2定时器2波特率发生器模式
定时器2处于波特率产生模式,TR2=1,定时器2正常工作。
TH2或TL2不应该读写。
在这种模式下,定时器在每一状态都会增加,读或写就不会准确。
寄存器RCAP2可以读,但不能写,因为写可能和重载交迭,造成写和重载错误。
在读写定时器2或RCAP2寄存器时,应该关闭定时器(TR2清0)。
5.可编程时钟输出
图3.3定时器2时钟输出模式
如图3.3所示,可以通过编程在P1.0引脚输出一个占空比为50%的时钟信号。
这个引脚除了常规的I/O角外,还有两种可选择功能。
它可以通过编程作为定时器/计数器2的外部时钟输入或占空比为50%的时钟输出。
当工作频率为16MHZ时,时钟输出频率范围为61HZ到4HZ。
为了把定时器2配置成时钟发生器,位C/T2(T2CON.1)必须清0,位T2OE(T2MOD.1)必须置1。
位TR2(T2CON.2)启动、停止定时器。
时钟输出频率取决于晶振频率和定时器2捕捉寄存器(RCAP2H,RCAP2L)的重载值,如公式所示:
在时钟输出模式下,定时器2不会产生中断,这和定时器2用作波特率发生器一样。
定时器2也可以同时用作波特率发生器和时钟产生。
不过,波特率和输出时钟频率相互并不独立,它们都依赖于RCAP2H和RCAP2L。
6.中断
AT89S52有6个中断源:
两个外部中断(INT0和INT1),三个定时中断(定时器0、1、2)和一个串行中断。
这些中断如图3.4所示:
图3.4中断源
每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。
如表3.1所示,IE.6位是不可用的。
对于AT89S52,IE.5位也是不能用的。
用户软件不应给这些位写1。
它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。
它们的值一直到下一个周期被电路捕捉下来。
然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。
符号
位地址
功能
EA
IE.7
中断总允许控制位。
EA=0,中断总禁止;EA=1,各中断由各自的控制位设定
-
IE.6
预留
ET2
IE.5
定时器2中断允许控制位
ES
IE.4
串行口中断允许控制位
ET1
IE.3
定时器1中断允许控制位
EX1
IE.2
外部中断1允许控制位
ET0
IE.1
定时器0中断允许控制位
EX0
IE.0
外部中断1允许控制位
表3.1
7.晶振特性
如图3.5所示,AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1和XTAL2分别是放大器的输入、输出端。
石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。
从外部时钟源驱动器件的话,XTAL2可以不接,而从XTAL1接入,如图3.6所示。
由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。
图3.5内部振荡电路连接图图3.6外部振荡电路连接图
时钟芯片DS1302
DS1302原理框图见图3.7所示.DS1302包含一个实时时钟/日历和31字节的静态RAM,它和单片机通信经由一个简单的串行接口.实时时钟/日历提供秒、分、时、日、周、月、年信息,月末日期自动调整,包括闰年的修正.时钟可工作在24小时格式或12小时(AM/PM)格式,单片机与DS1302接口使用同步串行通信,仅需三根线连接:
(1)/RST(复位),
(2)1/O(串行数据),(3)SCLK(串行时钟).数据传送从单片机到实时时钟/RAM或实时时钟/RAM到单片机,可以每次1字节或每次31字节.它可以T作在很低的耗电状态以保存时钟信息和数据,功耗小于1微瓦.
图3.7DS1302原理框图
DS1302具有一个可编程的涓流充电器,主电源和备份电源的双电源引脚,7个附加字节的暂存寄存器,包括移位寄存器、控制逻辑、振荡器、实时时钟和RAM.DS1302引脚图见图3.8所示,引脚描述如下:
X1、X232.768KHz晶振管脚
GND地
RST复位脚
I/O数据输入/输出引脚
SCLK串行时钟
Vcc1,Vcc2电源供电管脚
图3.8DS1302引脚图
图3.8示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768KHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。
SCLK始终是输入端。
命令字节:
每次数据传输由命令字节开始,MSB(位7)必须是逻辑l,若该位是0,则禁止操作DS1302,位6为0时选择实时时钟/日历数据,位6为l时选择RAM数据,位5~l选择操作的寄存器,LSB(位0)选择写操作(逻辑0)或读操作(逻辑1).寄存器分配见下表。
表3.2DS1302寄存器分配表
复位和时钟控制:
数据传输的启动是由/lIST置为高电平开始的,/lIST启动控制逻辑,允许地址/命令序列进入移位寄存器,一个时钟周期是一个下降沿跟随一个上升沿。
数据输入时,在时钟上升沿数据必须有效,如果/RST变低,所有数据传送即被终止,I/O引脚到一个高阻状态.在电源上电过程中,/RST必须保持逻辑0,直到v大于2.0V。
在/RST由0变l的过程中,SCLK必须是逻辑0。
数据输入:
输入写命令字节8个时钟周期之后,在下8个时钟周期的上升沿输人数据,若有额外的SCLK周期是不予理睬的,数据输入开始位是位0。
数据输出:
输入读命令字节8个时钟周期之后,在下8个时钟周期的下降沿数据被送出。
注意:
第一个数据位被送出发生在写命令字节最后一位的第一个下降沿,数据输出开始位为位0。
语音芯片ISD4003
1.概述
表3.3ISD4003系列型号与性能对照表
型号
录放时间
输入采样
典型带宽
最大段数
最小段长
外部时钟
ISD4003-04M
4分钟
8.0KHz
3.4KHz
1200
200ms
1024KHz
ISD4003-05M
5分钟
6.4KHz
2.7KHz
1200
250ms
819.2KHz
ISD4003-06M
6分钟
5.3KHz
2.3KHz
1200
300ms
682.7KHz
ISD4003-08M
8分钟
4.0KHz
1.7KHz
1200
400ms
512KHz
ISD4003系列工作电压3V,单片录放语音时间4至8分钟,音质好、适应于移动机及其它便携式电子产品中。
芯片采用CMOS技术,内含振荡器、防混清滤波器、平滑滤波器、自动静噪、音频放大器及高密度多电平闪烁存贮陈列。
芯片高级计是基于所有操作必须由微控制器控制,操作命令通过串行通信接口(SPI或Microwire)送入。
芯片采用多电平直接模拟量存贮技术,每个采样值直接存贮在片内的闪烁存贮器中,因此能够非常真实、自然地再现语音,音乐、音调和效果声,避免了一般固体录音电路固置化和压缩造成的量化噪声和金属声。
采样频率可为4.0,5.3,6.4,8.0KHz,频率越低,录放时间越长,而音质则有所下降,片内信息存于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。
本设计采用型号为ISD4003-04M的,录放语音时间为4分钟。
2.引脚
ISD4003引脚图如图3.9所示:
图3.9ISD4003引脚图
引脚描述如下:
电源(VCCA,VCCD):
为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能靠近供电电源处相连,而去耦电容应尽量靠近器件。
地线(VSSA,VSSD):
芯片内的模拟和数字电中也使用不同的地线。
几个VSSA尽量在引脚焊盘上相连,并用低阻通路连至电源上,VSSD也用低阻通路边到电源上。
这些接地通路在足以使VSSA与VSSD之间的阴值小于3Ω。
芯片的背面是通过衬底电阻碍连接妻VSS的,在做COB时托盘须接VSS或悬空。
同相模拟输入(ANAIN+):
这是录音信号的同相输入端。
输入放大器可用单元端或差分驱动。
单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3KΩ电阻输入阻挠决定了芯片频率的低端截止频率。
在差分驱动时,信号最大幅度为峰峰值16mV。
反相模拟输入(ANAIN-):
差分驱动进,这是录音信号的反相输入端。
信号通过耦合电容输入,最大幅度为峰峰值16mA,本端的标知名人士输入阻挠为56KΩ,单端驱动时本端通进电容接地。
两种方式下,ANAIN+和ANAIN-端的耦合电容值应相同。
音频输出(AUDOUT):
提供音频输出,可驱动5KΩ的负载。
片选(SS):
此端为低,即选中ISD4003系列。
串行输入(MISO):
此为串行输入端,主控制器应在串行时钟上升之前半个周期将数据放到本端,供TER输入。
串行输出(MISO):
TER的串行输出端。
TER末选中时,本端呈高阻态。
串行时钟(SELK):
TER的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。
数据在SCLK上升沿锁存到TER,在下降沿移出TER。
中断(INI):
本端为漏极开路输出,TER在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持,中断状态在下一个SPI周期开始时清除,中断状态也可用RINT指令读取。
OVF标志:
指示TER录放操作已到棕存贮器的末尾。
EOM标志:
只在放音中检测到内部的EOM标志时,此状态位置1
行地址时钟(RAC):
漏极开始输出。
每个RAC周期表示TER存储器的操作进行了一行,240B存贮器的操作进行了一行(ISD4003系列中的存贮器其1200行)。
该信号175ms保持高电平,低电平为25ms。
快进模式下RAC218.75us是高电平,31.25us为低电平。
该端可用于存贮管理体制技术。
外部时钟(XCLK):
本端有内部下拉元件。
芯片内部的采样时钟在出厂前已调节器校,误差在+1%内。
商业级芯片在整个温度各电压范围内,频率变化在+2.25%内。
工业级芯片在整个温度和电压范围内,频率
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电子钟 毕业设计 论文