毕设多功能数字钟设计文档格式.docx
- 文档编号:21138327
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:54
- 大小:1,005.57KB
毕设多功能数字钟设计文档格式.docx
《毕设多功能数字钟设计文档格式.docx》由会员分享,可在线阅读,更多相关《毕设多功能数字钟设计文档格式.docx(54页珍藏版)》请在冰豆网上搜索。
图1-1常用数字钟示例
1.2课题意义
纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各个仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理;
以及我们生活中广泛使用的各种智能IC卡等,这些都离不开单片机。
以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路、然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,与元件不断老化,控制精度自然也会达不到标准。
在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。
这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到标准。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。
根据这种实际情况,设计了一个单片机多功能数字钟系统,他可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准,它可以任意设置时间和闹钟。
这种具有人们所需要的智能化特性的产品减轻了人们的劳动,扩大了数字化的范围,为家庭数字化提供了可能。
1.3本文的主要工作
本设计基于单片机技术原理,以单片机芯片AT89C52作为核心控制器,通过硬件电路的制作已经软件程序的编制,设计制作出一个多功能数字钟系统。
该时钟系统主要由时钟模块、闹钟模块、显示模块、控制模块组成。
系统具有简单清晰的操作界面,能在4V~6V直流电源下正常工作。
能够准确显示时间,可随时进行时间调整,具有闹铃时间设置、闹铃开关功能。
设计以硬件软件化为指导思想,充分发挥单片机功能,大部分能通过软件编程来实现,,电路简单明了,系统稳定性高。
同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。
由于系统所用的元器件较少,单片机被占用的I/O口不多,因此具有一定的可扩展性。
在电子钟设计和开发中,本文主要具体工作主要包括以下几点:
1)数字钟系统的流程设计;
2)根据系统的流程主要设计了数字钟的硬件电路;
3)根据硬件电路进行软件程序设计;
4)对设计的电子钟进行了仿真与调试。
第二章电路的硬件设计
2.1电路方案的选取
2.1.1单片机芯片的选择方案
方案一:
采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52,片内ROM全都采用FlashROM;
能以3V的超底压工作;
同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,所以选择采用AT89S52作为主控制系统。
2.1.2显示模块选择方案
方案一:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,与液晶相比,耗电及体积大与液晶相比,耗电及体积大,所以也不用此种作为显示。
方案二:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。
2.1.3电路设计最终方案决定
综上各方案所述,对本次设计方案选定:
采用AT89S52作为主控制系统;
DS1302提供时钟;
LCD液晶显示屏作为显示。
电路设计框图如下所示
AT89S51
主控制模块
图2-1系统原理图
2.2系统硬件介绍
本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;
时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。
可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;
温度的采集由DS18B20构成;
显示部份由LCD液晶显示屏显示。
2.2.1AT89C52单片机简介
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
图2-2AT89C52引脚分布图
2.3主要单元电路的设计
2.3.1单片机主控制模块的设计
AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,每一条I/O线都能独立地作输出或输入。
单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。
第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。
如下图所示:
图2-3主控制系统
2.3.2时钟电路模块的设计
图.2-4示出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始终是输入端。
图2-4DS1302的连接图
2.3.3时钟电路原理及说明
(1)时钟芯片DS1302的工作原理:
DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;
读/写时序如下图4所示。
DS1302的控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。
对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0,位1至位5指操作单元的地址。
位0是读/写操作位,进行读操作时,该位为1;
该位为0则表示进行的是写操作。
控制字节总是从最低位开始输入/输出的。
表.2为DS1302的日历、时间寄存器内容:
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;
当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。
(2)DS1302的控制字节:
DS1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1指示操作单元的地址;
最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出命令字节的格式如图所示.
表2-1命令字节格式
D7D6D5D4D3D2D1D0
1
R/c
A4
A3
A2
A1
A0
R/w
(3)数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
图2-5单字节传送操作格式
图2-6多字节突发模式操作格式
(4)DS1302的寄存器
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;
另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
表2-2
DS1302片内各寄存器数据格式
时钟/RAM
数据格式
D7
D6
D5
D4
D3
D2
D1
D0
秒:
00~59
CH
10秒
秒
分:
0
10分
分
时:
00~23
10小时
小时
日:
01~31
10日
日
月:
01~12
10月
月
星期:
01~07
0
星期
年:
10年
年
控制
WP
RAM0~30
X
X
2.3.4温度测量模块的设计
DS1822是一种用一根信号线与一根返回线来实现互连通信的集成电路芯片。
采用这种芯片构成的微型局域网系统具有建网速度快、成本低的特点,非常适合现场应用。
一线数字温度计芯片DS1822就是DALLAS公司推出的系列一线总线产品之一,它支持DALLAS触摸接口,遵循一线协议,并可以与处理器进行双向数字通信,同时性价比也很高,是一种使用起来非常方便的经济型温度传感器。
DS1822内部电路的核心是一个直接数字输出的温度传感器。
它可将-55~125℃范围内的温度值按9位、10位、11位、12位的分辨率进行量化,且以上的分辨率都包括一个符号位,因此对应的温度量化值分别是0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率为0.0625℃,工作电压范围为3.0~5.5V。
(1)DS1822的测温原理
用DS1822一线式数字温度芯片测量温度的原理如图所示。
它没有采用传统的A/D转换原理,如逐次逼近法、双积分式和算术A/D等,而是运用了一种将温度直接转换为频率的时钟计数法,计数时钟由温度系数很低的振荡器产生,因而非常稳定;
而计数的闸门周期则由温度系数很高(即对温度非常敏感)的振荡器来决定。
置1/清零
停止
图2-7温度测量的原理框图
计数器中的预置值以-55℃时的计数值为基准,在闸门开放计数期间,每当计数值达到0,则温度寄存器就加1,温度寄存器中的预置值也以-55℃的测量值为基准。
同时计数器的预置值还与斜坡累加器电路有关,该电路用于补偿振荡器对温度的抛物线特性,因此还要用时钟脉冲针对这个非线形校正预置值作计数操作,直至计数值达到0为止,如果此时闸门还未关闭,则再重复计数过程。
斜坡累加器补偿了振荡器对温度的非线形特性,从而可以获得较高的温度测量分辨率,改变相对于测温量化级的计数量大小即可获得不同的分辨率。
(2)DS1822的测温过程
在测温时对DS1822进行操作的步骤如下:
a.初始化(READROM指令,代码33H),每次对DS1822进行操作之前都要对其进行初始化,主要目的在于确定温度传感器是否已经连接到单总线上。
b.查找DS1822(SEARCHROM指令,代码FOH),该指令可使处理器通过排除法来辨别总线上的DS1822。
c.匹配DS1822(MACTHROM指令,代码55H),只有完全符合64位ROM序列的DS1822才能响应其后的指令,当然,单点测温时可以使用SKIPROM(CCH)指令来跳过这一步。
d.发送温度转换指令(CONVERTT指令代码44H),发送该指令后应查询总线上的电平,当电平为高时,温度转换完成。
e.读取温度值(READSCRTCHPAD指令代码BEH),将该指令发出后,就可从总线上读取表示温度的两字节的二进制数。
整个测温过程中的第4\5步才是DS1822进行测温并将结果进行数字化转换和输出的过程。
DS1822接收到转换命令(44H)将立刻实施温度转换,并将结果存储到16位便笺式存储器中,数据格式为符号位扩展的二进制补码,然后用读便笺式存储器命令(BEH)将所得数据顺序置于总线上,最低位在前,最高位定义为符号位以表示温度的正负。
DS1822温度与数字输出典型值的对照表如表所列。
表2-3DS1822温度与数字输出的典型值
温度(℃)
数字输出(二进制)
数字输出|(十六进制)
+125
00000111110110000
07D0
+85
0000010101010000
0550
+25.625
0000000110010001
0191
+10.125
0000000010100010
00A2
+0.5
0000000000001000
0008
0000000000000000
0000
-0.5
1111111111111000
FFF8
-10.125
1111111101011110
FF5E
-25.625
1111111001101111
FE6F
-55
1111110010010000
FC90
(3)温度测量模块的电路图设计如图所示:
图2-8温度测量模块电路
2.3.5显示模块的设计
如图2-9为LCD显示模块,和最小系统上的连线一样,无需修改。
图2-9LCD液晶显示屏显示模块
2.3.6闹铃模块电路设计
闹铃功能是可以设置多个闹铃的。
闹铃的持续时间为一分钟。
可以手动按键关闭闹铃。
闹铃电路模块如图所示:
图2-10闹铃模块电路图
第三章电路的软件设计
3.1程序流程框图
当电路接入电源后,首先进行初始化。
初始化完成后如果是反正实验显示屏会自动读取当前计算机时间,如果是实物电路则会全部显示零。
这时通过按键进入子程序进行时间设置调整。
(具体程序见附录2)
图5主程序流程图
3.2子程序流程图
子程序主要是对时间和闹铃时间进行设置调整。
(具体程序见附录2)
图6时间及闹铃程序流程图
第四章数字钟功能仿真
4.1Proteus软件简介
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和数字电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;
同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和电路分析于一身的仿真软件,功能极其强大。
本章介绍ProteusISIS软件的工作环境和一些基本操作。
4.1.1进入ProteusISIS
双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 数字 设计