基于单片机具有语音提示的LCD电子时钟_第1页
基于单片机具有语音提示的LCD电子时钟_第2页
基于单片机具有语音提示的LCD电子时钟_第3页
基于单片机具有语音提示的LCD电子时钟_第4页
基于单片机具有语音提示的LCD电子时钟_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、(I藏道职业技术基于单片机,1760语音模块的液晶LCD时钟级:智能电子111学生姓名:欧阳志勇 完成日期:2013年5月湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇5摘要我设计的LCD时钟温度系统是由中央控制器、温度检测器、时钟 系统、语音模块丄CD液晶显示器及键盘部分组成。控制器采用单片机AT89C52温度检测部分采用DS18B20温度传感器,时钟系统用时钟芯片DS1302用LCD液晶12864作为显示器,用语音模块1706构成 报警器。单片机通过时钟芯片 DS1302获取时间数据,对数据处理后显示时间;温度传感器DS18B20采集温度信号送该给单片机处理;单片机再把时间数

2、据和温度数据送液晶显示器LCD2864显示,键盘是用来调时,调闹钟,调显示时间,播放铃声。语音模块用来播放铃声;关键字:单片机 LCD液晶DS18B20DS1302LCD12864语音1760;设计目的及意义1.随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、 科研、生活、提供更好的更方便的设施就需要从数单片机技术入手, 一切向着数字化控制,智能化控制方向发展。本设计是数据采集及处理,键盘控制,显示系统及报警系统与单 片机有效结合,意义:本设计是通过在“单片机原理及应用”课堂上学习的知识 的综合应用,以及查阅资料,并且引导一种创

3、新的思维,把学到的知 识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学 间的相互讨论,运用科学的分析问题的方法解决遇到的困难, 掌握单 片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综 合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实 的基础。二、方案设计及方案论证1.时钟温度的总体设计思路按照系统的设计功能要求,本时钟,铃声,温度系统的设计必须 采用单片机软件系统实现,用单片机的自动控制能力配合按键控制, 来控制时钟、温度的调整,闹铃及显示。获得时钟温度数据信息,单 片机对其进行一系列的处理,最后

4、通过液晶显示出来。2.时钟温度系统方案论证2.1时钟系统方案选择方案1:通过单片机内部的定时器/计数器,用软件实现,直接用单片机的定时器编程以实现时钟;方案2:用专门的时钟芯片实现时钟的记时,再把时间数据送入单片机,由单片机控制显示。虽然用软件实现时钟硬件线路简单,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响记时的准确度,对定时器定 时也不是十分准确,时钟精度很低,对于我们实现所需要的功能造成软件编程非常复杂。用专用时钟芯片硬件成本相对较高, 但它的精度很高,软件编程很简单。综上所述,选择方案2。由于它没有内部RAM, 51系列单片机的ROM 52系列单片机与51系列的2.2单片

5、机的选择对于单片机的选择,如果用 8031系列, 系统又需要大量内存存储数据,因而不可用; 为4K,对于我们设计的系统可能有点小; 结构一样,而ROM扩大为8K,对我们设计系统提供充足的空间进行功能的扩展。再有51系列单片机与52系列的单片机价格差不多。因 此,我们选择52系列的单片机。2.3显示系统的方案比较方案1:用数码管或LED显示。方案2:用液晶1602显示。方案3:用液晶12864显示。时钟和温度的显示可以用数码管或 LED而且价格便宜。但是数码管的只能显示简单的设计的系统,与我们设计要求也不相符。有很多东西需要显示,还是用显示功能更好的液晶显示器比较好,它能显示更多的数据,用160

6、2液晶显示数据有限,显示数据的可读性不好,用可以显示汉字的12864液晶显示器还可以增加显示信息的可读性,让人看起来会很方便。2.4报警系统的方案比较方案1:用长鸣的蜂鸣器实现闹钟铃声及温度超限报警。方案2:用喇叭加语音芯片实现闹钟铃声及温度超限报警。成本低, 的功能, 合。2.5温度系统方案选择用喇叭加语音芯片成本也不是很高,声音也不错,用蜂鸣器, 电路结构简单,而且体积小。但功能有限,限于设计所需要 用蜂鸣器和语音结合为最佳选择。 所以我们采用方案1.2结方案1:用热敏电阻等测温元件测出电压,再转换成对应的温度。 需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。方案2:用DS1

7、8B20直接测温。DS18B2(温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。经比较,我们选择方案2。湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇温度实现只能通过外部的温度传感器来实现。经上网查阅及市场考察,DS18b20体积小,只有3只脚,电路接法简单。内部含有寄存 器为我们设计实现上下限报警功能提供保障。精度为0.5 C,也符合我们设计的要求。DS18B2(也是我们通常使用的型号,因此温度传 感器用DS18B202.6键盘控制方案选择方案1:购买集成键盘,采用

8、矩阵形式连接。方案2:购买单个复位开关做成键盘。虽然集成键盘美观,与单片机的接口少,但是它的成本比较高。 单片机的10 口对于我们的设计绰绰有余。通常我们选用价格便宜单 个复位开关做成键盘。3.时钟温度系统总体设计初步确定设计系统由单片机主控模块、时钟模块、测温模块、语 音模块、显示模块、键盘接口模块共6个模块组成,电路系统框图如128641/显示系统DB1820温度采集系 统主控器件AT89C52语音报警系统DS1320时间采集系 统键盘 控制系统三. 硬件设计部分1单片机最小系统电路设计1.1单片机芯片选择单片机采用52系列单片机。由ATME公司生产的AT89C5是一种低 功耗、高性能CM

9、OS位微控制器,具有8K在系统可编程Flash存储器。 使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品 指令和引脚完全兼容。在单芯片上,拥有灵巧的8位CPU和在线系统 可编程Flash,使得AT89C5为众多嵌入式控制应用系统提供高灵活、 有效的解决方案。AT89C5具有以下标准功能:8k字节Flash , 256 字节RAM 32位I/O 口线,看门狗定时器,2个数据指针,三个16位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振 及时钟电路。空闲模式下,CPI停止工作,允许RAM定时器/计数器、 串口、中断继续工作。掉电保护方式下,RA内容被保存,振荡

10、器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且, 它还具有一个看门狗(WDT定时/计数器,如果程序没有正常工作, 就会强制整个系统复位,还可以在程序陷入死循环的时候, 让单片机 复位而不用整个系统断电,从而保护你的硬件电路。AT89C52有 40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编 程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反 复擦写的Flash存储器可有效地降低开发成本。其芯片外观及引脚图如下:T2/FL0匚1SoT

11、2EX/ P1. 1匚239P1. 2 C338P1. 3 匚437P1.4 C536MOSI/Pr 5匚635HIEOZPkC匚734ECI/Pk T 匚333KST匚932RWFM 0匚1031TXD/P3. 1匚1130IITTO/PS. 2匚1223IKT1/P3, 3匚1328T0iZP3. 4匚1421T1/P3. 5匚1526WP3. 6匚1825RB/P3, 7匚1724KTAL2Cle23RTALl匚1922PDIP G 疝匚2021VccPO. 0 /ADOP6.l/ADL PA 2/AD2PO. 3/AD3PO.4ZkD4PO.5ZkD5 PO. 6ZAD6巴 T/AD7

12、 EA/VPP ALE/PROC PESN P2. T/A15 P2.&/A14?2. 5Zkl3 P2.47kJ2 F2.3/All P2. 2ZA10 P2. i9P2.OZkS图 1.1 1图 1.1 21.2单片机管脚说明VCC供电电压。GND接地。P0口: P0口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门流。 当P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时, P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0 外部必须被拉高P1 口: P1 口是一个内部提供上拉电阻

13、的8位双向I/O 口,P1 口缓冲 器能接收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可 用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部 上拉的缘故。在FLAS编程和校验时,P1 口作为第八位地址接收。P2口: P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可 接收,输出4个TTL门电流,当P2口被写“ 1”时,其管脚被内部上拉 电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低, 将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器 或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在 给出地址“ 1”时,它利

14、用内部上拉优势,当对外部八位地址数据存 储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH 编程和校验时接收高八位地址信号和控制信号。P3口: P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出 4个TTL门电流。当P3口写入“ 1”后,它们被内部上拉为高电平,并 用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL) 这是由于上拉的缘故。P3口也可作为AT89C52勺一些特殊功能口,如下表所示:管脚备选功能P 3.0 RXD(串行输入口)P 3.1 TXD(串行输出口)P 3.2 /INT0(外部中断0)P 3.3 /INT1(外部中断1)P 3.

15、4 T0(记时器0外部输入)P 3.5 T1(记时器1外部输入)9P 3.6 /WR(外部数据存储器写选通)P 3.7 /RD(外部数据存储器读选通)a 号。a号,ALE永冲。如SR1O复位按键OC3R110K复位电路有两种方式:上电复位和按钮复位,我们P3 口同时为闪烁编程和编程校验接收一些控制信RST复位输入。当振荡器复位器件时,要保持 RST却两个机器周 期的高电平时间ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASI编程期间,此引脚用于输入编程脉冲。 在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器 频率的1/6。因此它可用作对

16、外部输出的脉冲或用于定时目的。然而 要注意的是:每当用作外部数据存储器时,将跳过一个 想禁止ALE勺输出可在SFR8E地址上置0。此时,ALE只有在执行MOVX MOV指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器 在外部执行状态ALE禁止,置位无效。口.号。/P SEN外部程序存储器的选通信号。在由外部程序存储器取指 期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时, 这两次有效的/PSEN言号将不出现。/EA/V PP :当/EA保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH,不管是否有内部程序存储器。注意加密方式 1时, /EA将内部锁定为RE

17、SET当/EA端保持高电平时,此间内部程序存储 器。在FLASI编程期间,此引脚也用于施加12V编程电源(VPP。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。1.3单片机最小系统单片机最小系统主要由复位电路,晶振电路,电源等几部分组成。1)复位电路R2lOuFRST200复位电路湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇主要用按钮复位方式。如下图所示:2)晶振电路晶振电路原理图如3-2 :C1XTALl33pFXTAL2C2卄33pF时至中电路3-2晶振模块原理图选取原则:电容选取30pF,晶振为11.0592MHz3)电源AT8

18、9C52单片机的供电电源是5V的直流电,我们直接通过-I11USB电源线供电;我们没有用外部扩展ROM因此EA非4) EA 非/Vpp 脚湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇13/VPP为高电平,即接+5V电源或是悬空,为了简化电路将这个引脚悬空。2时钟系统电路设计2.1时钟芯片选择我们采用具有涓细电流充电能力的低功耗实时时钟电路DS1302它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能。它采用主电源和备用电源双电源供电。它的工作电压范围2.05.5V,在2.2V时,小于300nA。它内部含有31个字节的静态RAM,可提供用户访问。DS1302可

