基于单片机的电铃设计_第1页
基于单片机的电铃设计_第2页
基于单片机的电铃设计_第3页
基于单片机的电铃设计_第4页
基于单片机的电铃设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南信息职业技术学院毕业(论文)设计答答 辩辩 申申 请请 书书课 题 电铃系统设计 一、课题(论文)提纲1. 绪论2. 总体方案设计3. 硬件设计4. 软件设计5. 系统调试与仿真图6.总结二、内容摘要基于目前广泛应用的传统电铃系统噪声大,声音刺耳,不支持在线编程,用户改变响铃时间复杂。在此根底上,我采用STC89C52单片机设计了一套智能自动打铃系统,可控制外围器件的一种音乐电铃,可根据学校等单位的作息制度自动打铃,从而有效地解决上述问题,有很好的实用价值。该系统由三局部组成:程序控制、单片机硬件电路。电源由定电压模块220V 交流转 12V 在由 7805 转 5V 直流电压分别为各局部

2、电路提供电源。程序控制局部由时钟函数、LCD1602 函数、键盘函数、主函数组成。硬件局部由四个模块组成:单片机最小系统、时钟芯片 DS1302、显示模块 LCD1602、语音芯片AP8902。实时时钟随时与 CPU 内定时数据表进行比拟,当二者相吻合时,由P1.0 脚给出响铃信号使三极管导通从而接通电铃电路的主电源,完成自动定时响铃任务。三、参考文献1 胡汉才编著,?单片机原理及其接口技术?清华大学出版社,1996 年2 徐爱均编著,?智能化仪表原理与设计?北京航空大学出版社,1996 年3 公茂法等编著,?单片机人机接口实力集?北京航空大学出版社,1998 年4 李朝青编著,?单片机原理及

3、其接口技术?北京航空大学出版社,1998 年5 邬宽明编著,?单片机外围器件实用手册?北京航空大学出版社,1998 年 6 先锋工作室编著,?单片机程序设计实例?清华大学出版社,2002 年7 陈明荧编著,?8051 单片机课程设计实训教材?清华大学出版社,2003 年8 肖玲妮,袁增贵编著,?Protel99SE 印刷电路板设计教程?清华大学出版社,2003 年9 LCD1602 的中英文资料注:学生凭此申请书和设计(论文)样文参加辩论湖南信息职业技术学院教务处制目目 录录摘要:摘要:.7关键词关键词.7一、一、绪论绪论.8二、总体方案设计二、总体方案设计.82.2. 1 1芯片比拟芯片比拟

4、 .82.1.1 单片机选型.82.1.2 液晶显示模块的选择.82.1.3 时钟芯片的选择.102.1.4 语音芯片的选择.112. 2 总体设计总体设计与系统原理与系统原理 .13三、硬件设计、硬件设计.13、单片机局部、单片机局部 .133.1.1 STC89C52.132.1.2单片机硬件资源分配.163.23.2、液晶显示模块、液晶显示模块 .17、时钟芯片局部、时钟芯片局部 .233.43.4、电源与复位电路局部、电源与复位电路局部 .243.4.1 电源局部.242.4.2复位电路.243.23.2、电铃和音乐芯片局部、电铃和音乐芯片局部 .25、按键局部、按键局部 .25四、软

5、件设计、软件设计.26五、系统调试与仿真图、系统调试与仿真图.295.15.1、软件调试、软件调试 .295.25.2、系统调试、系统调试 .295.35.3、仿真图、仿真图 .30六、总结六、总结.30参考文献参考文献.31单片机电铃系统设计单片机电铃系统设计电子信息 0601 班 方超 48 号摘要:摘要:基于目前广泛应用的传统电铃系统噪声大,声音刺耳,不支持在线编程,用户改变响铃时间复杂。在此根底上,我采用STC89C52单片机设计了一套智能自动打铃系统,可控制外围器件的一种音乐电铃,可根据学校等单位的作息制度自动打铃,从而有效地解决上述问题,有很好的实用价值。该系统由三局部组成:程序控

6、制、单片机硬件电路和仿真局部。电源由定电压模块220V交流转12V在由7805转5V直流电压分别为各局部电路提供电源。程序控制局部由时钟函数、LCD1602函数、键盘函数、主函数组成。硬件局部由四个模块组成:单片机最小系统、时钟芯片DS1302、显示模块LCD1602、语音芯片AP8902。实时时钟随时与CPU内定时数据表进行比拟,当二者相吻合时,触发P1.7脚给出高电平信号,再由语音芯片输出音乐并经过LM386处理在直接接到功放设备输出铃声,完成自动定时响铃任务。关键词关键词单片机、C 语言、流程、仿真一一 绪绪 论论1. 1 课题的提出及意义单片机作息时间控制实现了对时间控制的智能化,摆脱

