毕业论文多功能数字钟.doc_第1页
毕业论文多功能数字钟.doc_第2页
毕业论文多功能数字钟.doc_第3页
毕业论文多功能数字钟.doc_第4页
毕业论文多功能数字钟.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多功能数字钟(B)摘 要本多功能数字钟系统以89C55单片机作为控制核心,其外围电路包括时钟闹钟模块、温度测量模块、交流电电压测量及过欠压报警模块、交流电频率测量模块。其中使用串行时钟芯片PCF8563,实现时间的显示设置和闹钟功能。通过温度传感器AD590、 AC-DC转换芯片AD536及模数转换芯片ICL7135实现温度和交流电压的测量。利用波形转换电路和单片机内部定时器测量交流电的频率。利用光电开关实现非接触关闭闹钟功能。本系统很好的完成了题目要求的基本及发挥要求,并进行了进一步的扩展。ABSTRACTThe multi-function digital clock system uses MCU 89C55 as its central part. The periphery circuits including clock module, temperature measure module, voltage measure module and frequency measure module. To achieve these functions, the system uses clock circuit PCF8563, temperature sensor AD590, AC-DC converter AD536, analog-to-digital converter ICL7135 and so on. The design achieved and even exceeded all the technical indexes with better accuracy and control.一、 方案论证与比较本题目的要求是设计一个数字时钟,要求具有24小时时间、闹钟设置并具有闹铃功能。同时要求有对环境温度及供电电源特性进行测量的扩展功能。我们提出了以下几种方案:1. 方案一这是一种纯硬件电路系统。各功能采用分离的硬件电路模块实现。用时序逻辑电路实现时钟功能,用555定时器实现闹钟的设定,以及用热敏电阻作为温度传感器等。但这种实现方法可靠性差、控制精度低,灵活性小、线路复杂、安装调试不方便,而且不方便实现对系统的扩展。2. 方案二这种方法用可编程逻辑器件(PLD)实现。这种方案与前一种相比,可靠性增加,同时可以很好的完成时钟的功能。但是对于温度和电压的测量,不具备对数据的处理功能,无法很好的完成扩展功能的要求。同时这种方案只能选用数码管显示,显示的效果不够理想。同时,系统的灵活性不够。3. 方案三这种方案采用89C55单片机作为系统的控制核心。时钟功能采用单片集成的时钟芯片实现,可以使用液晶显示(LCD)测量数据及提示信息,有着智能化的人机界面。同时,采用模数转换器实现对温度、电压等测量数据的转换,可将其读入单片机进行处理。由于使用了单片机,整个系统可编程,系统的灵活性大大增加了。另外,本方案可以方便的实现其他功能的扩展。经过以上的比较论证,我们选用方案三来完成题目的要求。二、 系统原理框图根据题目设计要求,要实现时间和闹钟的显示及设定、温度测量、市电电压频率测量报警、非接触止闹等功能。针对此要求,本系统由以下几个模块构成,如图2-1所示:图2-1三、 主要电路设计与计算1. 基本功能部分(1) 89C51单片机基本系统核心部分为89C51单片机与地址锁存器74LS373、总线驱动器74LS245构成单片机的基本系统,电路如图3-1所示:图3-1这里通过三态8D锁存器74LS373锁存单片机的低八位地址。同时为了方便驱动其它电路,通过总线驱动器74LS245增加单片机的驱动能力。将数据及地址等信号通过40线的总线引出,便于对此单片机系统作进一步的扩展。(2) I2C串行时钟PCF8583 本数字钟系统的重要部分在于时钟和闹钟功能模块,这里选用串行日历时钟芯片PCF8563。与采用并行总线与单片机进行数据通信的时钟芯片相比,PCF8563与单片机的连线大为减少,极大的节省了单片机的系统资源。PCF8563具有内部时钟电路、内部震荡电路、内部低电压检测及两线制I2C总线通信方式,不但使用外围电路简洁,而且增加了芯片的可靠性。时钟芯片与单片机的接口电路如图3-2所示:图3-2PCF8563的管脚排列及描述如图所示。图3-3PCF8563采用了I2C总线接口,虽然总线时序关系复杂,但我们可以利用PHIL IPS公司提供的软件包,使得编程极为简单,可靠性极强。在设计中我们主要用到了PCF8563的计时功能和报警功能。PCF8563内部共有16个寄存器。其中00H,01H为控制方式寄存器,02H08H为时间寄存器,09H0CH为报警功能寄存器,0DH为时钟输出寄存器,0EH 和0FH为定时器功能寄存器。其中报警和时间寄存器的位描述如图3-4所示:图3-4可以看出芯片内部时间寄存器和报警寄存器在地址上是连在一起的,并且数据全部是以BCD码形式存放的,这样使得数据读写和处理变得相当简洁和便利。在本设计中,PCF8563通过SCL、SDA、/INT与单片机相连,其中SCL为时钟输入端,数据随时钟信号同步输入器件或从器件输出;SDA为双向引脚,用于行数据的输入输出;/INT是中断信号输出端,可通过设置报警寄存器按指定时间在该脚产生报警信号,低电平有效;SDA、SCL、/INT均为漏极开路,必须接上拉电阻。PCF8563 共有四种报警方式,分别为小时报警(每小时的同一分钟时刻报警),日报警(每天的同一小时时刻报警),月报警(每月的同一天时刻报警)和星期报警(每星期的同一天时刻报警)。发生报警时在/INT引脚产生一个中断,低电平有效,同时在PCF8563的内部产生中断标志AF。软件清AF后就清除了/INT上的中断信号。我们在设计中联合应用了PCF8563的小时报警、日报警和月报警的功能。即可以设定每个月某日的某时某分为闹铃时刻。报警时,/INT的低电平使单片机产生中断,在中断服务程序中,单片机控制蜂鸣器发出闹铃声。(3) 液晶显示器(LCD)这里采用点阵式液晶显示器SMG12864代替数码管显示时间,不仅可以有更好的显示效果,同时还可以显示提示信息,将此多功能数字钟做成智能化人机界面。另外,扩展功能也要求我们采用液晶显示。接口电路如图3-5所示:图3-5SMG12864是一种128*64点阵的液晶显示器。其控制器内部有两个64*64位(512字节)的RAM缓冲区,用户可以通过控制器内部设定的数据地址页指针和列指针来访问全部RAM字节。这里将SMG12864的数据口和数据总线相连,片选信号、读写控制信号、使能信号、复位信号等控制线与P1口的部分口线相连,通过单片机的控制可以方便的实现对液晶的写入。(4) 键盘接口电路在设计键盘接口电路时,我们使用HD7279键盘控制器来扫描8*2的16键键盘,单片机通过查询方式从HD7279读出键码,接口电路如图3-6所示:图3-6HD7279可以同时对多达8*8的键盘进行监视,并具有自动消抖和识别键码的功能;同时HD7279和单片机采用串行接口,占用口线较少,因此可以提高单片机的效率和节省系统资源。这里用两条列线端口和八条行线端口,实现对16键键盘的自动监视和键码的识别。单片机对HD7279的按键信号端进行查询,并以串行方式读入键码。(5) 非接触止闹电路这里采用光电开关ES50。此开关的特性是:开关前一定范围内无障碍物时,输出高电平;当有障碍物挡在开关前时,输出低电平。对光电开关的输出信号经过信号调理电路,再接入单片机口线P3.5进行检测。当单片机检测到该信号的下降沿时,就关闭闹铃。2. 温度测量部分(1) 测温电路设计对于温度传感器,我们选择了单片集成的温度传感器AD590。常见的感温元件有热电偶、热电阻和半导体等传感器。热电偶的价格便宜,但精度低,需要进行冷端补偿,电路的设计比较复杂;热电阻精度较高,但需要标准稳定电阻是陪才能使用;而半导体温度传感器线路设计简单,精度较高,线性度好,价格适中。AD590为单片集成两端感温电流源,所产生的电流经过电阻网络和多级运算放大器,输出范围在00.6V的电压(温度范围为060)。电路图如图3-7所示: 图3-7AD590的特性为:流过器件的电流()等于期间所处环境的热力学温度(开尔文)度数,即:mA/K 式中: 流过器件(AD590)的电流,单位为mA;T热力学温度,单位为K。同时,AD590输出呈现高阻抗,其本身保证在0(即热力学温度273.2K)时,输出电流为273.2。所以当R1和R2的阻值之和为1K时,在AD590的2脚,可以得到273.2mV的电压,且输出电压随温度的变化为1mV/K。在AD590之后连接由运算放大器OP07构成的跟随器,以提高输出负载能力。要想得到输出电压在060时输出为00.6V,必须对信号进行降压和放大。考虑到精度的要求,我们先对跟随器的输出信号经过一级反向放大,再经过一级反向求和降压,最后得到00.6V的电压,且在整个温度范围内保持良好的线性。计算过程如下:060时 调节电位器R7为10K 调节电位器R8,使为2.732V 调节电位器为10K则: 故:范围为00.6V,在ICL7135的量程范围内但由于AD590的增益有偏差,同时电阻也有误差,因此必须对电路进行调整。调整方法为:1. 为了获取准确的温度值,分别在0(冰水混合物)、100(沸水)和36.5(人体温度)进行温度定标。具体步骤是:把AD590放于冰水混合物中,调节电位器R1,使得跟随器输出电压为273.2mV。依次调节R7、R8,使得运放U2、U3的输出为-2.732V和2.732V。2. 将AD590放入沸水中,调节电位器R11,使得U4输出为1V。3. 同理进行36.5使得定标。(2) 高精度AD芯片ICL7135设计对于模数转换芯片,我们选择高精度AD芯片ICL7135。此方案利用ICL7135的“BUSY”端,可以在只占用单片机的一个I/O口和一个内部定时器的情况下,得到准确的转换数据。接口电路如图3-8所示:图3-8ICL7135具有正负20000个数的分辨率,而且有BCD码和STB信号输出。通常利用这两个信号读入数据需要占用单片机5个I/O口。出于对单片机资源的考虑,我们巧妙的利用了“BUSY”信号和芯片的输入时钟信号,就可以实现同样的功能,极大的节省了宝贵的系统资源。ICL7135是以双积分形式进行AD转换的电路。它的每个转换周期除了自动调零外,包括积分阶段和反积分阶段。如图3-9所示:图3-9ICL7135内部规定积分时间固定为10001个时钟脉冲时间,反积分时间长度与被测电压的大小成比例,且最多为20000个时钟脉冲时间。ICL7135“BUSY”端的高电平的宽度等于积分和反积分时间之和。所以这里利用单片机内部的定时器对ICL7135的时钟脉冲计数,利用“BUSY”信号作为计数器的门控信号,控制计数器只在“BUSY”为高电平时计数。由于芯片的满量程输入电压为2V,所以用“BUSY”高电平期间计数器的内容减去10001,其余数值便等于被测电压的数值,且为小数点后四位的高精度数据。同时,本系统有温度和电压两种数据需要测量。为了节省资源及减小硬件电路的复杂性,这里采用继电器在两路信号之间进行切换。继电器的控制信号CONTROL有单片机提供。3. 交流电特性测量部分(1) 交流电电压测量对于交流电的电压测量,我们采用单片集成的有效值变换器AD536,将经过变压器降压的交流电信号转换为精确的直流信号,送ICL7135进行模数转换后读入单片机并进行显示。电路如图3-10所示:图3-10传统的有效值变换器大多为近似有效值计算,对于复杂信号和大动态范围的信号存在着转换精度不高的缺点。AD536根据数学表达式计算的是真有效值,得到了精度的保证。将220V交流电经过变压器得到7.5V的交流电压Vin,经AD536后输出的7.5V的直流电压,在经过电阻网络分压后,再通过调节R17改变运放的增益,使得运放TL084输出为1V,同时增加了直流信号的驱动能力。输出的信号Vout送入ICL7135进行转换,同时也作为过欠压报警模块的输入信号。(2) 交流电频率测量对于交流电频率的测量,我们将经过降压的交流信号,通过比较器LM311实现波形转换。将产生的方波信号与单片机口线相连,可以得到交流电的频率。电路如图3-11所示:图3-11频率测量的原则是:低频信号测周期,高频信号测频率。因此我们的方案是:将低压交流电信号Vin经过比较器LM311与0电平进行比较,可以得到峰值为1112V的方波信号。经过降压并通过运算放大器以提高驱动能力,信号被接至单片机的口线P3.0,作为内部定时器T0的门控信号。通过T0的计数测得方波的周期,经过处理后即可得到交流电的频率。(3) 交流电过欠压报警对于交流电压超出波动范围报警部分,这里采用了电压比较器LM311。将前一级芯片AD536输出的直流信号,经过运放的处理后,与基准电压源LM336-5产生的电压+5V进行比较。如果超出波动范围限制(10%),将驱动发光管闪亮和蜂鸣器报警。电路如图3-12所示:图3-12我们采用纯硬件电路实现过欠压报警的功能,不经过单片机的检测。这种实现方法实时性很好,同时不占用单片机的系统资源。利用高精度电压比较器,可以实现精确的报警功能。在交流电压为220V时,AD536输出的电压经线性变换为1V。按照10%的波动范围,可见直流电压Vin的正常波动范围为0.9V1.1V。调整上一路的运放电位器R5,使得电压超出1.1V时,第一级运放输出高于5V的电压。经电压比较器LM311与基准5V电压进行比较,驱动上一路发光二极管点亮,并驱动蜂鸣器报警。同理调节下一路,使得输入电压低于0.9V时,驱动下一路报警。四、 系统软件工作流程图1. 软件说明:软件系统在本设计中尤其重要,基本功能大部分是由软件完成的,发挥功能的关键控制部分同样需要软件的密切配合才能顺利实现。鉴于软件设计的复杂性和规模性,我们采用KEIL编译器支持的C语言编程,放弃了效率高但可读性不强的汇编语言。整个软件系统采用自顶向下模块化的程序设计方法,共分为上级的主程序模块和下级的时间设定、闹铃设定、温度测量和电压幅度和频率测量五个部分。软件系统的主要特点是整个过程完全在键盘的控制之下,实现了完全的友好的人机交互功能。主程序通过查询键盘的输入情况调用不同的子程序。子程序的功能实现也是在键盘的配合之下完成的。整个设计过程采用的主要算法有十六进制数转换为十进制数算法、浮点数转换为十进制数算法。完成的主要功能有:时间、日期设定与显示,闹铃设定与闹铃开关,室内温度实时监测与现实,交流电网幅度、频率实时监测与显示。2. 系统软件流程图: 五、 系统性能测试与分析1. 测试仪器方正PC机 伟福G6W型仿真器 YB4360型60MHz双踪示波器EE1642B型函数信号发生器 SS1792型直流稳压电源DP930F型数字万用表 温度计 TDGC型调压变压器2. 测试方法与数据(1) 时钟及闹钟功能测试通过仿真器加载程序,可以在液晶屏上看到开机画面,之后为日期时间显示。可以在液晶显示的提示信息下利用键盘对日期和时间进行修改,同时可以对闹钟时间进行设定,设定后按下“闹铃开”开关,液晶屏上显示出闹铃图标,表示设置完成。如果按下“闹铃关”按键,闹铃图表消失。待闹铃时间到后,蜂鸣器播放音乐。这是如果用手接近光电开关,则蜂鸣器停止播放。反复试验以上功能,均成功完成。(2) 温度测试将系统功能切换至温度测量,由于温度传感器AD590的转换速度稍慢,同时缺乏恒温设备,我们测量了以下四组数据,如下表所示:表1 温度测试数据环境系统测量值/温度计显示值/测量误差/冰水混合物0.50.20.3沸水99.8100.00.2室温27.627.70.1体温36.336.50.2可见,系统温度测量的误差低于0.5,精度比题目的要求更高。同时,扩大了测量温度的范围。(3) 交流电电压测试及过欠压报警将系统功能切换至电压测量,通过TDGC型调压变压器调节输入交流电的电压。不断改变电压的数值,将显示的数据和交流电压表的的刻度值进行比较,同时观测过欠压报警部分,得到数据如下表:表2 交流电电压测试数据系统测量值万用表测量值/V测量误差/V过压报警?欠压报警?189.9190.00.1否是195.3195.00.3否是199.7200.00.3否否205.4205.00.4否否210.0210.00否否214.9215.00.1否否220.0220.00否否224.9225.00.1否否229.7230.00.3否否234.6235.00.4否否239.7240.00.3否否244.6245.00.4是否250.1250.00.1是否可见,系统电压测量的误差低于0.5V,能满足精度方面的要求。同时,过欠压的报警也正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论