大学生课外创新实验竞赛 暨第五届实验竞赛月总结报告数字电子钟的设计、仿真与制作.doc_第1页
大学生课外创新实验竞赛 暨第五届实验竞赛月总结报告数字电子钟的设计、仿真与制作.doc_第2页
大学生课外创新实验竞赛 暨第五届实验竞赛月总结报告数字电子钟的设计、仿真与制作.doc_第3页
大学生课外创新实验竞赛 暨第五届实验竞赛月总结报告数字电子钟的设计、仿真与制作.doc_第4页
大学生课外创新实验竞赛 暨第五届实验竞赛月总结报告数字电子钟的设计、仿真与制作.doc_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

课外创新实验竞赛大学生课外创新实验竞赛暨第五届实验竞赛月总结报告项目名称:数字电子钟的设计、仿真与制作 参赛院系: 电气工程学院 电气工程基础实验中心 项目组成员: *涛 项目负责人电话: 日 期: 2013.4.26 目 录项目简介:该数字时钟以stc89c51单片机为核心控制系统,51单片机主要通过控制高低电平来实现数据的传输和读取,操作简单。时钟芯片采用ds12c887,该时钟芯片内部自带振荡器,走时精准,而且内部自带备用电池,断电后数据不会丢失,还会自动走时长达十年,避免了开机就得重新校时的麻烦。时间的显示通过1602液晶显示屏显示,为并行数据传输。该系统除了具有基本的时间显示外,还有校时,闹钟,温度,计时,倒计时,录音功能,语音报时。其中时间显示包括年月日,时分秒,星期。温度的测量采用ds18b20,小巧精致,精度可达0.625。计时和倒计时分别用单片机的定时器0,和定时器1。闹钟为时钟芯片内部控制,通过单片机的外部中断来控制铃声的放出。录音采用isd4004语音芯片,为串行数据传输,录音时间可达8分钟。语音报时则是事先在语音芯片录入声音,再通过单片机对声音进行剪接,使之组成所需的一句话。仿真工具为proteus,仿真效果与实际接近。pcb的绘制采用 altium designer 6.9,功能强大。该数字时钟功能多样,操作仅用四个按键实现,而且显示界面简洁,利于实现人机互动。关键字: 单片机 时钟芯片 温度 录音 语音报时项目创新点:第一:该项目采用了ds12c887时钟芯片,走时精准,而且断电后不丢失数据,内部有备用电源,可在断电后自行走10年,所以在任何时候开机时,时间都是准的,避免了上电就需校时的麻烦。第二:该数字钟具有录音的功能,闹钟的铃声可自行录取,比单一的蜂鸣器声音好很多。第三:语音报时功能,事先将所需的字或则词录入语音芯片中,再通过单片机对声音进行剪接,组成一句所需的话。第一章绪论 41.1数字时钟概述 41.2单片机概述 4第二章 主要元器件介绍 52.1 stc89c51单片机 52.2 lcd1602液晶显示屏 62.3 ds12c887时钟芯片92.4 ds18b20温度传感器122.5 isd4004 132.6 lm386 17第三章 模块介绍 183.1主系统-单片机183.2日期显示部分-lcd1602183.3测温部分-温度传感器ds18b20183.4日期,闹钟产生部分-ds12c887193.5录音与语音报时模块-isd4004 213.6语音放大电路- lm386 243.7计时与定时器-定时器0,1 243.8 其他 253.9系统总的原理图 263.10系统总的程序设计流程图 26第四章 仿真与调试294.1 仿真294.2调试过程30附录一:pcb图31附录二:源程序 程序一:系统主程序32 程序二:语音录入60附录三:元器件清单67附录四:收获与与体会68 第一章 绪论1.1数字时钟概述现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们往往忘记了时间,一旦遇到重要的事情而忘记了时间,这将会带来很大的损失。因此我们需要一个定时系统来提醒这些忙碌的人。数字化的钟表给人们带来了极大的方便。近些年,随着科技的发展和社会的进步,人们对数字钟的要求也越来越高,传统的时钟已不能满足人们的需求。数字钟不管在性能还是在样式上都发生了质的变化,有电子闹钟、数字闹钟等等。单片机在数字钟中的应用已是非常普遍的,人们对数字钟的功能及工作顺序都非常熟悉。但是却很少知道它的内部结构以及工作原理。由单片机作为数字钟的核心控制器,利用时钟芯片,将其时间数据经单片机输出,利用显示屏显示出来。通过键盘可以进行定时、校时功能。输出设备显示屏可以用液晶显示技术和数码管显示技术。1.2单片机概述 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300m的高速单片机。 单片微型计算机简称单片机,是典型的嵌入式微控制器(microcontroller unit),常用英文字母mcu表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机,和计算机相比,单片机只缺少了i/o设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。 由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有cpu的专用处理器发展而来。最早的设计理念是通过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。 汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过pc机和其他计算的总和,甚至比人类的数量还要多。 第二章 主要元器件介绍2.1 stc89c51单片机2.1.1单片机简介stc系列单片机是美国stc公司最新推出的一种新型程序存储器、sram、uart、spi、机完全兼容。内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟;(1).工作频率范围:040mhz,相当于普通8051的0-80mhz(2).stc89c5xrc对应flash空间:4kb8kb15kb(3).内部存储器(ram):512b; (4).定时器计数器:3个16位; (5).通用异步通信口(uart)1个;(6).中断源:8个; (7).有isp(在系统可编程)iap(在应用可编程无需专用编程器仿真器(8).通用io口:3236个; (9).工作电压:3.8-5.5v; (10).外形封装:40脚pdip、44脚plcc3. 和pqfp等2.1.2引脚说明(1)vcc,gnd单片机电源引脚,不同的单片机接入不同的电源,常压为+5v,低压为+3.3v。(2)xtal1,xtal2外接时钟引脚。xtal1为片内振荡电路的输入端,xtal2为片内振荡引脚的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,振荡电容一般取10p-30p;另一种是外部时钟方式,xtal1接地,外部时钟信号从xtal2脚输入。(3)rst单片机复位引脚。当输入连续的两个周期以上的高电平时为有效,用来完成单片机的复位初始化操作,复位后的程序计数器pc=0000h,即复位后将从程序存储器的0000h单元读取第一条指令码,通俗的讲,就是单片机从头开始执行程序。(4)psen此输出为单片机内访问外部程序存贮器的读选通信号。在从外部程序存贮器取指令(或常数)期间,每个机器周期psen两次有效,但在此期间,每当访问外部数据存贮器时,这两次有效的psen信号将不出现,psen同样可以驱动8个ttl负载。(5) ale/prog(30引脚):当单片机访问外部存贮器时,ale(地址锁存允许)输出脉冲的下降沿用于锁存16位地址的低8位。即使不访问外部存贮器,ale端仍有周期性正脉冲输出,其频率为振荡器频率的16。但是,每当访问外部数据存贮器时,在两个机器周期中ale只出现一次,即丢失一个ale脉冲。ale端可以驱动8个ttl负载。对于片内具有eprom型的单片机8751,在eprom编程期间,此引脚用于输入编程脉冲prog。(6) ea/vpp (31脚):当ea端保持高电平时,单片机访问的是内部程序存贮器(对8051、8751来说),但当pc(程序计数器)值超过某值(如8751内部还有4kb eprom,值为0fffh)时,将自动转向执行外部程序存贮器内的程序。当ea端保持低电平时,则不管是否有内部程序存贮器而只访问外。对 8031 来说, 因其无内部程序存贮器所以 该引脚必须接地,即此时只能访问外部程序存贮器。对于片内有 eprom 型的单片机 型的单片机 8751 ,在 eprom eprom编程期间,此引脚用于施加电源vpp 。(7)i/o口引脚p0口,p1口,p2口,p3口。 p0口(p0.0p0.7)-为双向 :为双向 8位三态 i/o 口,当作为 口,当作为 i/o 口使用时,可直接 连口使用时,可直接 连外部 i/o 设备。它是地址总线低 8位及数据总线分时复用口,可驱动 8个 ttl 负载输, 一般作为扩展时地址 /数据总线使用。p1 口( p1.0 p1.7 ):为 8位准双向 i/o 口,它的每一位都可以分别定义为输入 口,它的每一位都可以分别定义为输入 线 或输出线(作为入时,口锁存器必须置 1),可驱动 ),可驱动 4个 ttl 负载。p2 口( p2.0 p2.7 ):为 8位准双向 i/o 口,当作为 口,当作为 i/o 口使用时,可直接连外 口使用时,可直接连外 部 i/o 设备。它是与地址总线高 设备。它是与地址总线高 8位复用,可驱动 位复用,可驱动 4个 ttl 负载,一般作为扩展时地址 负载,一般作为扩展时地址 总线上网高 8位使用。p3 口( p3.0 p3.7 ):位 ):位 ):位 8位准双向 i/o 口,时双功能复用可驱动 口,时双功能复用可驱动 口,时双功能复用可驱动 4个 ttl 负 载。p3 口的第二功能a.p3.0 :rxd( 串行输入口 );b.p3.1 :txd( 串行输出口 );c.p3.2 :int0( 外部中断 0) ;d.p3.3 :int1 (外部中断 1) ;e.p3.4 :t0 (定时器 0外部中断); 外部中断);f.p3.5 :t1 ( 定时器 1外部中断 );g.p3.6 :wr( 外部数据存储器写选通 );h.p3.7 :rd( 外部数据存储器读选通 )。图2-1 stc89c51单片机引脚图2.2 lcd1602液晶显示屏2.2.1 液晶简介1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5x7或者5x11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。1602lcd是指显示的内容为16x2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。2.2.2 引脚介绍(1)第1脚:vss为电源地(2)第2脚:vcc接5v电源正极(3)第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10k的电位器调整对比度)。(4)第4脚:rs为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。(5)第5脚:rw为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。(6)第6脚:e(或en)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。(7)第714脚:d0d7为8位双向数据端。(8)第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图2-2 lcd1602引脚图2.2.3 使用方法(1)指令集指令码功 能指令rsr/wd7d6d5d4d3d2d1d0清除显示0000000001将ddram填满20h,并且设定ddram的地址计数器(ac)到00h地址归位000000001x设定ddram的地址计数器(ac)到00h,并且将游标移到开头原点位置;这个指令不改变ddram 的内容显示状态开/关0000001dcbd=1: 整体显示 onc=1: 游标on b=1:游标位置反白允许进入点设定00000001i/ds指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001s/cr/lxx设定游标的移动与显示的移位控制位;这个指令不改变ddram 的内容功能设定00001dlxrexxdl=0/1:4/8位数据re=1: 扩充指令操作re=0: 基本指令操作设定cgram地址0001ac5ac4ac3ac2ac1ac0设定cgram 地址设定ddram地址0010ac5ac4ac3ac2ac1ac0设定ddram 地址(显示位址)第一行:80h87h第二行:90h97h读取忙标志和地址01bfac6ac5ac4ac3ac2ac1ac0读取忙标志(bf)可以确认内部动作是否完成,同时可以读出地址计数器(ac)的值写数据到ram10数据将数据d7d0写入到内部的ram (ddram/cgram/iram/gram)读出ram的值11数据从内部ram读取数据d7d0(ddram/cgram/iram/gram)(2)基本操作时序读状态输入rs=l,r/w=h,e=h输出d0-d7=状态字读数据输入rs=h,r/w=h,e=h输出无写指令输入rs=h,r/w=l.d0-d7=指令码,e=高脉冲输出d0-d7=数据写数据输入rs=h,r/w=l,d0-d7=数据,e=高脉冲输出无(3)读写时序图图2-3 1602读操作时序图 2-4 1602写操作时序2.3 ds12c887时钟芯片 2.3.1 简介 ds12c887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决了“千年”问题; ds12c887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用am和pm区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用bcd码表示;ds12c887中带有128字节 ram,其中有11字节ram用来存储时间信息,4字节ram用来存储ds12c887的控制信息,称为控制寄存器,113字节通用ram使用户使用;此外用户还可对ds12c887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。2.3.2 引脚介绍(1)gnd、vcc:直流电源,其中vcc接+5v输入,gnd接地,当vcc输入为+5v时,用户可以访问ds12c887内ram中的数据,并可对其进行读、写操作;当vcc的输入小于+4.25v时,禁止用户对内部ram进行读、写操作,此时用户不能正确获取芯片内的时间信息;当vcc的输入小于+3v时,ds12c887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。(2)mot:模式选择脚,da12c887有两种工作模式,即motorola模式和intel模式,当mot接vcc时,选用的工作模式是motorola模式,当mot接gnd时,选用的是intel模式。本做品采用主要讨论intel模式。(3)sqw:方波输出脚,当供电电压vcc大于4.25v时,sqw脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。(4)ad0ad7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在ad0ad7上的是地址信息,可用以选通ds12c887内的ram,总线周期的后半部分出现在ad0ad7上的数据信息。(5)as:地址选通输入脚,在进行读写操作时,as的上升沿将ad0ad7上出现的地址信息锁存到ds12c887上,而下一个下降沿清除ad0ad7上的地址信息,不论是否有效,ds12c887都将执行该操作。(6)ds/rd:数据选择或读输入脚,该引脚有两种工作模式,当mot接vcc时,选用motorola工作模式,在这种工作模式中,每个总线周期的后一部分的ds为高电平,被称为数据选通。在读操作中,ds的上升沿使ds12c887将内部数据送往总线ad0ad7上,以供外部读取。在写操作中,ds的下降沿将使总线ad0ad7上的数据锁存在ds12c887中;当mot接gnd时,选用intel工作模式,在该模式中,该引脚是读允许输入脚,即read enable。(7)r/w:读/写输入端,该管脚也有2种工作模式,当mot接vcc时,r/w工作在motorola模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当r/w为高电平时为读操作,r/w为低电平时为写操作;当mot接gnd时,该脚工作在intle模式,此时该作为写允许输入,即write enable。(8)cs:片选输入,低电平有效。(9)irq:中断请求输入,低电平有效,该脚有效对ds12c887内的时钟、日历和ram中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,reset可以直接接vcc,这样可以保证ds12c887在掉电时,其内部控制寄存器不受影响。图 2-5 ds12c887 引脚图2.3.3使用方法 (1)寄存器定义(二级制模式dm=1) a.寄存器a 更新位uip:用来标志芯片是否即将进行更新。 当uip位为1时,表示芯片正处于更新周期或即将开始更新周期。此时不准读/写时标寄存器; 当它为0时,表示在至少244us后才开始更新周期(即在这244us内,芯片不会更新)。此时,时钟、日历和闹钟信息可以通过读写相应的字节获得和设置。 uip位为只读位且不受复位信号(reset)的影响。通过把寄存器b中的set位设置为1,可以禁止更新并将uip位清0。b.寄存器b:当该位为0时,芯片处于正常工作状态,每秒产生一个更新周期来更新时标寄存器;该位为1时,芯片停止工作,程序在此期间可初始化芯片的各个时标寄存器。 set位可读写,并不会受到复位信号的影响。 pie周期中断 当pie=0:禁止周期中断输出到irq; 当pie=1:允许周期中断输出到irq。 aie闹钟中断 当aie=0:禁止闹钟中断输出到irq; 当aie=1:允许闹钟中断输出到irq。 uie更新结束中断 当uie=0:禁止更新结束中断输出到irq; 当uie=1:允许更新结束中断输出到irq。 此位在复位或设置set为高时清0 sqwe方波输出允许位 当sqwe=0:sqw脚保持低电平; 当sqwe=1:按寄存器a输出 速率选择位 所确定的频率方波。 dm格式选择位 dm=0:bcd格式;dm=1:二进制格式。 此位不受复位信号影响 24/12小时模式设置位 为124小时制;为012小时制 dse夏令时允许标志 dse=1,夏令制设置有效,夏时制结束可自动刷新恢复时间;des=0,无效。 夏令时:在四月的第一个星期日的1:59:59am,时钟调到3:00:00am;在十用的最后一个星期日的1:59:59am,时钟调到1:00:00a。c.寄存器cirqf中断请求标志。当一下四种情况有一种或则几种发生时,irqf置高;pf=pie=1;af=aie=1;uf=uie=1;irqf=pf.pie+af.ale+uf.uie;irqf一旦为高,irq输出低电平。d.寄存器d vrtvrt=0,表示内置电池能量耗尽,此时ram中的数据的正确性就不能保证了。(2)读写时序图图2-5 ds12c887读时序图 图2-6 ds12c887写时序图2.4 ds18b20温度传感器 2.4.1简介 ds18b20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有ltm8877,ltm8874等等。主要根据应用场合的不同而改变其外观。封装后的ds18b20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。2.4.2.引脚介绍 (1)dq为数字信号输入/输出端;(2)gnd为电源地;(3)vdd为外接供电电源输入端(在寄生电源接线方式时接地)。图2-7 ds18b20管脚图 2.4.3.使用方法 (1)指令代码温度转换 44h 启动ds18b20进行温度转换读暂存器 beh 读暂存器9位二进制数字写暂存器 4eh 将数据写入暂存器的th、tl字节复制暂存器 48h 把暂存器的th、tl字节写到e2ram中重调e2ram b8h 把e2ram中的th、tl字节写到暂存器th、tl字节读电源供电方式 b4h 启动ds18b20发送电源供电方式的信号给主cpu(2)寄存器分布(3)初始化及读写时序图图2-8初始化时序图图 2-9 写数据图图2-10 读数据图2.5 isd40042.5.1简介 isd4004 系列工作电压3v,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用cmos 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(spi 或microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内flash存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。采样频率可为 4.0,5.3,6.4,8.0khz,频率越低,录放时间越长,而音质则有所下降,片内信息存于flash存贮器中,可在断电情况下保存100 年(典型值),反复录音10 万次。图2-11 isd内部结构2.5.2 引脚介绍(1)电源:(vcca,vccd) 为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量靠近器件。 1(2)地线:(vssa,vssd) 芯片内部的模拟和数字电路也使用不同的地线。(3)同相模拟输入(ana in+) 这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mv,耦合电容和本端的3k电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mv,为isd33000 系列相同。(4)反相模拟输入(ana in-) 差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mv(5)音频输出(aud out) 提供音频输出,可驱动5k的负载。(6)片选(ss) 此端为低,即向该isd4004 芯片发送指令,两条指令之间为高电平。(7)串行输入(mosi) 此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供isd 输入。(8)串行输出(miso) isd 的串行输出端。isd 未选中时,本端呈高阻态。(9)串行时钟(sclk) isd 的时钟输入端,由主控制器产生,用于同步mosi 和miso 的数据传输。数据在sclk上升沿锁存到isd,在下降沿移出isd。(10)中断(/int) 本端为漏极开路输出。isd 在任何操作(包括快进)中检测到eom 或ovf 时,本端变低并保持。中断状态在下一个spi 周期开始时清除。中断状态也可用rint 指令读取。ovf 标志-指示isd的录、放操作已到达存储器的未尾。eom 标志-只在放音中检测到内部的eom 标志时,此状态位才置1。(11)行地址时钟(rac) 漏极开路输出。每个rac 周期表示isd 存储器的操作进行了一行(isd4004 系列中的存贮器共2400 行)。该信号175ms 保持高电平,低电平为25ms。快进模式下,rac 的218.75s 是高电平,31.25s 为低电平。该端可用于存储管理技术。(12)外部时钟(xclk) 本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校,误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。(13)自动静噪(amcap) 当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1mf 的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6db。1mf 的电容也影响自动静噪电路对信号幅度的响应速度。本端接vcca 则禁止自动静噪。图2-12 isd4004引脚图2.5.3 使用方法(1)指令表(2)上电顺序。器件延时tpud(8khz 采样时,约为25 毫秒)后才能开始操作。因此,用户发完上电指令后,必须等待tpud,才能发出一条操作指令。例如,从00 从处发音,应遵循如下时序:1. 发powerup 命令;2. 等待tpud(上电延时);3. 发地址值为00 的setplay 命令;4. 发play 命令。器件会从此00 地址开始放音,当出现eom 时,立即中断,停止放音。如果从00 处录音,则按以下时序:1. 发power up 命令;2. 等待tpud(上电延时);3. 发power up 命令4. 等待2 倍tpud;5. 发地址值为00 的setrec 命令;6. 发rec 命令。器件便从00 地址开始录音,一直到出现ovf(存贮器末尾)时,录音停止。(3)时序图图2-13 spi传输时序图2-14 spi8位命令格式图2-15 spi16位命令格式2.6 lm386 2.6.1 简介 lm386是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。2.6.2 引脚介绍(1) gain(1,8脚)增益(2) input-(2脚) 输入负极(3) input+(3脚) 输入正极(4) gnd(4脚) 接地端(5) bypass(7脚) 接旁路电容(6) vs (6脚) 电源电压(7) vout(5脚) 输出端图2-16 lm386 管脚图2.6.3 使用方法图2-17 lm386 典型应用电路第三章 模块介绍3.1 主系统-单片机 (1)复位电路。为避免在单片机工作的时候陷入死循环或则卡机的情况,复位电路是不可 少的一部分,当按下复位键时,程序从主函数的开始部分执行。图3-1 单片机复位电路图 (2)晶振电路。单片机要正常的工作都必须有晶振电路,有的单片机内部已经有了晶振了故不需外接晶振。该系统所用的为stc89c51,还需外接晶振。图3-2 单片机晶振电路 (3)相关软件。单片机程序的编写可以用keil来进行,编写语言有c和汇编两种。该统所用的是c语言。单片机的仿真可以通过proteus来进行,该软件的仿真结果接近现实。3.2 日期显示部分-lcd1602(1)与单片机连接线路 液晶显示屏的数据端与单片机的p0口相连接,为并行口数据传输。因为我们不要求读出液晶的状态,所以w/r端接地。由于单片机的p0口无法产生高低电平,所以需外接一个10k的上拉电阻。为了减小电路所占的面积,采用排阻。图3-3 液晶连接图 3.3 测温部分-温度传感器ds18b20 该系统的温度检测模块主要通过ds18b20温度传感器进行。 (1)与单片机连接线路图图3-4 温度传感器接线图(2)ds18b20操作流程图图3-4 ds18b20 操作流程图3.4日期,闹钟产生部分-ds12c887. ds12c887有两种工作模式:intel和motorola。至于具体选用哪一种模式,有mot脚的接线有关。当mot接vcc时,选用motorola模式。当mot接gnd时,选用intel模式。该系统采用的是intel模式,所以mot接地。由于该芯片在出厂时,厂家为了节约电能,使其工作较长时间,片内的振荡器是关闭了的,所以首次上电操作时,需要写入打开振荡器的命令。命令地址指令码打开振荡器0x0a0x20设置24小时模式,二进制数据,开启闹铃中断0x0b0x26(1)与单片机连接线路 图3-5与单片机连接图(2)闹钟与外部中断。 由于当中断发生时,irq一直持续为低电平,所以闹钟时间到时,irq为浮跳变沿触发方式,于是,可以选用单片机的int1端与之相连接,并设置为外部中断,负跳变沿触发方式。当闹钟时间到时,通常通过读取c寄存器来清除irq的引脚输出。(3)时间设置流程时间设置按s4?光标到秒(分或时或星期或日或月或年)按s2?按s4?按s3?对象加1对象减1光标到下一对象有下一对象?保存修改后的数据,屏幕显示到主界面图3-6 时间设置流程图(3)闹钟设置流程闹钟设置流程与时间设置流程相似。3.5录音与语音报时模块-isd4004(1)与单片机连接线路 图3-7 录音芯片与单片机连接线路图注:由于录音芯片的电源有两个,一个是模拟电源,一个是数字电源。地线也有两个,一个是模拟地,一个是数字地。在搭线的时候,采用一个电源供电,模拟电路与数字电路分开接线,最后模拟地与数字地通过一个零欧姆的电阻相接。(2)spi(串行外设接口) isd 4004系列语音芯片工作于spi串行接口。spi协议是一个同步串行数据传输协议,i协议设定微控制器的spi移位寄存器在sclk的下降沿动作,因此对isd4004而言,在时钟上升沿锁存mosi引脚的数据,在下降沿江数据送至miso引脚。具体内容如下 a所有串行数据传输开始于ss下降沿。bss在传输期间必须保持低电平,在两条指令间保持高电平。c数据在时钟的上升沿移入,在下降沿移出。dss遍地,输入指令和地址后,isd才能开始录、放操作。e指令格式是(8为位控制码)加(16位地址码)。(3)语音芯片录音操作流程图录音界面按s4?执行录音操作按s4?停止录音,并显示录音的开始与结束地址,方便查找。(再按s4回主界面)图3-8 录音操作流程图(4)语音报时功能中所用字的存储地址字零一二三四五六七八九十点分地址170200230260290320350380410440470500530注:为了避免系统所报时间尽可能与当前时间相符,故只报到“分”。该功能是事先将上述表格中字的语音存入相应地址,当启动报时功能时,单片机通过读取当前的时与分,再将其分割成几个字,通过每个字对应的地址,将其剪接成一句话,故而实现语报时功能。下图为程序操作流程图:开始读取时十位为0?放个位语音个位为0?放个位语音放“十”语音放十位语音放“时”语音读取分十位为0?放个位语音个位为0?放个位语音放“十”语音放十位语音放“分”语音结束图3-9 语音报时程序操作流程图3.6语音放大电路-lm386(1)连接线路图图3-10 语音放大电路连接图(2)lm386使用注意事项apcb设计时,所有外围元件尽可能靠近lm386;地线尽可能粗一些;输入音频信号通路尽可能平行走线,输出亦如此。这是死理,不用多说了吧。b尽可能采用双音频输入/输出。好处是:“+”、“”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。c减少输出耦合电容。此电容的作用有二:隔直+耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率(fc=1/(2*rl*cout))提高。分别测试,发现10uf/4.7uf最为合适,这是我的经验值。3.7计时与定时器-定时器0,1 该数字时钟的计时与定时功能主要用了单片机的定时器0和1.采用的是方式一。首先给定时器装入初值thx=(65536-50000)/256,tlx=(65536-50000)%256。(x=0,1)下表为工作方式选择:下图为方式一逻辑框图:图3-11定时器方式一逻辑结构图下面为tmod格式3.8 其他(1)由于语音芯片的工作电压是3v,而单片机的工作电压时5v,所以为了使两者都工作在正常的电压状态,最简单又最经济的方法是有vcc接三个整流二极管然后接录音芯片的电源。由于整流二极管的导通电压约为0.7v,三支二极管就约为2.1v,所以刚好接近录音芯片的工作电压。图3-12 降压模块(2)由于键盘具有一定的弹性,在按下的瞬间会有几ms的抖动,这就会影响单片机的判断。为了使系统工作稳定,必须采用消抖处理。常用的方法有硬件消抖和软件消抖,硬件消抖可采用锁存器,软件消抖可采用延时函数。本设计采用的是软件消抖,利用的是单片机的延时函数,一般延时5-10ms即可。(3)蜂鸣器电路。每当有按键按下时,蜂鸣器都会发出声音,一以提示有按键按下。图3-13 蜂鸣器电路 3.9系统总的原理图 图3-14 数字时钟部分原理图图3-15录音部分原理图3.10系统总的程序设计流程图主界面(显示日期)按s2?按s3?按s1?按s4?按s4?放音语音报时屏幕显示“wen du”测温并显示按s1?屏幕显示“ji shi”按s4?屏幕显示“00:00:00”按s4?开始计时按s4?停止计时按s4?按s1?屏幕显示“dingshiqi”按s4?屏幕显示“00:00:00”设置时间,时间到了则回主菜单按s1?屏幕显示“luyin”按s4?屏幕显示start录音结束?屏幕显示录音的开始与结束地址按s1?屏幕显示“naozhong”按s4?进入闹钟设置状态按s1?屏幕显示“settime”按s4?进入时间设置页面按s1?图3-16 系统程序流程图第四章仿真与调试4.1仿真(1)仿真电路图图4-1 系统仿真电路图注:由于proteus中没有isd4004系列的语音芯片,所以仿真只能做到数字时钟部分(2)仿真过程中出现的问题及解决方法a在proteus中,没有isd4004芯片,所以无法进行仿真,这个只能靠做出硬件来。b仿真过程中,计时部分没有按照设计的要求进行,检查了很久,才发现软件编写过程中,定时器那一部分的程序出了问题c在时钟芯片的连接中,ds12c887的数据端采用了总线引出。在仿真的过程中由于刚开始没有在总线上标注“ad0.7”,导致了仿真结果无法与设计的相符合。刚开始以为是程序问题,后来改了很久还是不见效果。于是上网百度。找了很久,才找到了问题的所在。图4-2 仿真问题二4.2调试过程 (1)在调试数字时钟时,由于覆铜板的质量差,导致上电后电路不通,于是我又给整个pcb板镀上了一层焊锡,到最后电路才通了。 附录一:pcb

温馨提示

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

评论

0/150

提交评论