多功能数字钟的设计与制作.docx

上传人:夺命阿水 文档编号:845889 上传时间:2023-12-24 格式:DOCX 页数:69 大小:315.09KB
返回 下载 相关 举报
多功能数字钟的设计与制作.docx_第1页
第1页 / 共69页
多功能数字钟的设计与制作.docx_第2页
第2页 / 共69页
多功能数字钟的设计与制作.docx_第3页
第3页 / 共69页
多功能数字钟的设计与制作.docx_第4页
第4页 / 共69页
多功能数字钟的设计与制作.docx_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《多功能数字钟的设计与制作.docx》由会员分享,可在线阅读,更多相关《多功能数字钟的设计与制作.docx(69页珍藏版)》请在课桌文档上搜索。

1、多功能数字钟的设计与制作摘要:本数字钟采用STC89c58RD+单片机作为主控制器,结合温度传感器DHTI1、时钟芯片DS1302、语音芯片ISD4004,来实现温度湿度测量、闹钟、秒表、倒计时、12时制24时制转换、报时到分和显示年、月、日、时、分、秒的功能。而在显示方面采用了LCD12864液晶显示。由于本设计需要庞大的程序控制,因此软件程序均采用C语言编写,便于移植与升级。关键词;单片机控制;数字钟;STC89c58RD+;DS1302;ISD4004;DHTl1;LCDl2864Multi-functiondigitalclockdesignandproductionAbstract:

2、ThedigitalclockusesSTC89c58RD+microcontrollerasthemaincontroller,withtemperaturesensorDHT11,clockchipDS1302,andtheamplifierchipISD4004,toachievethetemperatureandhumiditymeasurements,alarmclock,stopwatch,countdown,12-hour24-hourconversion,timekeepingtopointsanddisplayyear,month,day,hour,minuteandseco

3、ndfunctions.ThetermsusedinthedisplayLCD12864liquidcrystaldisplay.Asthedesignrequiresalargeprocesscontrol,softwareprogramsarewrittenusingClanguageforeasymigrationandupgrades.KeyWordszmicrochipcontrol;DigitalClock:STC89c58RD+;DS1302;ISD4004;DHTl1;LCD12864目录1背景与意义11.1 背景借误!未定义书签.1.2 意义错误!未定义书签.1.3 功能介绍

4、22方案比拟与论证32.1 设计任务与要求32.2 方案比拟与论证33系统硬件设计53.1 总体电路框图53.2 单元电路设计5单片机模块5时钟模块9温湿度采集模块12语音模块15液晶显示模块19按槌模块234系统软件设计244.1 总体软件框图244.2 各模块程序设计254. 2.1时钟驱动模块255. 2.2温湿度采集数据模块266. 2.3液晶驱动程序SS7. 2.4语音控制程序305系统调试与测试315.1 硬件调试315.2 软件调试316设计总结32致谢32参考文献33附录M附录A:电路图34附录B:程序清单35多功能数字钟的设计与制作1背景与意义Ij背景20世纪末,电子技术获得

5、了飞速的开展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的开展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么珍贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向开展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面开展。下面是单片机的主要开展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方

6、法。从前必须由模拟电路或数字电路实现的大局部功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.2意义数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的开展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活

7、带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时播送、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为根底的。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的开展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。目前家用的数字电子钟,多数只能显示小时

8、、分钟等信息,功能单一,而且大都采用LED数码管作为显示器件,功耗大,不能令消费者满意。为此,我设计了一款多功能语音数字钟,它可以显示年、月、日、小时、分钟、秒钟、星期等时间信息,可以进行12时制与24时制转换功能,同时可以显示环境的温度和湿度信息。还具有按键调节时间,语音实时报时到分,秒表,倒计时和5路闹钟设置功能。时钟采用LCD作为显示器,界面友好。1.3功能介绍液晶屏供可以显示5个页面,初始化时显示页面1。其包括第一行显示年、月、日。第二行显示时、分、秒、时制(12时制那么有AM和PM显示,24时制那么没有)。第三行显示湿度和温度。第四行显示星期。按Model键切换成设置模式,按一下Mo