19、以对年、月、日、周日、时、分、秒进行计时,可以达到我们设计的基本的要求。内部的寄存器为我们调时,闹钟定时提供了寄存空间。备用用电源也实现了当系统断电后,时钟仍然可以保持。而且它是串行接口,与单片机通信所需要的接口少。不像DS12887等芯片并行通信需要很多10 口。2.2 DS1302管脚及寄存器说明(1) DS1302的引脚排列Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当 Vcc2 大于 Vcc1 + 0.2V 时,Vcc2给 DS1302供电。当 Vcc2小于 Vcc1时,DS1302由Vcc1供

20、电。因此,我们VCC1用3V的纽扣电池作为备用电源,vcc2用系统电源作为主电源。X1和X2是振荡源,外接32.768kHz晶振。湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/ 命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据 的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中 RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低

21、电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向)。SCLK为时钟输入端。(2) DS1302的寄存器说明DS1302有 12个寄存器,其中有7个寄存器与日历、时钟相关,存放 的数据位为BC码形式。此外,DS1302还有年份寄存器、控制寄存器、 充电寄存器、时钟突发寄存器及与 RA相关的寄存器等。时钟突发寄 存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RA相关的寄存器分为两类:一类是单个 RA单元,共31个,每个单 元组态为一个8位的字节,其命令控制字为C0HHFDH其中奇数为读 操作,偶数为写操作;另一类为突发方式下的 RA寄存器