7、了传统由人来控制时间的长短的不便,实现代学校必不可少的设备。1. 2 设计的任务及要求1作息时间能控制电铃2作息时间能启动和关闭放音机单片机作息时间控制的功能如下:使用液晶屏显示现在的时间。使用时钟芯片可长时无人置守的响铃系统。显示格式为“年月日周 时分秒。具有复位功能,以及时间、星期调节功能。置高电平启动语音芯片,可以控制音乐开启和关闭。具有屡次定时响铃功能响铃时间、方式、时间长短可调。二二 总体方案设计总体方案设计2.2. 1 1 芯片比拟芯片比拟 单片机选型单片机选型当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种:Intel8051 系列、Motorola 和 M68HC 系

8、列、Atmel 的 AT89 系列、台湾Winbond(华邦)W78 系列、荷兰 Pilips 的 PCF80C51 系列、Microchip 公司的PIC 系列、Zilog 的 Z86 系列、Atmel 的 AT90S 系列、韩国三星公司的 KS57C 系列 4 位单片机、台湾义隆的 EM-78 系列等。我们最终选用了 ATMEL 公司的STC89C52 单片机。STC89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 8Kbytes 的可反复擦写的只读程序存储器PEROM和256bytes 的随机存取数据存储器RAM ,器件采用 ATMEL 公司的高密度

9、、非易失性存储技术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器CPU和 FLASH 存储单元,功能强大 STC89C52 单片机适用于许多较为复杂控制应用场合。液晶显示模块的选择液晶显示模块的选择LCD 显示器芯片的选择常用的显示器芯片有HD44780、JHD12864E、JHD0801A、VP19264、MOBI2006、LCD1602 等,由于HD44780、JHD12864E、VP19264、MOBI2006 芯片价格批量生产时购置价格以及在电铃系统使用过程实际作用但 LCD1602 在系统设计中具有高性能价格比与技术支持强因此选用 LCD

10、1602 液晶显示模块,下面对 LCD1602 作一下介绍。特点(1)LCD1602 液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用 16*1,16*2,20*2 和 40*2 行等的模块;(2)1602LCD 又可分为带背光和不带背光两种,基控制器大局部为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差异;(3)主要技术参数:显示容量:162 个字符、 、 工作电流:2.0mA(5.0V) 、字符尺寸:2.954.35(WH)mm引脚功能说明引脚功能说明第 1 脚:VSS 为地电源。第 2 脚:VDD 接 5V 正电源。第 3 脚:VL 为液晶显示器

11、比照度调整端,接正电源时比照度最弱,接地时比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个 10K 的电位器调整比照度。第 4 脚:RS 为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器。第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。第 15 脚:背光源正极。

12、第 16 脚:背光源负极。工作原理简介工作原理简介字符型 LCD 液晶显示模块是专用于显示字母、数字、符号等的点阵型液晶显示模块。字符位可以是 5*7 或 5*11 等点阵组成。每一个点阵字符位都可以显示一个字符,内置 HD44780 控制 IC 专用于字符显示的液晶驱动及控制。HD44780 的显示缓冲区及用户自定义的字符发生器 CGRAM 全部内藏在芯片内。HD44780 具有简单而功能较强的指令集,可实现字符移动、闪烁等显示功能。HD44780 的控制部是液晶显示模块的核心,它控制着 HD44780 的工作时序和各功能的实现,具有驱动 40*16 点阵的液晶显示器件的能力AT89C51

13、与 LCD 硬件原理图如下 时钟芯片的选择时钟芯片的选择为实现长时无人置守的响铃系统,我们对 STC89C52 进行外围扩展。常用的时钟芯片有很多,如 DS1302、 DS1307、PCF8485。经过比拟选择,最终选用了 DALLAS 公司的 DS1302。 DS1302 介绍:是一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通 32.768kHz 晶振。而且它是一种高性能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V5.5V。采用三线接