9、del键液晶屏显示页面2为时间设置,按Sel键后,通过左键、右键、加键和减键就可以对包括年、月、日、时、分、秒、星期和时制的时间参数进行设置,设置完后再按Set键就可以保存设定的时间参数。按两下Model键液晶屏显示页面3为闹钟设置,可同时设置不同的5路闹钟,其中,每路闹钟还有模式选择,包括星期一、星期二、星期三、星期四、星期五、星期六、星期日、工作日、周末日和每天。按Set键后,通过左键、右键、加键和减键就可以对包括闹钟时间、闹钟状态(开或关)、闹钟路数、闹钟模式的设置。设置完后再按Set键就可以保存设定的闹钟参数。按三下MOdel键液晶屏显示页面4为秒表设置,秒表计时包括时、分、秒及千分秒

10、。按Set键清零,按加键或减键那么开始和暂停。按四下Model键液晶屏显示页面5为倒计时设置,倒计时计时同样包括时、分、秒及千分秒。按Set键后通过左键、右键、加键和减键进行倒计时时间设置,设置完后再按Set键就可以保存设定的倒计时时间参数。此时加键或减键是倒计时的开关,按一下开始倒计时,再按一下暂停倒计时;按左右键倒计时清零。在液晶屏显示页面1时,按一下Set键,数字钟会进行24时制的实时报时到分的功能。2方案比拟与论证2.1 设计任务与要求实现根本的时钟显示,包括年、月、日、时、分、秒、星期的显示。2.1.2实现时间的2时制与24时制的转换实现当前环境温度湿度的测量实现闹钟功能实现秒表和倒

11、计时功能实现实时报时到分的功能2.2 方案比拟与论证方案一:采用AT89C51为主控器件,结合温度采集模块DS18B20.时钟芯片DS1302、语音芯片ISD4004和蜂鸣器也可以实现显示时间显示,也还可以实现闹钟,秒表,倒计时和报时功能。在显示方面采用LED点阵显示。但是多功能数字钟主要是以程序控制为主,要实现以上功能需要大量的程序,51单片机的内存比拟小,一方面可能容纳不了这么多程序;另方面,即使容纳的了这么多的程序,也必然会影响数字钟的运行速度,甚至可能卡机。同时,采用DS18B20检测温度有点大材小用,生活上的温度测量并不需要非常的精确。而且,此方案选择LED点阵显示,必然使得制作时焊

12、接麻烦,工程量大,同时还会是数字钟需要很大的功耗。无论是从产品质量还是环保方面,此方案都不是很理想的。以下图为方案一的方框图:温度检测DS18B20时钟芯片DS1302单片机AT89C51;LED显示)|蜂鸣器语音芯片ISD4(X)4图2.2.1方案一方框图方案二:采用单片机STC89c58RD+为主控器件,结合温湿度传感器DHTl1、时钟芯片DS1302、语音芯片ISD4004和蜂鸣器来可以实现显示包括年、月、日、时、分、秒、星期等时间显示,也还可以实现闹钟,秒表,倒计时和报时功能。在显示方面采用LCDI2864液晶显示屏显示。58单片机具有更大的内存,对于设计像这样大程序的器件是非常适宜的

13、。温湿度采集方面采用温湿度传感器已经很够用了,而显示采用LCDI2864液晶显示屏显示,减少了很多的焊接工作,同时电路还更稳定,性能更好,更节能。以下图为方案二的方框图:温湿度传感器_1-液晶显不屏DHTIIIZ品VLCD12864单片机STC89c58RD时钟芯片/fDS1302SM/蜂鸣器语音芯片/-/ISD4004图方案二方框图通过方案一与方案二的比拟,很明显方案二做出来的产品性能更好,更稳定,更经济。在实现相同功能下,方案二会是一个更好的设计。所以我的设计采用的方案二的设计思路。3系统硬件设计3.1 总体电路框图图3.1总体电路框图3.2 单元电路设计单片机模块.1STC89c58RD