22、,此方式下 可一次性读写所有的RAM的31个字节,命令控制字为FEH写)、 FFH读)。2.3各位内齐毎存器名读操作取a范761 “T h i 0抄寄孚黠8i)HHI HGO 59CHlOSEC SPf;分挪寄fr器82 HS3H00-5901QMJ1氓小时寄存器84 Htt5H0112 或10wAirEIIHNHH期赛存器SeiHK7HO!-28010 DATEDAT h冃份寄疽耀aanK9H(JI 120010】CMlOVLNft AHNHII01-07打100I)0 1 )ySCH8 UH00-9910 YEARVLAIl表2 DS13O2的日厉、时坤寄存器及其控割宇S曲11DS130时

23、钟电路DS1302时钟电路如下图所示:1DS13O2时名中模块BT1II-3VD1VV J J丄V严丫计丄J_JTGND丄代JJitD3130223HIN414S02 7P2.06PNl5P2.28DS1302与单片机的连接仅需3条线:时钟线SCLK数据线I/O和复位线RST时钟线SCLK与 P2.0相连,数据线I/O与P2.1相连,复位线RST与P2.2相连。由于DS1302是靠涓细电流充电来实现串行输入 输出的,因此,在 SCLK、I/O、 RST线上要加上拉电阻,其中,它们的电流应该在500u1mA之间,若电源为5V,则R约为5k,因此,我 们的电阻R=4.7K但是经过查阅有关资料知道如