14、口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据的 RAM 存放器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。DS1302DS1302 在电铃系统中的硬件原理图在电铃系统中的硬件原理图DS1302 与 CPU 的连接仅需要三条线,即 SCLK7 、I/O(6 、RST5 。2.1.42.1.4 语音芯片的选择语音芯片的选择 为防止电铃铃声优美, 高性价比与技术支持等方面在三种型号中选用一次性OTP

15、可录放型: ISD 系列从 10s 到 16 分钟的一系列芯片,以FLASHRAM 闪烁存储器为 IC 为介质,断电后语音还能保存。特点:内部没有单片机,控制较麻烦;容易丧失数据;芯片和编程器价格都较高。一次性OTP型APLUS 系列:芯片内部是 PROM 存储器,将语音文件烧录进去,以后不可以更改。有 API810810s 可分 8 段,API8208(20s 可分 8 段),API840N40s 可分 32 段, AP882121s 最大 15 段,AP8842(42s 最大 30 段)其中 AP8821 和 AP8902 可以选择单片机并口控制和按键控制。此系列特点:控制较灵活,价格较低

16、。掩膜型MASK型:标准片标准声源型:如各种报警声,倒车语音等大批量生产出来的标准品,价格非常廉价,此类特点是不能根据自己的情况更改,包括音质,音调,控制方式等。AP8902AP8902 工作原理与硬件原理图工作原理与硬件原理图控制音乐响铃电路由语音芯片 AP8902、音频放大 LM386 组成其中音乐芯片AP89042 是一次性编程(OTP)语音芯片是采用 4-bit ADPCM 或 8-bit PCM 压缩方式。在 6K 采样率下时间长度可到达 42 秒;可用按键或 CPU 方式触发,最大可以触发 32 段;3 个输出端可以选择 LED、STOP、BUSY 不同组合;声音输出可外接三极管放

17、大输出(COUT)或直接推喇叭(VOUT)方式。AP89042 工作电压:2.6-3.6V,静态电流小于 5uA。2.2. 2 2 总体设计与系统原理总体设计与系统原理经比拟我们选定单片机芯片为 STC89C52,时钟芯片为 DS1302。在确定系统的大体形式之后,画出本系统的结构布局,方框原理如下。三三 硬件设计硬件设计3.3. 1 1 单片机局部单片机局部 STC89C52STC89C52特点:特点: 与 MCS-51 产品指令和引脚完全兼容 8K 字节可重擦写 FLASH 闪存 1000 次擦写周期 全静态操作:0Hz-80MHz 三级加密程序存储器 512 字节内部 RAM 32 个可

18、编程 I/O 口线 3 个 16 位定时/计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式功能特性概述功能特性概述:STC89C52 提供以下标准功能:8K 字节 FLASH 闪存,256 字节内部 RAM,32个 I/O 口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,STC89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作

19、直到下一个硬件复位。STC89C52 的芯片管脚图如图 3-1 图 3-1引脚功能说明引脚功能说明:VCC电源电压GND地P0 口P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址低 8 位和数据总线复用,在访问期间激活内部上拉电阻。在 FLASH 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,

20、P1 的输出缓冲级可驱动吸收或输出电流4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输入P1.0/T2和输入P1.1/T2EX ,参见下表。FLASH 编程和程序校验期间,P1 接收低 8 位地址。引脚号功能特性T2定时/计数器 2 外部计数脉冲输入 ,时钟输出T2EX定时/计数 2 捕获/重装载触发和方向控制P2 口P2 是一个带内部上拉电阻的 8 位双向 I/O 口,

21、P2 的输出缓冲级可驱动吸收或输出电流4 个 TTL 逻辑门电路。对端口 P2 写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或 16 位地址的外部数据存储器例如执行MOVXDPTR 指令时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器如执行 MOVXRI 指令时,P2 口输出 P2 锁存器的内容。FLASH 编程或校验时,P2 亦接收高位地址和一些控制信号。P3 口P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动吸收或输出

22、电流4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上拉电阻输出电流。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能RXD(串行输入口)TXD(串行输出口)INTO(外中断 0)INT1(外中断 1)TO(定时/计数器 0)T1(定时/计数器 1)WR(外部数据存储器写选通)RD(外部数据存储器读选通)此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。ALE/P

23、ROG当访问外部程存储器或数据存储器时,ALE地址锁存允许输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲PROG 。如有必要,可通过对特殊功能存放器SFR区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。PSEN程序储存允许PSE

24、N输出是外部程序存储器的读选通信号,当STC89C52 由外部程序存储器取指令或数据时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。EA/VPP外部访问允许,欲使 CPU 仅访问外部程序存储器地址为0000H-FFFFH ,EA 端必须保持低电平接地 。需注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平接 Vcc 端 ,CPU 那么执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 单片机硬件

25、资源分配单片机硬件资源分配P0 连接 LCD1602 上 D0-D7 P20 连接按键P21 连接按键P22 连接按键P2.5 连接 LCD1602 的 RS 端 连接 LCD1602 的 RW 端P2.7 连接 LCD1602 的 E 端 P1.0 连接 AP8902 响铃控制端 P1.5 连接 DS1302 的/RST 端 P1.6 连接 DS1302 的 SCLK 端 P1.7 连接 DS1302 的 I/O 端 3.3. 2 2 液晶显示模块液晶显示模块在上一章我已选定了液晶显示模块 LCD1602,下面对其作进一步的介绍:一般 1602 字符型液晶显示器实物如下列图1602LCD16

26、02LCD 的根本参数及引脚功能的根本参数及引脚功能 1602LCD 分为带背光和不带背光两种,基控制器大局部为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差异,两者尺寸差异如下列图所示:1602LCD1602LCD 主要技术参数:主要技术参数: 显示容量:162 个字符 工作电流:2.0mA(5.0V) 字符尺寸:2.954.35(WH)mm引脚功能说明引脚功能说明 1602LCD 采用标准的 14 脚无背光或 16 脚带背光接口,各引脚接口说明如表所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4R

27、S数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1602LCD1602LCD 的指令说明及时序的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令,如表所示:序号 指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/C R/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示

28、数据存贮器地址9读忙标志或地址01BF计数器地址10写数到 CGRAM 或DDRAM10要写的数据内容11从 CGRAM 或 DDRAM 读数11读出的数据内容 1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。说明:1 为高电平、0 为低电平指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。指令 2:光标复位,光标返回到地址 00H。指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效。指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关

29、显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。指令 7:字符发生器 RAM 地址设置。指令 8:DDRAM 地址设置。指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令 10:写数据。指令 11

30、:读数据。 与 HD44780 相兼容的芯片时序表如下:读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无 读写操作时序如下列图所示:读操作时序写操作时序1602LCD1602LCD 的的 RAMRAM 地址映射及标准字库表地址映射及标准字库表 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否那么此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块

31、在哪里显示字符,下列图是 1602 的内部显示地址。 例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B40H+10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。 1602 液晶模块内部的字符发生存储器CGROM已经存储了 160 个不同的点阵字符图形,如图 10-58 所示,这

32、些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比方大写的英文字母“A的代码是 01000001B41H,显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A图 10-58 字符代码与图形对应图1602LCD1602LCD 的一般初始化的一般初始化复位复位过程过程延时 15mS写指令 38H不检测忙信号延时 5mS写指令 38H不检测忙信号延时 5mS写指令 38H不检测忙信号以后每次写指令、读/写数据操作均需要检测忙信号写指令 38H:显示模式设置写指令 08H:显示关闭写指令 01H:显示清屏写指令 06H:显示光标移动设

33、置写指令 0CH:显示开及光标设置3.3. 3 3 时钟芯片局部时钟芯片局部本系统器利用 STC89C52 单片机口和 DS1302 集成实时芯片实现实时时钟的一种简单方法,利用该系统具有硬件结构简单、软件编程容易和价格低廉的特点。下面简单的介绍一下 DS1302。特点特点1数据输入输出 (I/O) 2 DS1302 的存放器 引脚图如图引脚图如图 说明:说明:DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字节,命令字节最高位 MSB(D7)必须为逻辑 1,如果 D7=0,那么禁止写DS1302,即写保护; D6=0,指定时钟数据, D6=1,指定 RAM 数据;D5D1

34、指定输入或输出的特定存放器;最低位LSB(D0)为逻辑 0,指定写操作 (输入), D0=1,指定读操作 (输出)。 在 DS1302 的时钟日历或 RAM 进行数据传送时, DS1302 必须首先发送命令字节。假设进行单字节传送, 8 位命令字节传送结束之后,在下 2 个SCLK 周期的上升沿输入数据字节,或在下8 个 SCLK 周期的下降沿输出数据字节。 DS1302 与 RAM 相关的存放器分为两类 :一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM 存放器,在此方式下可一次

35、性读、写所有的 RAM 的 31 个字节。 要特别说明的是备用电源 B1,可以用电池或者超级电容器 (以上)。虽然 DS1302 在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V 充电电池。如果断电时间较短 (几小时或几天 )时,就可以用漏电较小的普通电解电容器代替。100 F 就可以保证 1 小时的正常走时。 DS1302 在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。3. 4 电源与复位电路局部 3.4.1 电源局部 本次设计应用的电压有+5V。220V 交流电源经变压器,整流,滤波后分别进入芯片 780

36、5,产生+5V,这些电源的具体应用情况如下:+5V 电源:单片机及外围电路所用电源+9V 电源:压电喇叭所用电源3.4.2 复位电路当 MCS-5l 系列单片机的复位引脚 RST(全称 RESET)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。如果 RST 持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种根本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图 (a)中左图所示。图中电容 C1 和电阻 R1 对电源十 5V 来说构成微分电路。上电后,保持 RST 一段高电平时间,由于单片机内的等效电阻的作用,不

37、用图中电阻 R1,也能到达上电复位的操作功能,如图 (a)中右图所示。 要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如图 (b)所示。上电后,由于电容 C3 的充电和反相门的作用,使 RST 持续一段时间的高电平。当单片机已在运行当中时,按下复位键 K 后松开,也能使 RST 为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。图 (a)中:Cl10-30uF,R11k图 (b)中:C21uF,Rllk,R210k本系统的复位电路采用上电复位。3.5 电铃和音乐芯片局部 当

38、定时时间到了,P1.0 为低电平,时间到时发出一阵音乐,按下 K4 键可以停止音乐或 20S 自动后停止。也可以按键 5,由按键 5 可以控制音乐。 按键局部按键设定局部比拟简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。程序执行后工作指示灯 LCD 闪动,表示程序开始执行,LCD 显示“00,按下操作键 K1-K4 动作如下:操作键 K1:设置现在的时间;操作键 K2:显示电铃设置时间;操作键 K3:设置电铃时间;操作键 K4:手动电铃 ON/OFF 设置开关;设置现在的时间或是闹铃时间设置如下:操作键 K1:设整时;操作键 K2:设整分;操作键

39、K3:设置完成; 至此,我们分七局部将硬件电路介绍完毕,从下一章,我将介绍该仪器的软件设计。四四 软软 件件 设设 计计遵循结构化程序的设计原那么,按结构化程序设计设计方法设计出的程序具有明显的优点,其一,程序易于理解、使用和维护。程序员采用结构化编程方法,便于控制、降低程序的复杂性,应此容易编写程序。便于验证程序的正确性,结构化程序清晰易读,可理解性好,程序员能够逐步求精、程序证明和测试,以确保程序的正确性,程序容易阅读并被人理解,便于用户使用和维护。其二,提高了编程工作效率,降低了软件开发本钱。由于结构化编程方法能够把错误控制到最低限度,因此能够减少调试和查错时间。结构化程序是由一些为数不

40、多的根本结构模块组成,这些模块甚至可以由机器自动组成,从而极大地减轻了编程工作量。在这次单片机电铃系统程序设计中我根本将程序分为主程序模块、中断定时模块、键盘扫描模块、LCD1602 显示模块、DS1302 时钟模块等等。主程序流程图 3.33.3、单片机电铃系统程序、单片机电铃系统程序主程序#include /注 修改置低电平#include #include LCD1602.h #include DS1302.h#include keydone.h#include yanshi.h#define uchar unsigned char#define uint unsigned intsbi

41、t XL = P10; /响铃传送数据 IO 口uchar xiangling33=0,0,7,0,0,8,0,0,9,0,0,10,0,0,11,0,0,12,0,0,13,0,0,14,0,0,15;uchar m=0,k ;uchar xl_i0;void show_time(); /液晶显示程序void show_time() /液晶显示程序 DS1302_GetTime(&CurrentTime); /获取时钟芯片的时间数据 TimeToStr(&CurrentTime); /时间数据转换液晶字符 DateToStr(&CurrentTime); /日期数据转

42、换液晶字符 GotoXY(12,1); /液晶字符显示位置 GotoXY(0,1); Print(CurrentTime.TimeString); /显示时间 GotoXY(0,0); Print(CurrentTime.DateString); /显示日期 GotoXY(15,0); Print(week_value); /显示星期 GotoXY(11,0); Print(Week); /在液晶上显示 字母 week Delay1ms(400); /扫描延时main()TMOD=0X00; TH0=0 x0C;TL0=0 x78;IE=0 x8a; flag=1; /时钟停止标志LCD_Initial(); /液晶初始化Initial_DS1302(); /时钟芯片初始化up_flag=0;down_flag=0;done=0; /进入默认液晶显示wireless_1=0;wireless_2=0;wireless_3=0;wireless_4=0;while(1) while(done=1) keydone(); /进入调整模式while(done=0) show_time(); /液晶显示数据 flag=0; Setkey(); /扫描各功能键 void Interr()interrupt 1 using 0/ 5ms 定时器 0,存放器 0unsigned c

温馨提示

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

评论

0/150

提交评论