14、+单片机简介STC89C58RD+是一种低功耗高性能的8位单片机,STC89C58RD+系列是全球第一片掉电模式时典型功耗小于O.IuA的8051单片机。片内带有一个32k字节的FIaSh可编擦除只读存储器(PEROM),它采用了CMoS工艺和STC(宏晶)公司的高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统和MCU-51系列单片机兼容。片内的FIaSh存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程。同时它具IEf三级程序存储器保密的性能。在众多的51系列单片机中,要算STC(宏晶)公司的STC89C58RD+最实用,因为它不仅和MCU-51系列单片机指令

15、、管脚完全兼容,而且它支持ISP(在系统可编程),无需高价的编程器,可轻松通过串口实现程序下载和远程升级,加上其片内的32k程序存储器是Flash工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。此外,它有1280字节的RAM,8K以上的E2PR0M,内置看门狗。在ISP下载编程时就可以任意设置6时钟/机器周期或12时钟/机器周期,STC单片机ISP引导码出厂时已有,不需要用户烧录。该单片机对开发设备要求很低,开发时间也大大缩短。单片机出厂时已完全加密,无法解密,其DlP封装引脚如图1所示图.1STC89c58RD+单片机2单片机引脚功能特点:1.增强型6时钟/机器周期,12时钟/机器

16、周期8051CPU2 .工作电压:5.5V-3.4V(5V单片机)/3.8V-2.OV(3V单片机)3 .工作频率范围:0-40MHz,相当于普通8051的080MHz.实际工作频率可达48MHz.4 .用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节5 .片上集成1280字节/512字节RAM6 .通用I/O口(32/36个),复位后为:Pl/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)PO口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。7.1 SP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过

17、串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片8 .EEPROM功能9 .看门狗10 .内部集成MAX810专用复位电路(D版本才有),外部晶体2OM以下时,可省外部复位电路11 共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用12 .外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒13 .通用异步串行口(UART),还可用定时器软件实现多个UART14 .工作温度范围:0-75/-40-+85C15 .封装:PDIP-40,PLCC-44,LQFP-4.3单片机设计原理图介绍:系统采用STC89c58

18、RD+单片机作为控制核心。STC89c58RD+单片机与MCS_51系列单片机产品兼容,采用了FIaSh存储器结构,可以在线下载程序,易于日后的升级。图3主要负责各个模块的初始化工作;设置定时器、存放器的初值:读取并处理时间、温度等信息;处理按键响应;控制液晶实时显示。图.1单片机硬件原理图主控单片机硬件电路连接如图3.2.1所示。其只要负责对温湿度传感器DHTll的温度湿度采集处理和显示,对时钟ICdsl302时钟信息提取并显示和写入需要设置的时间数据到dsl302指定的存放器里。其中由Cl,C2和Yl组成单片机时钟电路,其中系统采用11.0592M晶振;由RST,C3,Rl组成按键电平复位

19、电路。如有图所示。为了增强Po口的驱动能力,故在接口处接上PO,IOK的上拉电阻。Po口为单片机与液晶显示器通信的数据端口;图2按键电平复位电路P25,P26,P27连接液晶显示器的控制信号端口;P10,PU,P12为单片机与时钟芯片DS1302通信的连接端口;Pl.5为单片机连接温湿度传感器DHTll的通信端口;P30P35为连接按键模块的接口。时钟模块.1DS1302简介DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过A

20、M/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于lmWDS1302是由DS1202改良而来增加了以下的特性双电源管脚用于主电源和备份电源供给Vccl为可编程涓流充电电源附加七个字节存储器它广泛应用于便携式仪器以及电池供电的仪器仪表等.2各引脚的功能:产品领域下面将主要的性能指标作一综合: 实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力 3