24、果 DS1302不是接pO口可以不接上拉电阻,为了节省成本,所以没有接上拉电阻。在单电源与电池供电系统中,vcc1提供低电源并提供低功率的备用电源。Vcc2提供高电源作为芯片供电的主电源。因此,这里vcc1用 3V纽扣电池,VCC2用5V的系统电源。晶振为32.768KHZ接入X1、X2引脚。3温度系统电路3.1温度芯片的选择温度实现只能通过外部的温度传感器来实现。经上网查阅资料及市场考察,DS18b2(体积小,只有3只脚,电路接法简单。它能够直接读出被测温度。内部含有寄存器为我们设计实现上下限报警功能提供保障。用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警

25、条件)的器件;精度为0.5 C,也符合我们设计的要求。DS18B20也是我们通常使用的型号,因此温度传感器用 DS18B203.2 DS18B2(内部结构描述DS18B20S度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM高速暂存RAM的结构为8个字节的 存储器,结构如图4.1所示。头两个字节包含测得的温度信息,第三 和第四字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第五个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨 率。DS18B20X作时按此寄存器中的分辨率将温度转换为相应精度的 数值。该字节各位的定义如图4.2所示。低5位一直为1,

26、TM是测试模式位,用于设置DS18B2(在工作模式还是在测试模式。1字节2字节3字节4字节5字节6字节Ro字节18字节图4.2配置寄存器9字节TH 用户字节1TL用户字节2一 EEROM1 I 14.1高速暂存RAM结构图湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇3.3 DS18b20温度系统电路DS18B2 0系统电路 女口下:dsl8b20温度检测模块-DS18B20有两种接法:一是单线接法即只接QT。这种方法应用它内部的寄生电源,因此在QT上D318B20要用一个MOSFET巴I/O线只接拉到电源上。二是从vdd脚加上电源。方法一适合于远距离温度监控,不需要本地电源。而

27、我们只是设计测温系统,选择方法二就行了,还有 MOSFET极容易烧,我们不用它。Vdd接5V电源,VSS接地,QT与P3.7相连。4语音芯片仃60的介绍;ISD1700是华邦ISD公司2007年新推出的单片优质语音录放电路,该芯片 提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立 &嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。特点: 可录、放音十万次,存储内容可以断电保留一百年-两种控制方式,两种录音输入方式,两种放音输出方式-可处理多达255段以上信息-有丰

28、富多样的工作状态提示-多种采样频率对应多种录放时间-音质好,电压范围宽,应用灵活电特性:-工作电压:2.4V-5.5V,最高不能超过6V 静态电14/湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇(521流:0.5 - 1 A 工作电流:20mAHlu:TOrmi电膏w卜rrZhtiSitJ*05!*anZFZTrTTIS 01700fil/I小Ai+sjlF料M *111It*ilHC11Tt頰皿ItTAtW韬jV_,111700引脚图5键盘控制系统设计按键需要6个,分别实现为时间调整、闹钟调整、时间加减、确认、移位。用单片机的6个I/O 口接收控制信号,其电路图如下:按键模块

29、6个按键的一端与地相连,另一端分别与P 0.0、51_-PB-PB, _SW-PBSS,ISW-PBP0.1、P0.2、P0.3、P0.4、P0.5,按键一按下就输入低电平。6报警提示电路系统设LBI6.1报警电路由蜂鸣器、三SPEA极管、电阻,语音模块等构成电路图如下:与 单 片 机P 3.6M湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇23SJ5253S5SS7语音模快RLAY二P0八播放REC二P0八6录音ERASE二P0八擦除FWD二P 0八4下一曲LCD液晶显示模块7液晶显示系统设计7.1 12864液晶显示电路现在流行低碳生活,节能减排已成为人们处理事情首先想到的问

30、题,所以这个显示的时候背光控制时间为10s左右,同时关背光的时候关掉显示器的电源,降低功耗。湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇四、软硬件调试部分1)软件调试软件调试,我是在keil软件平台和单片机学习板上来完成的。当我写部分程序在keil软件经过调试,开始出现很多错误和警告。通过逐个错误排错及修改。得出下列经验,(1)调用函数最好在头文件中进行申明,主函数写在最后;(2)特别注意一些字母的大小写,一般要用英语文字写,最后对程序进行相应的扩展完善,由于按键不灵敏我们加上声音程序。2)硬件调试硬件调试,我们用万用表,单片机学习板来完成的。首先,我们调试LCD1602显示。

31、我将液晶显示程序下载到单片机内,连好所有的线,通电后,观察显示结果。唉!液晶竟然不显示。我们用万用表测试各连线是否导通及某些点的电压, 竟然有些线路没 连通啊!然后,我们调试DS1302时钟芯片。连上按键模块,液晶显示模块,单片机最小系统,时钟系统,温度系统,连接所有线,通上电 源后,观察到液晶显示能正常显示啦,但有乱码显示。后面我检测 程序出错啦;改正程序后,没乱码啦且能够正常显示啦,然后逐渐 完善功能。整个硬件调试完成啦!五. 总结与体会想到课题以后,讨论整个过程如何实施,以及选择哪个课题进行 设计。在初步方案确定好后,开始研究所需的器材,在列出初稿后, 买好器材,便进入了设计阶段。经过将

32、一个五一的设计,反复地讨论各个环节,反复调试,终于 完成LCD液晶时钟设计。虽然达到设计要求,并完成了一定发挥部分, 但单片机的资源并没完全得到应用。 这是不用单片机学习板,自己动 手制作出来的作品。在本次设计是液晶,单片机,语音,键盘控制的综合应用,其间, 遇到许多困难。我真真正正的意识到,在写程序时,逻辑思维要清晰, 要有好的写程序的层次感,模块化清晰,要有耐心。这 样出错啦,才能及时知道问题出在哪。在以后的学习中,要理论联系 实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此, 程序只有在经常的写与读的过程中才能提高,这就是我在这次设计中 的最大收获。六 使用说明:刚上电;为主

33、页面;S5键为进入菜单;进入菜单:可以调时;设定闹钟;设定你的主页面;调背光显示时间;播放铃声;S6;为确认键加开关背光;但背光灭了时;按下 S6;开背光;倒计时 30s;因为语音模块内存不大;所以就没录语音整点报时啦,内存两首铃声。如果可以买个内存大的语音芯片完全可以改装的更好。功能简介:具有年,月,日,时间,星期,两个闹钟设置功能;整点 报时;温度测量;25湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇f-f27LCD液晶时钟系统设计原理电路图二du沁检sa模绘wSTlan1LCD屈晶显示模垓sti上拉电阻PI AririEiSII71 I1 I I 1 11 Ii i I蜂

34、鸣器报警i 1 討f Iui:Y :LLa 殆-Sas审pll I31b$s检电略WFGI 一 一 一心占 匚二h I口 IJI円戸JI时钟电跻!单片机最小系统1prr-tsr-j忌136黑丸ttl4-u5afrPPPPPPPPR即1 ?.ETl 10 一UDRJVrerm ramn UDMil ftBT IF PT盯 IB M 卉HtALIII型_曲I tPtP 曲! 硏e-j MTH 片4 Tl K $ fflT Pj d EC Pi ?XTr*W XT兀IV,ab PSViV117 IPE11 1 1 1 1D31302时钟模块URnIIP6 I * _ M i脣啊一代討冒冬- ! It

35、ZVitW4思訥. KEV?湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇HETdi】3il-.KTR1i I)2出A规C加 滞263423 薯El 開Jd je17IG15R3Ya309IdjIE 北56Sti| UJSO各个模块子函数void Delayus(UINT8 t)void Delayms(UINT16 t)UINT8 scan_key(void)void Tiao(void) /void Tiem()LSISP科/微妙延时/1ms延时/读按键值调节按键/定时器初始化void JieRi(void) /以下是公历节日void Year(void)/年void Tia

