《基于单片机的多功能时钟设计_毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的多功能时钟设计_毕业论文.doc(34页珍藏版)》请在三一文库上搜索。
1、编号 淮安信息淮安信息职业职业技技术术学院学院 毕毕业业论论文文 题 目基于单片机的多功能时钟设计 学生姓名 学 号 系 部电气工程系 专 业机电一体化 班 级 指导教师 顾问教师 二一三年十月 摘 要 I 摘摘 要要 随着生活节奏的加快,人们时间观念的加强,时钟已经成为人们日常生活 中不可或缺的一部分,而如何在时钟的基础上,根据人们生活的需要增加相应 的功能以及方便于人们的生活,成为时钟设计方面的重点。单片机以其强大的 功能,低廉的价格成为许多多功能电子产品的首选。本文探讨了一种带数字温 度计的语音时钟的实现方案。介绍了以AT89C52单片机为核心,控制实时时钟芯 片DS1302,数字温度芯
2、片DS18B20,语音芯片ISD4003-4和液晶显示模块 OCM12864-1,实现时间和闹钟的显示与调整,温度显示和语音报时。 关键词关键词:实时时钟;语音报时;液晶显示;数字温度芯片 Abstract II A Abstractbstract With the quickening pace of life, it enhanced sense of time, the clock has become an indispensable part of daily life. How the clock basis, according to peoples live need to i
3、ncrease accordingly, function to facilitate peoples lives, become the focus of the clock design. Microcontroller with its powerful features, low price to become the first choice for many multi-functional electronic products. The paper discusses a kind of realization of speech chronopher with digital
4、 thermometer. It introduces realizing displaying and adjusting time and alarm-time, displaying temperature and giving time by speech with AT89C52 MCU as the core, controlling RTC Chip DS1302, DTS Chip DS18B20, ChipCorder ISD4003-4, and LCD module. Keywords: RTC; speech chronopher; LCD; DTS 目 录 III 目
5、目 录录 摘摘 要要 I I ABSTRACTABSTRACT IIII 第一章第一章 绪论绪论 1 1 1.1 发展现状、目的及意义.1 1.2 设计内容.2 第二章第二章 系统硬件设计系统硬件设计 3 3 2.1 整体框架概述.3 2.2 主控器 AT89C52 .3 2.2.1 概述.3 2.2.2 主要性能.4 2.2.3 功能性描述.4 2.3 实时时钟芯片 DS1302 6 2.4 温度传感器 DS18B20 .7 2.5 液晶显示模块 12864 .9 2.5.1 概述.9 2.5.2 最大工作范围.9 2.6 语音芯片及功放10 2.6.1 概述10 2.6.2 芯片内部框图以
6、及电路图10 2.6.3 芯片管脚11 2.6.4 ISD4003-4 指令表 13 2.7 独立式键盘设计 13 第三章第三章 系统软件设计系统软件设计 1515 3.1 主程序设计15 3.2 DS130216 3.3 温度芯片 DS18B20 16 3.4 OCM12864 液晶显示 .17 3.5 语音芯片 ISD4003 18 3.6 源程序19 第四章第四章 系统调试系统调试 2424 4.1 PROTEUS软件介绍24 4.2 本设计调试25 4.2.1 硬件调试25 4.2.2 软件调试25 第五章第五章 结论与展望结论与展望 2626 5.1 结论 26 5.2 展望26 目
7、录 致谢致谢 2626 参考文献参考文献 2828 第一章 绪论 1 第一章第一章 绪论绪论 1.1 发发展展现现状、目的及意状、目的及意义义 单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的 重视和关注,应用很广、发展很快。单片机具有体积小、重量轻、抗干扰能力 强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。单片机 是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的 中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定 时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换 器、A
8、/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 单片机在出现时,Intel 公司就给其单片机取名为嵌入式微控制器(embedded microcontroller) 。单片机的最明显的优势,就是可以嵌入到各种仪器、设备 中。这一点是巨型机和网络不可能做到的。单片机在内部已集成了越来越多的 部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D 转换器,D /A 转换器,串行通信接口,Watchdog 电路,LCD 控制器等。 近年来单片机技术飞速发展,产品质量越来越好,而成本却越来越低,现 阶段许多复杂、多用的电子器件普遍采用单片机来实现。随着半导体工艺技术 的发
9、展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人 们可能发现:单片机与微机系统之间的距离越来越小,甚至难以辨认。同时, 随着人们生活节奏的加快,时钟已经成为人们日常生活中的必需品,许多家用 电器都带着时钟模块,而人们也不再满足于仅仅具有时间显示功能的时钟,对 时钟功能的要求也越来越全面,单片机以其强大的功能成为多功能电子时钟的 首选,为电子时钟的功能扩展提供了强大的支持,实现一物多用,提高电子时 钟的使用价值。 当然们不再满足于电子时钟的计时显示功能时语音时钟在社会生活中已经 得到了广泛应用,本文探讨的系统即为其中一种,给出的实现方案和系统设计 过程中实现的单片机模拟单线总线通
10、信方式,单片机模拟 SPI 通信方式,有一 定参考价值。此外,文中探讨的系统也对传统的语音时钟做了扩充,增加了数 字温度计模块。本设计详细介绍了该系统的组成和基本原理,中带你介绍了硬 件设计的思想和软件设计的思路,保证在系统功能齐全,性能良好的前提下, 最大限度的简化电路,降低系统的整体成本,提高系统的可靠性! 淮安信息职业技术学院毕业设计论文 2 1.2 设计设计内容内容 基于单片机的多功能时钟设计,主要探讨了一种带数字温度计的语音时钟 的实现方案。本方案采用单片机 AT89C52 作为控制单元,与数字温度芯片 DS18B20 接口获得温度数据,与实时时钟芯片 DS1302 接口获得时间/日
11、历数据, 通过与液晶模块 OCM12864-1 接口显示温度,时间和日历。按键中断模块包含四 个按键,分别与单片机 INT0,INT1,T0,T1 引脚连接,实现四个外部中断源, 用以调整时间和闹钟,开关闹钟和控制语音报时。语音报时通过语音芯片 ISD4003-4 和扬声器实现。 第二章 系统硬件设计 3 第二章第二章 系统硬件设计系统硬件设计 2.1 整体框架概述整体框架概述 系统结构如图 2-1 所示。本方案采用单片机 AT89C52 作为控制单元,与数 字温度芯片 DS18B20 接口获取温度数据,与实时时钟芯片 DS1302 接口获取时间 /日历数据,通过与液晶模块 OCM12864-
12、1 接口显示温度、时间和日历。按键中 断模块包含了四个按键,分别与单片机的 INT0,INT1,T0,T1 连接,实现四个 外部中断源,用以调整时间和闹钟,开关闹钟和控制语音报时。 图 2-1 系统结构图 2.2 主控器主控器 AT89C52 2.2.1 概述概述 AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反 复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM) , 器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令 系统,片内置通用 8 位中央处理器和 Flash 存储
13、单元,功能强大的 AT89C52 单 片机可为您提供许多较复杂系统控制应用场合。 AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口 线,AT89C52 可以按照常规方法进行编程,但不可以在线编程(S 系列的才支持 在线编程) 。其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦 写的 Flash 存储器可有效地降低开发成本。AT89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,以适应不同产品的需求。 淮安信息职业技术学院毕业设计论
14、文 4 2.2.2 主要性能主要性能 (1) 兼容 MCS51 指令系统,8k 可反复擦写(1000 次)Flash ROM; (2) 32 个双向 I/O 口,256*8bit 内部 RAM; (3) 3 个 16 位可编程定时/计数器中断,时钟频率 0-24MHz; (4) 2 个串行中断,可编程 UART 串行通道; (5) 2 个外部中断源,共 8 个中断源; (6) 2 个读写中断口线,3 级加密位; (7) 低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。 2.2.3 功能性描述功能性描述 AT89C52 为 40 脚双列直插封装的 8 位通用微处理器,采用工业标准的 C51 内核,
15、在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时 的功能控制。功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部 件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及 与主板 CPU 通信等。 AT89C52 的主要管脚有: (1) XTAL1(19 脚)和 XTAL2(18 脚):振荡器输入输出端口,外接 12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。 VCC(40 脚)和 VSS(20 脚)为供电端口,分别接+5V 电源的正负端; P0P3:为可编程通用 I/O 脚,其功能用途由软件定义,
16、在本设计中,P0 端口(3239 脚)被定义为 N1 功能控制端口,分别与 N1 的相应功能管脚相连 接,13 脚定义为 IR 输入端,10 脚和 11 脚定义为 I2C 总线控制端口,分别连 接 N1 的 SDAS(18 脚)和 SCLS(19 脚)端口,12 脚、27 脚及 28 脚定义为握 手信号功能端口,连接主板 CPU 的相应功能端,用于当前制式的检测及会聚调 整状态进入的控制功能。 (2) P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口, 也即地址/数据 总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电 路,对端口 P0 写“1”时,可作为
17、高阻抗输入端用。在访问外部数据存储器或 程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期 间激活内部上拉电阻。在 Flash 编程时,P0 口接收指令字节,而在程序校验时, 输出指令字节,校验时,要求外接上拉电阻。 P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级 可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的 上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存 在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL) 。与 AT89C51 第二章 系统硬件设计 5 不同之处是,
18、P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输入 (P1.0/T2)和输入(P1.1/T2EX) 。 P2 口:P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲 级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“1” ,通过 内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为 内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL) 。在访 问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVX DPTR 指令) 时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如
19、执行 MOVX RI 指令)时,P2 口输出 P2 锁存器的内容。Flash 编程或校验时,P2 亦接收高位地址和一些控制信号。 P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓 冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时, 它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上 拉电阻输出电流(IIL) 。P3 口除了作为一般的 I/O 口线外,更重要的用途是它 的第二功能 ,P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制 信号。 (3) RST:复位输入。当振荡器工作时,RST
20、引脚出现两个机器周期以上 高电平将使单片机复位。 (4) ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存 允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡 频率的 1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要 注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 Flash 存储器 编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能 寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后, 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外
21、,该引脚会被微弱拉高,单 片机执行外部程序时,应设置 ALE 禁止位无效。 (5) PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号, 当 AT89C52 由外部程序存储器取指令(或数 据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。 (6) EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000HFFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端) ,CPU 则 执行内部程
22、序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程 允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 (7) XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 淮安信息职业技术学院毕业设计论文 6 (8) XTAL2:振荡器反相放大器的输出 2.3 实时时钟实时时钟芯片芯片 DS1302 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/ 日历和 31 字节静态 RAM,通过简单的串行接口与单片机进行通信。图 2-3 所示 为 DS1302 的引脚排列,其中 VCC1 为后备电源,VCC2 为主电源。DS1302
23、由 VCC1 或 VCC2 两者中的较大者供电。所以在主电源关闭的情况下,也能保持时 钟的连续运行。X1 和 X2 是振荡源,外接 32.768KHz 晶振用来为芯片提供计时 脉冲。RST 是复位/片选线,通过把 RST 输入驱动置高电平来启动所有的数据传 送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入 移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当 RST 为 高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过 程中 RST 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电行动 时,在 VCC 大于
24、等于 2.5V 之前,RST 必须保持低电平。在 SCLK 为低电平时, 才能将 RST 置为高电平,I/O 为串行数据输入端(双向) 。SCLK 始终是输入端。 图 2-3 DS1302 的硬件接线图 时钟芯片 DS1302 的工作原理: a) DS1302 的控制字节 DS1302 控制字节的高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把 数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示 要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。
25、 b) 数据输入输出(I/O) 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下 一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 第二章 系统硬件设计 7 c) DS1302 的寄存器 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数 据位为 BCD 码形式。 “CH”是时钟暂停标志位,当该位为 1 时,时钟振荡器停止, DS1302 处于低功耗状态;当该位为 0 时,时钟开始运行。 “WP”是写保护位,在 任何的对时
26、钟和 RAM 的写操作之前, “WP”必须为 0。当“WP”为 1 时,写保护位 防止对任一寄存器的写操作。 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存 器及与 RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器 外的所有寄存器内容。DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个,每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写)、FFH(读)。
27、2.4 温度温度传传感器感器 DS18B20 本设计的测温元件采用 DS18B20 数字温度传感器,该产品采用美国 DALLAS 公司生产的 DS18B20 可组网数字温度传感器芯片封装而成,具有 耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数 字测温和控制领域。使用 DS18B20 数字温度传感器,可以感测周围环境温 度变化,并将数据传送给单片机进行处理,实现周围环境实时温度的监测。 DS18B20 具有独特的单线接口,只需 1 个接口引脚即可通信;多点能力使分 布式温度检测应用得以简化;不需要外部元件;可用数据线供电,不需备份 电源;测量范围从 -55至+125,增量值
28、为 0.5。等效的华氏温度范围是 -67F 至 257F;以 9 位数字方式读出温度;在 1 秒(典型值)内把温度变 换为数字;用户可定义的,非易失性的温度告警设置;告诫搜索命令识别和 寻址温度在编定的极限之外的器件(温度告警情况) ;应用范围包括恒温控 制,工业系统,消费类产品,温度计或任何热敏系统。 下图(图 2-4)为 DS18B20 硬件接线图 : 淮安信息职业技术学院毕业设计论文 8 图 2-4DS18B20 引脚接线 引脚说明:GND 为接地引脚;DQ 为数据输入输出脚。用于单线操作,漏极 开路;VCC 接电源正; a) DS18B20 的主要特性 1)适应电压范围更宽,电压范围:
29、 3.05.5V,在寄生电源方式下可由 数据线供电。 2)独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口 线即可实现微处理器与 DS18B20 的双向通讯。 3)DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三 线上,实现组网多点测温。 4)DS18B20 在使用中不需要任何外围元件,全部 传感元件及转换电 路集成在形如一只三极管的集成电路内。 5)温范围55125,在-10+85时精度为0.5。 6)可编程 的分辨率为 912 位,对应的可分辨温度分别为 0.5、 0.25、0.125和 0.0625,可实现高精度测温。 7)在 9 位分辨率时
30、最多在 93.75ms 内把温度转换为数字, 12 位分辨 率时最多在 750ms 内把温度值转换为数字,速度更快。 8)测量结果直接输出数字温度信号,以 “一 线总线“串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力。 9)负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正 常工作。 DS18B20 只需要接到控制器(单片机)的一个 I/O 口上,由于单总线为开漏 所以需要外接一个 4.7K 的上拉电阻。DS18B20 数据线是开漏结构,这就意味着, 在没有数据的时候,总线处于什么样的状态是不确定的.加一个上拉电阻就可以 使总线在空闲的时候处于高电平状态. b
31、) DS18B20 的供电方式 DS18B20 的供电方式有两种:寄生电源供电方式和外部电源供电方式。本 第二章 系统硬件设计 9 设计采用外部电源供电方式, DS18B20 工作电源由 VDD 引脚接入,此时 I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度。外部电 源供电方式是 DS18B20 最佳的工作方式,工作稳定可靠,抗干扰能力强,而 且电路也比较简单,可以开发出稳定可靠的多点温度监控系统 2.5 液晶液晶显显示模示模块块 12864 2.5.1 概述概述 OCM12864 液晶显示模块是 128*64 点阵型液晶显示模块,可显示各种字符及 图形,可与 CPU 直接
32、接口,具有 8 为标准数据接口、6 条控制线及电源线。采用 KSO108 控制 IC,其接线图如 2-5 外观尺寸:1136511mm(ocm12864-1) , 937010mm(ocm12864-2) 787010mm(ocm12864-3) 视域尺寸:73.438.8mm(ocm12864-1) 70.738mm(ocm12864-2) , 6444mm(ocm12864-3) 2.5.2 最大工作范最大工作范围围 (1) 逻辑工作电压(Vcc):4.55.5V; (2) 电源地(GND):0V; (3) LCD 驱动电压(Vee):0-10V; (4) 输入电压:VeeVdd; (5)
33、 工作温度(Ta):055(常温) / -2070(宽温) ; (6) 保存温度(Tstg):-1065 图 2-5 液晶显示模块接线图 淮安信息职业技术学院毕业设计论文 10 2.6 语语音芯片及功放音芯片及功放 2.6.1 概述概述 ISD4003-4 单片录放时间为 4 分钟,其通信方式为 SPI 方式(详见 ISD 公司 关于该芯片的数据手册) ,本系统中以单片机模拟 SPI 方式与其接口。单片机对 其写入 16 位格式命令时序。 2.6.2 芯片内部框芯片内部框图图以及以及电电路路图图 图 2-6 ISD4003-4 内部框图 SS 1 MOSI 2 MISO 3 Vssd 4 Vs
34、sa 11 Vssa 12 AUD OUT 13 AM CAP 14 ANA IN- 16 ANA IN+ 17 Vcca 18 Vssa 23 RAC 24 INT 25 XCLK 26 Vccd 27 SCLK 28 U30 ISD4003 input- 2 input+ 3 GND 4 output 5 VCC 6 U31 LM386 MISO MOSI SCLK SS INT RAC RT9 20K C7 104 C8 104 C9 104 E7 4.7uF E8 1uF E9 4.7uF E10 220uF MK750 Mic2 Q18 9014 R113 1K R114 10K R
35、115 10K R116 300K R117 2K Speaker 8/0.5W GND 1 OUT 2 IN 3 U32 SE8117 VCC J21 Jumper 图 2-7 语音模块电路图 第二章 系统硬件设计 11 2.6.3 芯片管脚芯片管脚 语音芯片管脚排列图如 2-8 所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /SS MOSI MISO VSSD NC NC NC NC NC NC VSSA VSSA AUDOUT AMCAP 28 27 26 25 24 23 22 21 20 19 18 17 16 15 SCLK VCCD XCLK /INT
36、 RAC VSSA NC NC NC NC VCCA ANA IN+ ANA IN- NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 VSSA RAC NC NC /INT XCLK VCCD SCLK SS MOSI MISO VSSD NC NC 28 27 26 25 24 23 22 21 20 19 18 17 16 15 NC NC VCCA ANA IN+ ANA IN- NC AMCAP NC AUDOUT NC VSSA VSSA NC NC TSOP PDIP / SOIC 图 2-8 芯片管脚排列图 引脚描述:引脚描述: 电源(VCCA,VCCD)
37、: 为使噪声最小,芯片的模拟和数字电路使用不同 的电源总线,并且分别引到外封装不同管脚上,模拟和数字电源端最好分别走 线,尽可能在靠近供电端处相连,而去耦合电容应尽量靠近器件。 地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。 几个 VSSA 尽量在引脚焊盘上相连,并用低阻通路连到电源上,VSSD 也用低阻通 路连到电源上。 同相模拟输入(ANA IN+): 录音信号的同相输入端,输入放大器可用 单端或差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值 32mV,耦合电容和本端的 3K 电阻输入阻抗决定芯片频带的低端截止频率。差 分驱动时,信号最大幅度为峰峰值 1
38、6 mV。 反相模拟输入(ANA IN-): 差分驱动时,这是录音信号的反相输入 端。信号通过耦合电容输入,最大幅度为峰峰值 16 mV,本端的标称输入阻抗为 56K,单段驱动时,本端通过电容接地,两种方式下,ANAIN+、ANAIN-端的耦 合电容值应相同。 音频输出(AUD OUT): 提供音频输出,可驱动 5K 的负载。 片选(SS): 此端为低,即向该 ISD4000 芯片发送指令,两条指令之 间为高电平。 串行输入(MOSI): 此端为串行输入端,主控制器应在串行时钟上升沿 之前半个周期将数据放到本端,供 ISD 输入。 淮安信息职业技术学院毕业设计论文 12 串行输出(MISO):
39、 ISD 的串行输出端。ISD 未选中时,本端呈高阻态。 串行时钟(SCLK): ISD 的时钟输入端,由主控制器产生,用于同步 MOSI 和 MISO 的数据转输。数据在 SCLK 上升沿锁存到 ISD,在下降沿移出 ISD。 中断(/INT): 漏极开路输出,ISD 在任何操作(包括快进)中检测到 EOM 或 OVF 时,本端变低并保持。中断状态在下一个 SPI 周期开始时清除。中断 状态也可用 RINT 指令读取。 OVF 标志指示 ISD 录、放操作已到达存储器的末尾。 EOM 标志只在放音中检测到内部的 EOM 标志时,此状态位置 1。 行地址时钟(RAC): 漏极开路输出。每个 R
40、AC 周期表示 ISD 存储器的 操作进行了一行(ISD4000 系列中的存储器共 600 至 2400 行) 。该信号 175ms 保 持高电平,低电平为 25ms。快进模式下,RAC 的 218.75us 是高电平 31.25us 为 低电平。该端用于存储管理技术。 外部时钟(XCLK): 本端内部有下拉元件,芯片内部的采样时钟出厂前 已调校,误差在1%内。商业级的芯片在整个温度和电压范围内,其频率变化 在2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,建 议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列) 。由 于内部的防混淆及平滑滤波器已设定,
41、故上述推荐的时钟频率不应改变。输入 时钟的占空比无关紧要,因内部首先进行了分频。在不外接时钟时,此端必须 接地。 自动静噪(AMACP): 当录音信号电平下降到内部设定的某一阈值以下 时,自动静噪功能使信号衰减,这样有助于减小无信号(静音)时的噪声。通 常,本端对地接 1uF 的电容,构成内部信号电平峰值检测电路的一部分。检出 的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时, 自动静噪电路不衰减,静音时衰减 6dB。1uF 的电容也影响自动静噪电路对信号 幅度的响应速度。本端接 VCCA 则禁止自动静噪。 2.6.4 ISD4003-4 指令表指令表 语音芯片 ISD40
42、03-4 指令表如表 2.1 所示: 表 2.1 ISD4003-4 指令表 指令指令5 位控制码,位控制码,操作摘要操作摘要 POWERUP00100 上电:等待 TPUD 后器件可以工 作 第二章 系统硬件设计 13 SETPLAY11100 从指定地址开始放音 必须后跟 PLAY 指令使放音继续 PLAY11110 从当前地址开始放音(直至 EOM 或 OVF) SETREC10100 从指定地址开始录音 必须后跟 REC 指令使录音继续 REC10110 从当前地址开始录音(直至 OVF 或停止) SETMC11101 从指定地址开始快进 必须后跟 MC 指令使快进继续 MC11111
43、 执行快进,直到 EOM 若再无信息,则进入 OVF 状态 STOP0X110 停止当前操作 STOPPWRDN0X01X 停止当前操作并掉电 RINT0X110 读状态:OVF 和 EOM. 2.7 独立式独立式键盘设计键盘设计 实现键盘控制的方法有多种,它可以用 FPGA 来进行控制,也可以用单片 机来进行控制。在本系统中,我们采用了单片机来进行控制,因为单片机可以 很好的解决键抖动。 由若干个按键组成一个键盘,其电路结构可分为独立式键盘和矩阵式键盘 两种。 独立式键盘每个键单独占用一根 I/O 口线,每根 I/O 口线上的按键工作 状态不会影响其他 I/O 口线上的状态,矩阵式键盘按键排
44、列为行列式矩阵结构, 也称行列式键盘结构。4 行 4 列共 16 个键,只占用 8 根 I/O 口线,键数目较多, 可节省口线。本设计采用的是独立式键盘。键盘的工作方式可分为编程控制方 式和中断控制方式。CPU 在一个工作周期内,利用完成其他任务的空余时间, 调用键盘扫描子程序,经程序查询,若无键操作,则返回;若有键操作,则进 而判断是哪个键,并执行相应的键处理程序。这种方式为编程扫描方式。由于 单片机在正常应用过程中,可能会经常进行键操作,因而编程控制方式使 CPU 经常处于工作状态, 在进行本次设计中,只涉及到了设置、上调、下调、确定 四个功能。因此采用独立式键盘。按键设计图如图 2-9
45、所示: 淮安信息职业技术学院毕业设计论文 14 图 2-9 按键设计 第三章 系统软件设计 15 第三章第三章 系统软件设计系统软件设计 3.1 主程序主程序设计设计 包含主程序设计、语音芯片录放音程序设计、实时时钟程序设计、温度芯 片程序设计、液晶显示程序设计五部分。 图 3-1 所示为主程序流程图。 图 3-1 主程序流程图 在此,仅将流程图中的重点做以解释说明。由于系统中要用到四个外部中 断,而 AT89C52 只有 2 个中断源引脚 INT0 和 INT1,所以需要另外扩展 2 个中断 源引脚。在本系统中,将计数引脚 T0 和 T1 扩展为 2 个中断源引脚。具体方法 如下: 1)将定
46、时器/计数器 T0 和 T1 设定为计数功能。 2)将定时器/计数器 T0 和 T1 设定为方式 2,即自动加载 8 位计数定时模式。 淮安信息职业技术学院毕业设计论文 16 3)设定 TL0 和 TL1 计数初值为 0xFF,设定 TH0 和 TH1 加载数据为 0xFF。 4)开启定时器/计数器中断。 将计数中断 0、1 设定为下降沿触发方式。每当 T0 或 T1 引脚出现负跳变就 会产生一次中断,达到了扩展 2 个中断源的目的。 3.2 DS1302 DS1302 的引脚中 VCC1 为后备电源,VCC2 为主电源。RST 是复位/片选线, 通过把 RST 输入驱动置高电平来启动所有的数
47、据传送。RST 输入有两种功能:首 先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供 终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被 初始化,允许对 DS1302 进行操作。如果在传送过程中 RST 置为低电平,则会终 止此次数据传送,I/O 引脚变为高阻态。上电运行时,在 Vcc2.0V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。I/O 为串 行数据输入输出端(双向) , SCLK 为时钟输入端。 3.3 温度芯片 DS18B20 温度数据由单片机从数字温度芯片 DS18B20 获取。DS
48、18B20 的通信方式为单 线总线方式(详见美国 DSLLAS 公司关于该芯片的数据手册) ,本系统中以单片 机模拟单线总线方式实现与其接口。单片机以字节为单位对其进行读写操作, 读写一个字节分成 8 个连续的位读写时隙实现。单片机读写 DS18B20 的位时隙 如图 3-2、3-3 所示。 图 3-2 主机读“0”时隙和读“1”时隙 第三章 系统软件设计 17 图 3-3 主机写“0”时隙和写“1”时隙 单片机对 DS18B20 的操作需遵循以下步骤: 1)复位,即单片机发出复位脉冲(将总线从高电平拉到低电平并保持 480 微秒到 960 微秒,然后释放) ,等待接收 DS18B20 的存在
49、脉冲(DS18B20 将总线 从高电平拉低,保持 60 微秒到 240 微秒) 。 2)发送 ROM 操作指令,即读 ROM(33H) 、匹配 ROM(55H) 、忽略 ROM(CCH)和搜素 ROM(F0H)其中之一。 3)发送存储器操作指令,即读便笺存储器(BEH) 、写便笺存储器(4EH) 、 复制便笺存储器(18H) 、温度转换(44H) 、回写 E2PROM 的值到便笺存储器 (B8H)和读电源供给(B4H)其中之一。 4)处理或数据操作。要注意,DS18B20 进行一次 12 位的温度转换需要 750 毫秒,如果温度转换没有结束就去读温度数据,将不能得到正确的温度值,且 会终止正在进行的温度转换。所以,必须等待足够的时间,让温度转换完成。 本系统中,重复 ShowTimes 次读取时间数据,显示时间和温度等操作来实现这 个等待时间。 3.4 OCM12864 液晶液晶显显示示 OCM12864 液晶显示模块是 128*64 点阵型液晶显示模块,可显示各种字符及 图形,可与 CPU 直接接口,具有 8 为标准数据接口、6 条控制线及电源线。采用 KSO108 控制 IC。AT89C52 读/写 0C
链接地址:https://www.31doc.com/p-3922241.html