21、18位暂存数据存储RAM 串行I/O口方式使得管脚数量最少 宽范围工作电压2.05.5V 工作电流2.OV时,小于300nA 读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式 8脚DlP封装或可选的8脚SolC封装根据外表装配 简单3线接口 与 TTL 兼容 Vcc=5V 可选工业级温度范围-40 +85 与DS1202兼容 在DS1202根底上增加的特性对Vccl有可选的涓流充电能力一双电源管用于主电源和备份电源供给-备份电源管脚可由电池或大容量电容输入一一附加的7字节暂存存储器1. DS1302的根本组成和工作原理DS1302的管脚排列及描述如以下图及表所示管脚配置

22、_VCC2 口 1 = 8 口VcClXlq 27 SCLKX2 36 I/OGND 45 RSTDSI302 8-PIN DIP (300 MIL)Vcc2 DT 18mVcclX1 27 mSCLKX2r 36 in9GND T 4AERlT管脚描述XlX232.768KHz晶振管脚GND地RST复位脚I/O-一数据输入/输出引脚SCLK串行时钟Vccl, Vcc2电源供电管脚订单信息 局部# 描述DS1302串行时钟芯片8脚DIPDS1302S串行时钟芯片8脚SOICDS1302Z串行时钟芯片8脚SOIC2. DS1302内部存放器CH:时钟停止位CH=O振荡器工作允许CH=I振荡器停止

23、WP:写保护位WP=O存放器数据能够写入WP=I存放器数据不能写入TCS:涓流充电选择TCS=IOlO使能涓流充电TCS=其它禁止涓流充电DS=OO 或 11, 即使 TCS=Io10,图.1 DS1302管脚图(200mil)(150mil)存放器2的第7位12/24小时标志bit7=lf 12小时模式bit7=0, 24小时模式存放器2的第5位:AM/PM定义AP=I下午模式AP=O上午模式DS:二极管选择位DS=Ol选择-个二极管DS=Io选择两个二极管充电功能也被禁止A、时钟B、RAM.3DS1302原理图设计介绍图.2DS1302原理图电路原理图如图,DS1302与单片机的连接也仅需

24、要3条线:RST引脚、SCLK串行时钟引脚、I/O串行数据引脚,由C4和Y2组成DS1302时钟振荡电路,提供计时脉冲,其中Y2为32.768MHz。其中SCLK,I/O,RST分别接主控单片机的P1O,P11,P12脚。温湿度采集模块.1DHTIl传感器简介DHTll数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHTIl传感器都在极为

25、精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最正确选那么。产品为4单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。1 .传感器性能说明2 .接口说明图,1接口说明图3 .电源引脚DHTll的供电电压为3-5.5V。传感器上电后,要等待Is以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。4 .串行接口DATA用于微处

26、理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数局部和整数局部,具体格式在下面说明,当前小数局部用于以后扩展,现读出为零操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据所得结果的末8位。i温度整数数据+8bit温度小数数据所得结果的末8位。用户MCU发送一次开始信号后,DHTll从低功耗模式转换到高速模式,等待主机开始信号结束

27、后,DHTll发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取局部数据.从模式下,DHTll接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHTll不会主动进行温湿度采集.采集数据后转换到低速模式。5 .测量分辨率(湿度)测量分辨率分别为8bit(温度)、8bit6 .电气特性7 DD=5V,T=25,除非特殊标注P2DHTll原理图注:采样周期间隔不得低于1秒钟。.2DHTll原理图简介右图为温湿度传感器DHTll的硬件原理图其中1脚为电源脚,2脚连接到单片机P15脚,将数据传送到单片机中。语音模块.1ISD4004简介ISD系列语音芯片是美国ISD