36、oShi(void)/调时函数void TiaoNao(void)/调闹钟函数void TiaoXiu(void)/调休眠函数void sp k_Timer(void)/闹铃void LinSheng(void)/铃声调节Id20湖南铁道职业技术学院电气工程学院 智能电子111班 欧阳志勇void INT0_timeO interrupt 0 II 菜单外部中断 0 函数void timerOO interru pt 1/定时器0定时休眠void led_Timer()II关、开背光UINT8 ZhengShiOII判断整点到否void BaoDian()II整点报时void main(voi

37、d)II主函数47子函数具体内容:#include #include vYB12864ZA.h UINT8 DateTime7;UINT8 dis pstr116=20 年UINT8 dis pstr216=星期UINT8 idata dis pstr39=UINT8 idata dispstr416=菜单 S5UINT8 idata dis pstr916= 闹 1UINT8 idata dispstr1016= 闹 2UINT8 idata dis pstr1116=显示时间UINT8 code dis pstr512= S调时间UINT8 code dis pstr612= S调闹钟日1

38、.51.;1.UINT8 code dis pstr716= S调显示时间UINT8 code dispstr814= S播放歌曲;UINT8 idata dispstr126=铃声;UINT8 idata dispstr136=铃声;UINT8 code lin114= S1放音 PLAY ;UINT8 code lin215= S下一曲 FWD ;UINT8 code lin313= S录音 REC ;UINT8 code lin416= S擦删 ERASE ;UINT8 code LCD112=元旦节快乐 ;UINT8 code LCD212=世界湿地日;UINT8 code LCD31

