




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南信息职业技术学院毕业(论文)设计 答答 辩辩 申申 请请 书书 课 题 电铃系统设计 一、课题(论文)提纲 1. 绪论 2. 总体方案设计 3. 硬件设计 4. 软件设计 5. 系统调试与仿真图 6.总结 二、内容摘要 基于目前广泛应用的传统电铃系统噪声大,声音刺耳,不支持在线编程, 用户改变响铃时间复杂。在此基础上,我采用STC89C52单片机设计了一套智能 自动打铃系统,可控制外围器件的一种音乐电铃,可根据学校等单位的作息制 度自动打铃,从而有效地解决上述问题,有很好的实用价值。 该系统由三部分组成:程序控制、单片机硬件电路。电源由定电压模块 220V 交流转 12V 在由 7805 转 5V 直流电压分别为各部分电路提供电源。程序控 制部分由时钟函数、LCD1602 函数、键盘函数、主函数组成。硬件部分由四个 模块组成:单片机最小系统、时钟芯片 DS1302、显示模块 LCD1602、语音芯片 AP8902。实时时钟随时与 CPU 内定时数据表进行比较,当二者相吻合时,由 P1.0 脚给出响铃信号使三极管导通从而接通电铃电路的主电源,完成自动定 时响铃任务。 三、参考文献 1 胡汉才编著, 单片机原理及其接口技术清华大学出版社,1996 年 2 徐爱均编著, 智能化仪表原理与设计北京航空大学出版社,1996 年 3 公茂法等编著, 单片机人机接口实力集北京航空大学出版社,1998 年 4 李朝青编著, 单片机原理及其接口技术北京航空大学出版社,1998 年 5 邬宽明编著, 单片机外围器件实用手册北京航空大学出版社,1998 年 6 先锋工作室编著, 单片机程序设计实例清华大学出版社,2002 年 7 陈明荧编著, 8051 单片机课程设计实训教材清华大学出版社,2003 年 8 肖玲妮,袁增贵编著, Protel99SE 印刷电路板设计教程清华大学出版 社,2003 年 9 LCD1602 的中英文资料 湖南信息职业技术学院教务处制 目目 录录 摘要:摘要:.7 关键词关键词.7 一、一、绪论绪论.8 二、总体方案设计二、总体方案设计.8 2.2. 1 1芯片比较芯片比较 .8 2.1.1 单片机选型.8 2.1.2 液晶显示模块的选择.8 2.1.3 时钟芯片的选择.10 2.1.4 语音芯片的选择.11 2. 2 总体设计总体设计与系统原理与系统原理 .13 三、硬件设计、硬件设计.13 3.13.1、单片机部分、单片机部分 .13 3.1.1 STC89C52.13 2.1.2单片机硬件资源分配.16 3.23.2、液晶显示模块、液晶显示模块 .17 3.33.3、时钟芯片部分、时钟芯片部分 .23 3.43.4、电源与复位电路部分、电源与复位电路部分 .24 3.4.1 电源部分.24 2.4.2复位电路.24 3.23.2、电铃和音乐芯片部分、电铃和音乐芯片部分 .25 3.33.3、按键部分、按键部分 .25 四、软件设计、软件设计.26 五、系统调试与仿真图、系统调试与仿真图.29 5.15.1、软件调试、软件调试 .29 5.25.2、系统调试、系统调试 .29 5.35.3、仿真图、仿真图 .30 六、总结六、总结.30 参考文献参考文献.31 单片机电铃系统设计单片机电铃系统设计 电子信息 0601 班 方超 48 号 摘要:摘要: 基于目前广泛应用的传统电铃系统噪声大,声音刺耳,不支持 在线编程,用户改变响铃时间复杂。在此基础上,我采用STC89C52 单片机设计了一套智能自动打铃系统,可控制外围器件的一种音乐 电铃,可根据学校等单位的作息制度自动打铃,从而有效地解决上 述问题,有很好的实用价值。 该系统由三部分组成:程序控制、单片机硬件电路和仿真部分。 电源由定电压模块220V交流转12V在由7805转5V直流电压分别为各部 分电路提供电源。程序控制部分由时钟函数、LCD1602函数、键盘函 数、主函数组成。硬件部分由四个模块组成:单片机最小系统、时 钟芯片DS1302、显示模块LCD1602、语音芯片AP8902。实时时钟随时 与CPU内定时数据表进行比较,当二者相吻合时,触发P1.7脚给出高 电平信号,再由语音芯片输出音乐并经过LM386处理在直接接到功放 设备输出铃声,完成自动定时响铃任务。 关键词关键词 单片机、C 语言、流程、仿真 一一 绪绪 论论 1. 1 课题的提出及意义 单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制 时间的长短的不便,实现代学校必不可少的设备。 1. 2 设计的任务及要求 1作息时间能控制电铃 2作息时间能启动和关闭放音机 单片机作息时间控制的功能如下: 使用液晶屏显示现在的时间。 使用时钟芯片可长时无人置守的响铃系统。 显示格式为“年月日周 时分秒” 。 具有复位功能,以及时间、星期调节功能。 一旦时间到则单片机 P1.0 置高电平启动语音芯片,可以控制音乐开启 和关闭。 具有多次定时响铃功能响铃时间、方式、时间长短可调。 二二 总体方案设计总体方案设计 2.2. 1 1 芯片比较芯片比较 2.1.12.1.1 单片机选型单片机选型 当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种: Intel8051 系列、Motorola 和 M68HC 系列、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 公司的高密度、非易 失性存储技术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通 用 8 位中央处理器(CPU)和 FLASH 存储单元,功能强大 STC89C52 单片机适用 于许多较为复杂控制应用场合。 2.1.22.1.2 液晶显示模块的选择液晶显示模块的选择 LCD 显示器芯片的选择常用的显示器芯片有 HD44780、JHD12864E、JHD0801A、VP19264、MOBI2006、LCD1602 等,由于 HD44780、JHD12864E、VP19264、MOBI2006 芯片价格批量生产时购买价格以及 在电铃系统使用过程实际作用但 LCD1602 在系统设计中具有高性能价格比与技 术支持强因此选用 LCD1602 液晶显示模块,下面对 LCD1602 作一下介绍。 特点 (1)LCD1602 液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1,16*2,20*2 和 40*2 行等的模块; (2)1602LCD 又可分为带背光和不带背光两种,基控制器大部分为 HD44780,带 背光的比不带背光的厚,是否带背光在应用中并无差别; (3)主要技术参数:显示容量:162 个字符、 芯片工作电压:4.55.5V、 工 作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V、字符尺寸:2.954.35(WH)mm 引脚功能说明引脚功能说明 第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。 第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比 度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调 整对比度。 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存 器。 第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为 高电平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。 第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。 工作原理简介工作原理简介 字符型 LCD 液晶显示模块是专用于显示字母、数字、符号等的点阵型液晶 显示模块。字符位可以是 5*7 或 5*11 等点阵组成。每一个点阵字符位都可以显 示一个字符,内置 HD44780 控制 IC 专用于字符显示的液晶驱动及控制。 HD44780 的显示缓冲区及用户自定义的字符发生器 CGRAM 全部内藏在芯片内。 HD44780 具有简单而功能较强的指令集,可实现字符移动、闪烁等显示功能。 HD44780 的控制部是液晶显示模块的核心,它控制着 HD44780 的工作时序和各 功能的实现,具有驱动 40*16 点阵的液晶显示器件的能力 AT89C51 与 LCD 硬件原理图如下 2.1.32.1.3 时钟芯片的选择时钟芯片的选择 为实现长时无人置守的响铃系统,我们对 STC89C52 进行外围扩展。常用的 时钟芯片有很多,如 DS1302、 DS1307、PCF8485。经过比较选择,最终选用 了 DALLAS 公司的 DS1302。 DS1302 介绍:是一种具有涓细电流充电能力的电路,主要特点是采用串行 数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。 采用普通 32.768kHz 晶振。而且它是一种高性能、低功耗、带 RAM 的实时时钟 电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能, 工作电压为 2.5V5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方 式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于 临时性存放数据的 RAM 寄存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容, 但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充 电的能力。 DS1302DS1302 在电铃系统中的硬件原理图在电铃系统中的硬件原理图 DS1302 与 CPU 的连接仅需要三条线,即 SCLK(7) 、I/O(6) 、RST(5) 。 2.1.42.1.4 语音芯片的选择语音芯片的选择 为避免电铃铃声优美, 高性价比与技术支持等方面在三种型号中选用 一次性(OTP)型号中 AP8902.其中三中型特点如 可录放型: ISD 系列从 10s 到 16 分钟的一系列芯片,以 FLASHRAM 闪烁存储器为 IC 为介质,断电后语音 还能保存。特点:内部没有单片机,控制较麻烦;容易丢失数据;芯片和编程器价 格都较高。一次性(OTP)型 APLUS 系列:芯片内部是 PROM 存储器,将语音文件 烧录进去,以后不可以更改。有 API8108(10s 可分 8 段),API8208(20s 可分 8 段),API840N(40s 可分 32 段), AP8821(21s 最大 15 段),AP8842(42s 最大 30 段)其中 AP8821 和 AP8902 可以选择单片机并口控制和按键控制。此系列特 点:控制较灵活,价格较低。 掩膜型(MASK)型:标准片(标准声源型):如 各种报警声,倒车语音等大批量生产出来的标准品,价格非常便宜,此类特点是不 能根据自己的情况更改,包括音质,音调,控制方式等。 AP8902AP8902 工作原理与硬件原理图工作原理与硬件原理图 控制音乐响铃电路由语音芯片 AP8902、音频放大 LM386 组成其中音乐芯片 AP89042 是一次性编程(OTP)语音芯片是采用 4-bit ADPCM 或 8-bit PCM 压缩 方式。在 6K 采样率下时间长度可达到 42 秒;可用按键或 CPU 方式触发,最大 可以触发 32 段;3 个输出端可以选择 LED、STOP、BUSY 不同组合;声音输出可 外接三极管放大输出(COUT)或直接推喇叭(VOUT)方式。AP89042 工作电压: 2.6-3.6V,静态电流小于 5uA。 2.2. 2 2 总体设计与系统原理总体设计与系统原理 经比较我们选定单片机芯片为 STC89C52,时钟芯片为 DS1302。 在确定系统的大体形式之后,画出本系统的结构布局,方框原理如下。 三三 硬件设计硬件设计 3.3. 1 1 单片机部分单片机部分 3.1.13.1.1 STC89C52STC89C52 特点:特点: 与 MCS-51 产品指令和引脚完全兼容 8K 字节可重擦写 FLASH 闪存 1000 次擦写周期 全静态操作:0Hz-80MHz 三级加密程序存储器 512 字节内部 RAM 32 个可编程 I/O 口线 3 个 16 位定时/计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 功能特性概述功能特性概述: STC89C52 提供以下标准功能:8K 字节 FLASH 闪存,256 字节内部 RAM,32 个 I/O 口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工 串行通信口,片内振荡器及时钟电路。同时,STC89C52 可降至 0Hz 的静态逻辑 操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的 内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 STC89C52 的芯片管脚图如图 3-1 图 3-1 引脚功能说明引脚功能说明: VCC电源电压 GND地 P0 口P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复 用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对 端口 P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位) 和数据总线复用,在访问期间激活内部上拉电阻。 在 FLASH 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节, 校验时,要求外接上拉电阻。 P1 口P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲 级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部 的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部 存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部 计数输入(P1.0/T2)和输入(P1.1/T2EX) ,参见下表。 FLASH 编程和程序校验期间,P1 接收低 8 位地址。 P1.0 和 P1.1 的第二功能 引脚号功能特性 P1.0 T2(定时/计数器 2 外部计数脉冲输入) ,时钟输出 P1.1 T2EX(定时/计数 2 捕获/重装载触发和方向控制) P2 口P2 是一个带内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级 可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“1” ,通过内部 的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部 存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVXDPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据 存储器(如执行 MOVXRI 指令)时,P2 口输出 P2 锁存器的内容。 FLASH 编程或校验时,P2 亦接收高位地址和一些控制信号。 P3 口P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓 冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时, 它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上 拉电阻输出电流。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下表 所示: 端口引脚第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断 0) P3.3 INT1(外中断 1) P3.4 TO(定时/计数器 0) P3.5 T1(定时/计数器 1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。 RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电 平将是单片机复位。 ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许) 输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的 是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。 如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位, 可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 STC89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有 效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信 号。 EA/VPP外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端) ,CPU 则执行内部程序存储器的指令。 FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须 是该器件是使用 12V 编程电压 Vpp。 3.1.23.1.2 单片机硬件资源分配单片机硬件资源分配 P0 连接 LCD1602 上 D0-D7 P20 连接按键 P21 连接按键 P22 连接按键 P2.5 连接 LCD1602 的 RS 端 P2.6 连接 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 字符型液晶显示器实物如下图 1602LCD1602LCD 的基本参数及引脚功能的基本参数及引脚功能 1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背 光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图所 示: 1602LCD1602LCD 主要技术参数:主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明引脚功能说明 1602LCD 采用标准的 14 脚(无背光)或 16 脚(带背光)接口,各引脚接 口说明如表所示: 编号符号引脚说明编号符号引脚说明 1VSS 电源地 9D2 数据 2VDD 电源正极 10D3 数据 3VL 液晶显示偏压 11D4 数据 4RS 数据/命令选择 12D5 数据 5R/W 读/写选择 13D6 数据 6E 使能信号 14D7 数据 7D0 数据 15BLA 背光源正极 8D1 数据 16BLK 背光源负极 1602LCD1602LCD 的指令说明及时序的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令,如表所示: 序号 指令 RSR/WD7D6D5D4D3D2D1D0 1 清显示 0000000001 2 光标返回 000000001* 3 置输入模式 00000001I/DS 4 显示开/关控制 0000001DCB 5 光标或字符移位 000001S/C R/L* 6 置功能 00001DLNF* 7 置字符发生存贮器地 址 0001 字符发生存贮器地址 8 置数据存贮器地址 001 显示数据存贮器地址 9 读忙标志或地址 01BF 计数器地址 10 写数到 CGRAM 或 DDRAM) 10 要写的数据内容 11 从 CGRAM 或 DDRAM 读 数 11 读出的数据内容 1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现 的。(说明:1 为高电平、0 为低电平) 指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。 指令 2:光标复位,光标返回到地址 00H。 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左 移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示, 低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无 光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光 标。 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符, 高电平时显示 5x10 的点阵字符。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块 不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据。 指令 11:读数据。 与 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 地址映射及标准字库表地址映射及标准字库表 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模 块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显 示字符地址,也就是告诉模块在哪里显示字符,下图是 1602 的内部显示地址。 例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光 标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最 高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H) +10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光 标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于 忙的状态。 1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的 点阵字符图形,如图 10-58 所示,这些字符有:阿拉伯数字、英文字母的大小 写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写 的英文字母“A”的代码是 01000001B(41H),显示时模块把地址 41H 中的点 阵字符图形显示出来,我们就能看到字母“A” 图 10-58 字符代码与图形对应图 1602LCD1602LCD 的一般初始化(复位)过程的一般初始化(复位)过程 延时 15mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 延时 5mS 写指令 38H(不检测忙信号) 以后每次写指令、读/写数据操作均需要检测忙信号 写指令 38H:显示模式设置 写指令 08H:显示关闭 写指令 01H:显示清屏 写指令 06H:显示光标移动设置 写指令 0CH:显示开及光标设置 3.3. 3 3 时钟芯片部分时钟芯片部分 本系统器利用 STC89C52 单片机 P1.5-P1.7 口和 DS1302 集成实时芯片实现 实时时钟的一种简单方法,利用该系统具有硬件结构简单、软件编程容易和价 格低廉的特点。下面简单的介绍一下 DS1302。 特点特点 (1)数据输入输出 (I/O) (2) DS1302 的寄存器 引脚图如图引脚图如图 说明:说明: DS1302 与微处理器进行数据交换时,首先由微处理器向电路发送命令字 节,命令字节最高位 MSB(D7)必须为逻辑 1,如果 D7=0,则禁止写 DS1302,即写保护; D6=0,指定时钟数据, D6=1,指定 RAM 数据;D5D1 指定输入或输出的特定寄存器;最低位LSB(D0)为逻辑 0,指定写操作 (输 入), D0=1,指定读操作 (输出)。 在 DS1302 的时钟日历或 RAM 进行数据传送时, DS1302 必须首先发送 命令字节。若进行单字节传送, 8 位命令字节传送结束之后,在下 2 个 SCLK 周期的上升沿输入数据字节,或在下8 个 SCLK 周期的下降沿输出数据 字节。 DS1302 与 RAM 相关的寄存器分为两类 :一类是单个 RAM 单元,共 31 个, 每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为 读操作,偶数为写操作;再一类为突发方式下的RAM 寄存器,在此方式下 可一次性读、写所有的 RAM 的 31 个字节。 要特别说明的是备用电源 B1,可以用电池或者超级电容器 (0.1F 以上)。虽然 DS1302 在主电源掉电后的耗电很小,但是,如果要长时间保证 时钟正常,最好选用小型充电电池。可以用老式电脑主板上的3.6V 充电电 池。如果断电时间较短 (几小时或几天 )时,就可以用漏电较小的普通电解 电容器代替。 100 F 就可以保证 1 小时的正常走时。 DS1302 在第一次加 电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。 3. 4 电源与复位电路部分 3.4.1 电源部分 本次设计应用的电压有+5V。220V 交流电源经变压器,整流,滤波后分别进 入芯片 7805,产生+5V,这些电源的具体应用情况如下: +5V 电源:单片机及外围电路所用电源 +9V 电源:压电喇叭所用电源 3.4.2 复位电路 当 MCS-5l 系列单片机的复位引脚 RST(全称 RESET)出现 2 个机器周期以上 的高电平时,单片机就执行复位操作。如果 RST 持续为高电平,单片机就处于 循环复位状态。 根据应用的要求,复位操作通常有两种基本形式:上电复位和上电或开关 复位。 上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如图 (a)中左图所示。图中电容 C1 和电阻 R1 对电源十 5V 来说构成微分电路。上电 后,保持 RST 一段高电平时间,由于单片机内的等效电阻的作用,不用图中电 阻 R1,也能达到上电复位的操作功能,如图 (a)中右图所示。 要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作 也能使单片机复位。常用的上电或开关复位电路如图 (b)所示。上电后,由于 电容 C3 的充电和反相门的作用,使 RST 持续一段时间的高电平。当单片机已在 运行当中时,按下复位键 K 后松开,也能使 RST 为一段时间的高电平,从而实 现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的 电容、电阻参考值。 图 (a)中:Cl10-30uF,R11k 图 (b)中:C21uF,Rllk,R210k 本系统的复位电路采用上电复位。 3.5 电铃和音乐芯片部分 当定时时间到了,P1.0 为低电平,时间到时发出一阵音乐,按下 K4 键可 以停止音乐或 20S 自动后停止。也可以按键 5,由按键 5 可以控制音乐。 3.6 按键部分 按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按 键方式,程序的编制上也采用了简单的扫描方式。 程序执行后工作指示灯 LCD 闪动,表示程序开始执行,LCD 显示“00” ,按 下操作键 K1-K4 动作如下: 操作键 K1:设置现在的时间; 操作键 K2:显示电铃设置时间; 操作键 K3:设置电铃时间; 操作键 K4:手动电铃 ON/OFF 设置开关; 设置现在的时间或是闹铃时间设置如下: 操作键 K1:设整时; 操作键 K2:设整分; 操作键 K3:设置完成; 至此,我们分七部分将硬件电路介绍完毕,从下一章,我将介绍该仪器的 软件设计。 四四 软软 件件 设设 计计 遵循结构化程序的设计原则,按结构化程序设计设计方法设计出的程序具 有明显的优点,其一,程序易于理解、使用和维护。程序员采用结构化编程方 法,便于控制、降低程序的复杂性,应此容易编写程序。便于验证程序的正确 性,结构化程序清晰易读,可理解性好,程序员能够逐步求精、程序证明和测 试,以确保程序的正确性,程序容易阅读并被人理解,便于用户使用和维护。 其二,提高了编程工作效率,降低了软件开发成本。由于结构化编程方法能够 把错误控制到最低限度,因此能够减少调试和查错时间。结构化程序是由一些 为数不多的基本结构模块组成,这些模块甚至可以由机器自动组成,从而极大 地减轻了编程工作量。 在这次单片机电铃系统程序设计中我基本将程序分为主程序模块、中断定 时模块、键盘扫描模块、LCD1602 显示模块、DS1302 时钟模块等等。 主程序流程图 3.33.3、单片机电铃系统程序、单片机电铃系统程序 主程序 #include /注 修改 P1.0 置低电平 #include #include LCD1602.h #include DS1302.h #include keydone.h #include yanshi.h #define uchar unsigned char #define uint unsigned int sbit 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( /获取时钟芯片的时间数据 TimeToStr( /时间数据转换液晶字符 DateToStr( /日期数据转换液晶字符 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();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 达标测试人教版9年级数学上册《圆》达标测试试题(详解版)
- 水泵供水工程施工方案
- 2026届山东省聊城阳谷县联考化学九上期中预测试题含解析
- 培训学校母亲节
- 2026届湖南省娄底市娄星区英语九上期末教学质量检测模拟试题含解析
- 足球培训机构合作
- 2026届北京市海淀中学化学九年级第一学期期末达标检测试题含解析
- 北京延庆县联考2026届英语九年级第一学期期末监测模拟试题含解析
- 2026届重庆市南开中学化学九上期中考试模拟试题含解析
- 湖北省武汉市楚才中学2024-2025学年八年级上学期10月月考物理试题(无答案)
- 宠物经济下的宠物食品包装创新研究报告:2025年市场潜力分析
- 2025年关于广告设计合同格式范本
- 临床基于MDT平台下的“5A”护理模式在改善脑卒中后顽固性呃逆患者中应用
- 基础电工安全培训课件
- 2025年财会类资产评估师资产评估基础-资产评估基础参考题库含答案解析(5卷)
- 公安宣传打击黄赌毒课件
- 法律顾问合同协议书模板
- 蜂蛰伤的治疗指南讲课件
- 临床营养支持小组工作方案
- GB∕T 16754-2021 机械安全 急停功能 设计原则
- 中学汉字听写大赛七年级组听写词语
评论
0/150
提交评论