28、公司推出的产品。该系列语音芯片采用多电平直接接模拟存储(ChipCorder)专利技术,声音不需要A/D转换和压缩,每个采样值直接存储在片内的闪烁存储器中,没有A/D转换误差,因此能够真实、自然地再现语音、音乐及效果声。防止了一般固体录音电路量化和压缩造成的量化噪声和金属声。ISD4004语音芯片采用CMOS技术,内含晶体振荡器、防混叠滤波器、平滑滤波器、自动静噪、音频功率放大器及高密度多电平闪烁存储阵列等(见图1),因此只需很少的外围器件就可构成一个完整的声音录放系统。芯片设计是基于所有操作由微控制器控制,操作命令通过串行通信接口(SPl或MiCrOWire)送入。采样频率可为4.OHz、5

29、.3Hz、6.4Hz、8.OkHz,频率越低,录放时间越长,而音质那么有所下降。片内信息存于内烁存储器中,可在断电情况下保存100年(典型值)反复录音10万次。器件工作电压3V,工作电流2530mA,维持电流IuA?单片录放语音时间816min,音质好,适用于移动机及其它便携式电子产品中。ISD4004系列芯片引脚图如图2所示。同相模拟输入(ANAIN+)-这是录音信号的同相输入端,输入放大器可用单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3kC输入阻抗决定了芯片频率的低端截止频率。在差分驱动时,信号最大幅度为峰峰值16mV。反相模拟输入(ANAN

30、-)-差分驱动时,这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV,本端的标称输入阻抗为56kQ,单端驱动时,本端通过电容接地。两种方式下,ANAIN+和ANAIN-端的耦合电容值应用相同。音频输出(AUDOUT)-提供音频输出,可驱动5kQ的负载。串行输入(MOSI)-此为单行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。串行输出(MISO)ISD-串行输出端,ISD未选中时,本端呈高阻态。串行时钟(SCLK)-ISD的时钟输入端,由于控制器产生,用于同步MoSl和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。

31、中断(INT)-本端为漏极开路输出,ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持,中断状态在下一个SPl周期开始去除,中断状态也可用RrrN指令读取。行地址时钟(RAC)-漏极开始输出。生个RAC周期表示ISD存储器的操作进行了一行(ISD4004系列中的存储器有2400行)。8kHz采样频率的器件,RAC周期为200ms,其中175ms保持高电平,低电平为25ms。快进模式下,RAC为218.75US高电平,31.25US为低电平,该端可用于存储管理技术。外部时钟(XCLK)-本端有内部下拉元件,芯片内部的采样时钟在出厂前已调校,误差在+r内,在不外接时钟时,此端必须

32、接地。自动静噪(AMCAP)TUF电容构成内部峰值检测电路的一局部,检测出的峰值电平与内部设定的阈值作比拟,决定自动静噪电路的工作与否。大信号时自动静噪电路不衰减,静音时衰减6dB。同时,1UF电容也影响自动静噪电路时信号幅度的响应速度,本端接VCCA那么禁止自动静噪。OVF标志指示ISD录放操作已到达存储器的末尾。EOM标志只有放音过程中检测到内部的EoM标志时,此状态位置1,如图3所示。以以下举了几种对ISD器件进行操作进的批令次序。信息快进。用户不必知道确切的地址,就能快地跳过一条信息。信息快进只用于放音模式。放音速度是正常的1600倍,遇到EOM后停止,内部地址计数器加1,并接下条信息

33、开始处。上电顺序。器件延时TPuD(8kHz)采样时,约25ms后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。例如从00处放音,应遵循如下时序:发POWerUP命令;等待TPUD(上电延时);发地址值为00的SETPLAY命令;发PLAY命令。器件会从00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处录音,那么按以下时序:发POWerUP命令;等待TPUD(上电延时);发powerUP命令;等待2倍TPUD;发地址值为00的SETREC命令;发REC命令。器件便从00地址开始录音,一直到出现OVF(存储器末尾),录音停止。.2ISD4004硬