39、2=世界气象日;UINT8 code LCD412=0 际妇女节 ;UINT8 code LCD512=中 国植树节 ;UINT8 code LCD614=消 费者权益日;UINT8 code LCD710=世界水日;UINT8 code LCD812=愚 人节快乐UINT8 code LCD912=中 国清明节UINT8 code LCD1012=世界地球日UINT8 code LCD1112=S 际劳动节 ;UINT8 code LCD1212=中 国青年节 ;UINT8 code LCD1312=界护士节 ;UINT8 code LCD1412=国际儿童节 ;UINT8 code LCD

40、1512=界环境日;UINT8 code LCD1612=国际爱眼日;UINT8 code LCD 仃12=世界土地日;UINT8 code LCD1812=国际禁毒日;UINT8 code LCD 佃12=香港回归日;UINT8 code LCD2012=中 国建军节 ;UINT8 code LCD2112=中 国老师节 ;1.UINT8 code LCD2216=九 一八事件纪念日UINT8 code LCD2312=中 国国庆节 ;UINT8 code LCD2412=界动物日;UINT8 code LCD2512=界邮政日;UINT8 code LCD2616=辛 亥革命纪念日UINT

41、8 code LCD2716=澳 门回归纪念日UINT8 code LCD288=平安夜;UINT8 code LCD298=&诞节;UINT8SetTime117=0x00,0x10,0x10,0x10,0x05,0x05,0x13,0x00,0x00,0x00,0,1,0x00,0x00 ,0x00,0,1;/设定时间,闹钟 最初始值codeunsignedcharMAX17=90,90,36,49,佃,7,153,90,36,7,2,5,90,36,7,2,5;/调时 最大值UINT8 code DAY8=7123456;UINT16 code dimer=30,60,120,300,6