34、件原理图简介图.1ISD4004原理图图.2ISD4004供电电路电路原理图如图.1所示,整个电路由单片机控制液晶显示模块.1LCD12864简介YM12864是内带中文字库的液晶屏,显示界面有4行,总共可显示32个汉字。其引脚和YM1602兼容。可显示中文,ASCIl码,和自定义的字库,具有图形显示功能。文字显示时,文字符或2个16X8点阵全高ASCIl码字符,即每屏最多可实现32个中文字符或64个ASCIl码字符的显示。LMG-SSCI2K64内部提供1282字节的字符显示RAM缓冲区(DDRAML字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上

35、显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:OOoO0006H(其代码分别是0000、0002,0004,0006共4个)显示自定义字型,02H7FH显示半宽ASCII码字符,AIAoHF7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H-9FHo字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如下表所示。1.CDl2864液晶引脚图如以下图17所示:1.CD12864引脚说明:VSS:模块的电源地VDD:模块的电源正端VO:LCD驱动电压输入端RS

36、(CS):并行的指令/数据选择信号;串行的片选信号串行的数据口图.1 LCD12864液晶屏R/W(sid):并行的读写选择信号;DBO-DB7:数据接口PSB:并/串行接口选择;NC:空脚RET:复位,低电平有效1.ED_A:背光源正极1.ED_K:背光源负极1.CDl2864硬件构成说明如以下图18所示:图.2LCD12864内部结构IC3为行驱动器。ICl,IC2为列驱动器。ICl,IC2,IC3含有以下主要功能器件。1指令存放器(IR)IR是用于存放指令码,与数据存放器数据相对应。当D/I=O时,在E信号下降沿的作用下,指令码写入IR。2数据存放器(DR)DR是用于存放数据的,与指令存

37、放器存放指令相对应。当DI=0时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下有DR读到DB7DBO数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。3忙标志:BFBF标志提供内部工作情况。BF=I表示模块在内部操作,此时模块不能接受外部指令和数据。BF=O时,模块为准备状态,随时可接受外部指令和数据。利用STATUSREAD指令,可以将BF读到DB7总线,从检验模块之工作状态。4显示控制触发器DFF次触发器是用于模块屏幕显示开和关的控制。DFF=I为开显示,DDRAM的内容就显示在屏幕上,DFF=O为关显示。DDF的状态是指令DISPLAYON/OFF和RST信号

38、控制的。5XY地址计数器XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。X地址计数器没有记数功能的,只能用指令设置。Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63,6显示数据RAM(DDRAm)DDRAM是存储图形显示数据的。数据为1便是显示选择,数据为0表示显示非选择。7Z地址计数器Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行

39、扫描数据,RST复位后Z地址计数器为。Z地址计数器可以用指令DISPLAYSTARTLINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。.2LCD12864原理图简介下面是LCD12864的硬件连接原理图如图.2所示:图.3液晶屏原理图我设置单片机驱动LCD12864采用并行方式,RS,RW,EN分别接主控单片机的P25,P26,P27脚,DB0-DB7接到主控单片机的PO数据接口。按键模块图按键原理图我设计了6个按键作为输入键盘,其中Sl是Set键,在设置模式下,按一下Sl就可以对参数进

40、行设置;同时假设是在页面1时按一下Sl,那么数字钟会进行实时报时。S2是左键,设置参数时是选位键,每按一次,相应的选择上一位。S5为右键,同样是在设置参数时的选位键,每按一次,相应的选择下一位。S4是减键,是对被选中位数据进行减LS3为加键,是对被选中位数据进行加1。S6那么是ModeI模式选择键,没按一下,就进入下一页面。4系统软件设计控制字的最高有效位(位7)必须是逻辑1,如果它为0,那么不能把数据写入到DS1302中。*C)位6:如果为0,那么表示存取日历时钟数据,为1表示存取RAM数据;位5至位1(A40):指示操作单元的地址;位0(最低有效位):如为0,表示要进行写操作,为1表示进行

41、读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如以下图22所示:图22DS1302读写时序图主要驱动程序见附录。温湿度采集数据模块图.1温湿度传感器DHTIl其通讯过程入以下图所示:图.2通讯过程总线空闲状态为高电平,主机把总线拉低等待DHTll响应,主机把总线拉低必须大于18毫秒,保证DHTll能检测到起始信号。DHTll接收到主机的开始信号后,等待主机开始信号结束,然后发

42、送80us低电平响应信号主机发送开始信号结束后,延时等待20-4OUS后,读取DHTll的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。总线为低电平,说明DHTIl发送响应信号,DHTll发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,那么DHTll没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHTIl拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。图.3数字0信号表示方法图.4数字1信号表示方法.主要驱

43、动程序见附录。液晶驱动程序:1.CD12864提供两套控制指令,根本指令和扩充指令如下:根本指令:扩充指令:当LCD在接受指令前,单片机必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。下面是LCD12864的读写时序如以下图26所示:写LCDI2864程序时还要注意,%兼也翠能.速蕊文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。显示ASCH字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由

44、模块自动对地址加1指向下一个字符位置,否那么,显示的字符中将会有一个空ASCH字符位置。当字符编码为2字节时,应先写入高位字节,再写入低位字节。模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为0,方可接受新的指令。如果在送出一个指令前不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。指令执行的时间请参考指令表中的指令执行时间说明。RE为根本指令集与扩充指令集的选择控制位。当变更“RE后,以后的指令集将维持在最后的状态,除非再次变更RE位,否那么使用相同指令集时,无需每次均重设RE位。具体驱动程序见附录。语音控制

45、程序整个程序包括主程序和中断子程序两局部。单片机提供了用户键盘、显示和ISD4004所需接口。它接收击键功作,并将相应指令传给ISD4004,同时监控ISD4004的中断输出。当开关KS闭合(KS=I)时,读取ISD4004的状态存放器,从而根据OVF和EOM的状态进行相应的处理。当OVF=1,即存储器溢出时,那么不管当前为何种状态均将ISD4004的地址置零,并继续运行原指令;当EOM=I时,当前状态只可能为放音或快进,假设为快进那么置为放音态,并继续运行。如此设计便实现了循环录放的功能,同时在快进时,自动停止在下一个语音段开始处,并继续放音。中新程序流程图所示图中断程序流程图我现在设计的是

46、实时报时到分,如果单纯的按照一次报时就录一次音,那么要录1440次。如此庞大的工作量对于毕业设计短短几个月的时间显然是不够的,况且录音太多容易产生地址错乱,很难调试。因此我采用了数组的录音方式,下面是我的录音方式:按照现在是北京时间ab:cd来报时,每一次报时先从第一组录音里取出录音内容,然后a、b分别从第二组录音和第三组录音里取出组合成时数,再从第四组录音里取出“点,c、d又从第二组和第三组录音里取出合成分数,最后再加上第四组录音的“分。如此就可以报时了。5系统调试与测试5.1 硬件调试在电路板做出来是确实是遇上了一些问题,大概有一下几个问题:(1)在电路板腐蚀完后发现,由于太粗心画原理图时

47、没有改好引脚,出现有几条连接线没有,最后要用跳线的形式解决。(2)在进行语音调试时,语音芯片不知为何发热烧坏了,这个问题我至今还没存找到答案。(3)之后的几次调试,语音芯片有时会出现程序地址错乱,解决方法是调试时和装机使用时使用相近电压和稳定的电源;特别是时钟芯片dsl302,时间获取时会出现无法正常获取的可能性,解决方法就是加上拉电阻在该芯片的数据传输口。5.2 软件调试软件调试时,主要就是语音调试时,很容易出现程序地址错乱,这应该也是比拟正常的问题,花多点时间,耐心点调试就可以解决的了。6设计总结在这次整的设计过程中,我充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了作品,到达了预期的目的,完了最初的设想。但是在复原理图时由于粗

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号