42、0UINT8 S=60,F=0;char Y=0;char biaozhi=0; int W1=0,W2=0;UINT8 n; sbit G=P3八3; int K=0; int H;static unsigned int count=0;sbit sp k=P3八6;sbit led=P2八7;sbit RLAY=P07;sbit REC=P06;sbit ERASE=P05;sbit FWD=P04;#define S1 0x0e#define S2 0x0d#define S3 0x0b#define S4 0x07II微妙延时/1ms延时void Delayus(UINT8 t) UI

43、NT8 i;i=t;for(;i0;i-);void Delayms(UINT16 t)UINT16 i,j; for(i=0;ivt;i+) for(j=0;j0)SetTime1K-1-; if(SetTime1K-1=15) (SetTime1K-1=31)|(SetTime1K-1=47) |(SetTime1K-1=79)SetTime1K-1=SetTime1K-1-6;II调节按键II|(SetTime1K-1=58)|(SetTime1K-1=63) elseSetTime1K-1=MAXK-1-1; break;case S3:K+;if(K=18) K=8; elseif(

44、K=8) K=1; break; case S4:Y+;/ H=K;void Tiem() II定时器初始化Y%=2;TMOD=0x01; TH0=0XDC; TL0=0X00; ET0=1; EA=1;TR0=1; IT0=1;EX0=1;void JieRi(void) /以下是公历节日if(DateTime4=0x01 & DateTime3=0x01) Dis_Str(3,0, LCD1);else if(DateTime4=0x02 & DateTime3=0x02) Dis_Str(3,0, LCD2);else if(DateTime4=0x02 & DateTime3=0x10

45、) Dis_Str(3,0, LCD3);else if(DateTime4=0x03 & DateTime3=0x08) Dis_Str(3,0, LCD4);else if(DateTime4=0x03 & DateTime3=0x12) Dis_Str(3,0, LCD5);else if(DateTime4=0x03 & DateTime3=0x15) Dis_Str(3,0, LCD6);else if(DateTime4=0x03 & DateTime3=0x22) Dis_Str(3,0,LCD7);else if(DateTime4=0x04 & DateTime3=0x01)

46、 Dis_Str(3,0, LCD8);else if(DateTime4=0x04 & DateTime3=0x05) Dis_Str(3,0, LCD9);else if(DateTime4=0x04 & DateTime3=0x22) Dis_Str(3,0, LCD10);else if(DateTime4=0x05 & DateTime3=0x01) Dis_Str(3,0, LCD11);else if(DateTime4=0x05 & DateTime3=0x04) Dis_Str(3,0, LCD12);else if(DateTime4=0x05 & DateTime3=0x

47、12) Dis_Str(3,0, LCD13);else if(DateTime4=0x06 & DateTime3=0x01) Dis_Str(3,0, LCD14);else if(DateTime4=0x06 & DateTime3=0x05) Dis_Str(3,0, LCD15);else if(DateTime4=0x06 & DateTime3=0x06) Dis_Str(3,0, LCD16);else if(DateTime4=0x06 & DateTime3=0x25) Dis_Str(3,0, LCD 仃);else if(DateTime4=0x06 & DateTime3=0x26) Dis_Str(3,0, LCD18);else if(DateTime4=0x07 & DateTime3=0x01) Dis_Str(3,0,LCD19);else if(DateTime4=0x08 & DateTime3=0x01) Dis_Str(3,0, LCD20);el

温馨提示

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

评论

0/150

提交评论