




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕业业设设计计 论论文文 题题 目目 语音播报记事器 英文题目英文题目 the pronunciation disseminates the news record 学生姓名学生姓名 班班 级级 指导教师指导教师 专专 业业 自动化 二 零 零 六 年 六 月 毕业设计 论文 摘要 摘要 本设计以单片机为基础 能够完成对语音信息的录制 播放以达到对人们的提 醒 其中包括整机硬件电路的设计和全部软件部分的设计 该语音播报系统由 led 显示电路模块 按键电路模块 蜂鸣电路模块 语音录 放模块和串行时钟模块组成 主机是以 intel 公司的 8051 单片机为核心芯片 外接 主要芯片包括语音芯片 isd1420 和串行时钟芯片 ds1302 能够实现显示当前时间 录制和播放语音信息 调整当前时间 设置闹钟时间并且在到闹钟时间后 能够以 语音的形式进行提醒并以蜂鸣提示 该设计的主要特点是 设计以语音的形式进行提醒 改变了以人们以单纯无声 的书本记录 并且设计能够显示和修改当前的年份 月份 星期 完全可以作为一 般的钟表来使用 此外 文章力求语言流畅 条理清晰 深入浅出 能为一般的读 者所读懂 关键词 单片机 语音信息 闹钟 毕业设计 论文 abstract abstract this design take the monolithic integrated circuit as a foundation can complete to pronunciation information transcribing the broadcast by achieves to people s reminder including entire machine hardware electric circuit design and complete software partial designs this pronunciation disseminates news the system by the led display circuit module the pressed key electric circuit module the buzzing electric circuit module the pronunciation recording and sending out module and the serial clock module is composed the main engine is take the intel corporation s 8051 monolithic integrated circuits as the core chip outside meets the main chip including pronunciation chip isd1420 and serial clock chip ds1302 it can realize the demonstration current time transcribing and the broadcast pronunciation information the adjustment current time the establishment alarm clock time and in after the alarm clock time can carry on the reminder by the pronunciation form and prompt by the buzzing this design main characteristic is the design carries on the reminder by the pronunciation form changed by the people by the pure silent books record and designs can demonstrate and revise the current year month the week definitely may take the common clock and watch uses in addition this article makes every effort the language smoothly orderliness is clear explains the profound in simple language can read for the common reader key word single chip microcomputer information of pronunciation alarm clock 毕业设计 论文 目录 i 目录 摘要 绪论 1 1 系统的性能指标及要求 2 1 2 语音播报记事器的功能及主要组成 2 1 3 系统主要设计框图 2 2 系统硬件构成与实现 4 2 1 led 显示模块设计 4 2 2 按键电路模块设计 7 2 3 蜂鸣电路模块设计 9 2 4 语音录放模块设计 9 2 4 1 isd1420 芯片的介绍 9 2 4 2 isd1420 芯片与单片机的连接 10 2 5 串行时钟模块设计 11 2 5 1 ds1302 芯片 的介绍 11 2 5 2 时钟芯片与单片机的硬件连接 12 3 系统软件的总体构成与实现 13 3 1 语音播报定时器系统软件设计方案及框图 13 3 2 电子播报记事器的主程序设计 14 4 1 录音与放音模块设计 16 4 1 1 录音与放音选择模块设计 16 4 1 3 放音模块设计 17 4 1 4 录放音控制模块设计 18 4 2 当前时间的调整与闹钟的时间设置模块设计 19 4 2 1 当前时间的调整与闹钟的时间设置选择模块设计 19 4 2 2 调整当前时间程序设计 20 4 2 3 闹钟设置子程序 23 4 3 led 动态显示模块设计 24 4 4 产生一分钟时间模块设计 26 4 5 键盘接收模块的设计 28 结论 30 致 谢 31 毕业设计 论文 目录 ii 参考文献 32 附录 1 33 附录 2 52 毕业设计 论文 绪论 0 绪论 计算机的发展经历了从电子管 晶体管 集成电路 到大规模集成电路共 4 个 发展阶段 微型计算机是大规模集成技术发展的直接产物 属于第四代计算机 随 着微型机的研制成功 不久就出现了单片微型计算机 又称单片机或微控制器 它 在一块芯片上集成了中央处理器 只读存储器 随机存储器 定时 记数器以及 i o 接口电路等主要计算机部件 换言之 它就是把微型计算机所有的功能部件都集成 在一块芯片上了 故国内常称其为单片机 由于单片机体积小 质量轻 功耗低 价格便宜 控制能力强 运行稳定可靠 自问世以来 在各领域得到了广泛的应用 尤其是在近几年的工业控制 自动检测 智能仪器仪表 家用电器等领域发挥着不 可替代的作用 使它不断拓宽应用范围 增添了新的活力 随着电子技术的迅速发展 人类生活亦得到了根本性的改变 如果说微型计算 机的出现使现代科学研究得到了质的飞跃 那么可以毫不夸张地说 单片机技术的 出现则是给现代工业控领域带来了一次新的技术革命 在这种瞬息万变的新形势下 全球的信息化使人们足不出户便可以获取全方位 的知识和信息 与此同时人们的生活节奏也随之加快 竞争变得日趋激烈 因此 能够合理的安排和利用时间在日常的学习和工作中就显得尤为重要了 但是在充满 压力的生活中 往往很容易因一时的疏忽就耽误已安排好的事情造成迟到或其他事 件 甚至产生了严重的后果和经济损失 此时 若有一台智能语音记事器 将各种 约定时间记录下来 按时进行语音提醒 就可以避免迟到 缺席事件的发生 从而 给我们的工作和学习带来很大的方便 单片机技术的发展为这一设想提供了技术基础 在以 mcs 51 系列单片机为核心器件组成的一个语音提示系统中 其所具有的 标准日历 能够随时对当前时间进行调整 随时输入定时播报 闹钟 时间等功能 满足了人们的要求 使人们不再担心会忘记重要的约会 毕业设计 论文 系统性能指标及要求 1 1 系统的性能指标及要求 为了使人们在日常生活中不会忘记已安排好的日程 本设计语音播报记事器采 用了主意提示的方法去提醒人们 满足了人们的要求 1 2 语音播报记事器的功能及主要组成 在通常情况下 人们总是通过如下的方式提醒自己 将将要发生的事情记录下 来 这种发法虽然有效 但到时又难免忘记 再者就是将将要发生的事情的时间刻 录在电子表类的仪器上 等时间到时 仪器便以蜂鸣的形式进行提醒 但如果时间 太久了 虽然知道了事情的时间 却又容易想不起是什么事情 所以本设计语音播 报记时器将采用语音播报的形式对人们进行主动提醒 不管时间有多久 它也能准 确 及时地进行时间和语音播报的提醒 本系统以 8051 单片机为核心器件 以语音芯片 isd1420 和串行时钟 ds1302 芯 片为辅助芯片 并通过一定的硬件电路连线 能够完成对语音的录制与播放 能够 对当前时间进行调整各对提醒时间的设定 并且同时能以四位时钟 led 显示出来 有了这样的设计 相信人们在百忙的生活中就不会因一时的疏忽而耽误一些重 大事宜 本设计具备了语音的录入和提示功能 改变了以往的无声书本的记录方法 当 你有什么重要的事情而又担心忘记时 你就可以对其进行录音 并设置好提醒时间 到时 它就会将录音内容播报出来 并在最后进行蜂鸣提醒 除了具备电子记事本的功能外 本系统也可以当作钟表来使用 因为它具有四 位 led 数码管 可对当前时间进行显示 当时间发生差错时 还可以按照一定的方 法进行调整 不会因时间无法调整而进行错误提醒 有了语音播报记事器 你也不用担心会出现在录制了一次事情后而没有办法再 次录制的情况 因为本设计能够进行五组录音 当某件事情已过去时 可以将以前 的语音信息覆盖 再次进行录音 此外 本系统对时间的设置是随意的 因为该设计具有标准的日历 时钟 即年 月 日 星期 时 分和秒 遇到闰年还可以自动修正 有了这样的设计 相信人们在百忙的生活中就不会因一时的疏忽而耽误一些重 大事宜 1 3 系统主要设计框图 根据设计要求与设计思路 本系统采用单片机作为核心控制部件 采用可擦除 可分段语音处理芯片 isd1420 记录语言以及其他外围电路组成语音提示系统 系统 由实时时钟 语音录放控制 当前时间调整 提醒时间设置 led 译码 驱动 时间 显示和语音处理等模块组成 系统设计框图如图 1 1 所示 毕业设计 论文 系统性能指标及要求 2 图 1 1 系统设计框图 仅有这些硬件模块还达不到我们预期设计的目的 因此 我们要加入编程以实 现电路设计的简洁优化 这其中包括系统对各组语音录放不同存放地址的设置及实 现 对具体时间的规定和调整 如每星期的天数设定 每天的小时固定数字显示设 定等 对记事器的定时中断等 从而达到预期的数据采集及传送的效果 单 片 机 实时时钟 rtc 提醒时间设置 当前时间调整 语音录放控制 4 位时钟型 led 显示 led 译码 驱动模块 语音处理 模块 蜂鸣器控制 扬声器 送话器 毕业设计 论文 系统硬件构成与实现 3 2 系统硬件构成与实现 在本章的硬件设计电路中 主要阐述了 led 显示电路模块 按键电路模块 蜂 鸣电路模块 语音录放模块和串行时钟模块六个模块 其中介绍了模块中所用到的 主要芯片 硬件连线电路原理和各模块所实现的功能 2 1 led 显示模块设计 为实现单片机应用系统中的人机对话 即人对应用系统的状态干预 数据输入 或应用系统向人们显示运行状态结果等 需加入显示器 键盘等外围设备 这就是 用来完成人机对话活动的人机通道 在本系统的设计中 由系统硬件设计框图可知 这样的人机对话通道的显示电 路由 led 显示器 段驱动电路和位驱动电路组成 1 led 显示器的介绍 e 1 d 2 dp 3 c 4 g 5 d4 6 b 7 d3 8 d2 9 f 10 a 11 d1 12 dp 图 2 1 4 led 显示器引脚原理图 如图 2 1 所示 本设计中采用 4 位一体的时钟型 led 显示器 简称 4 led 的前 2 位显示 小时 的十位和个位 的后 2 位显示 分 的十位和 个位 从其引脚可知 它是一个共阴极接法的 4 位时钟型 led 显示器 4 位一体时钟 型 led 显示器的内部结构如图 2 2 所示 它是由 4 个单独的 led 和一个 led 组成 每个 led 的段输出引脚在内部并联后 引出到器件的外部 毕业设计 论文 系统硬件构成与实现 4 abc de f gdpabc de f gdpabc de f gdpabc de f gdp dpdpdpdp d1d2d3d4 位位位位位 位 位 位 位 位 图 2 2 4 led 显示器内部结构原理图 2 led 的段驱动芯片的介绍 在本设计中 可以选择 74ls48 作为段驱动电路 该芯片具有锁存 译码 驱 动的功能 即在输入端输入要显示字型的 bcd 码 在输出端就可以得到具有一定驱 动能力的 7 段显示字型码 图 2 3 给出了 74ls48 的引脚图 引脚图中大写字母 a b c d 为 bcd 码的输 入端 小写字母 a b c d e f g 为字型码输出端 表 2 1 给出了 74ls48bcd 段锁存 译码 驱动器的输入与输出信号的对应关系 74ls48 的作用是接收来自 3 单片机的 bcd 码型的输入信号 经过锁存 译码和放大后 输出 7 段字型码到 led 显示器 完成对 bcd 码到 7 段字型码的锁存 译码和驱动的功能 b 1 c 2 lt 3 bi rbo 4 rbi 5 d 6 a 7 vss 8 e 9 d 10 c 11 b 12 a 13 g 14 f 15 vdd 16 图 2 3 74ls48 芯片引脚图 毕业设计 论文 系统硬件构成与实现 5 表 2 1 74ls48bcd 7 段码器输入 输出端信号对照表 3 led 的位驱动芯片的介绍 本设计中采用的 led 位驱动芯片是 uln2003 其引脚图如图 2 4 所示 其中 in1 in7 引脚是输入端 out1 out7 引脚是输出端 该芯片的输入端引脚 in1 in2 in3 in4 与单片机的 p1 口连接 输出端引脚 out1 out2 out3 out4 与 led 显示器的 4 个位码引脚 d1 d4 相连接 uln2003 接收来自单片机的位码输入 信号 经过反相放大后输出 送到 led 显示器位码引脚 完成对位码信号的反向和 驱动 in1 1 in2 2 in3 3 in4 4 in5 5 in6 6 in7 7 comm 89 out7 10 out6 11 out5 12 out4 13 out3 14 out2 15 out1 16 图 2 4 uln2003 芯片的引脚图 4 led 驱动电路与单片机的连接 单片机的 p1 口作为 led 的输出接口 其低四位作为 led 的段码输出信号 高四 位作为 led 位码的输出控制信号 硬件电路连接如图 2 5 所示 驱动中的上拉电 1 阻保证了 led 的可靠导通与截止 输入端 电平 输出端电平输入端电平输出端电平 dcbag f e d c b a 显示 字型 dcbag f e d c b a 显示 字型 0000011 1111 3fh 00101110 1011 6dh 5 0001000 0110 06h 10110111 1011 7dh 6 0010101 1011 5bh 20111000 0111 07h 7 0011100 1111 4fh 31000111 1111 7fh 8 0100110 0110 66h 41001110 1111 6fh 9 毕业设计 论文 系统硬件构成与实现 6 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 rest 9 rxd 10 txd 11 int0 12 int1 13 t0 14 t1 15 x2 18 x1 19 ea vp 31 wr 16 rd 17 psen 29 ale p 30 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 8051 u1 p10 p11 p12 p13 p14 p15 p16 p17 rbi 5 bi rbo 4 lt 3 e 9 d 10 c 11 b 12 a 13 g 14 f 15 d 6 c 2 b 1 a 7 r4 74ls48 in1 1 in2 2 in3 3 in4 4 in5 5 in6 6 in7 7 out1 15 out2 14 out3 13 out4 12 out5 11 out6 10 out7 9 u7 uln2003 p10 p11 p12 p13 p14 p15 p16 p17 a 11 b 7 c 4 d 2 e 1 f 10 g 5 p 3 d1 12 d2 9 d3 8 d4 6 disp1 r15 1k vcc 9012 vt2 r12 100 r11 20 vcc p15 图 2 5 led 驱动电路与单片机的连接 驱动电路的工作原理为 当 p1 口的低四位输出段码信号的 bcd 码后 通过 74ls48 芯片的锁存 译码和驱动 在其输出端输出具有一定驱动能力的七段字型码 并通过 uln2003 的反向后驱动达到明确有序的动态显示的目的 p1 口的控制信号及 4 led 的显示状态如表 2 2 所示 表 2 2 4 led 动态扫描显示状态 p1 口输出控制 字 点亮 顺序 位码 段码 74ls48 输出段码 g f e d c b a 2003 输出位码 d1 d2 d3 d4 11000 0000b 80h 011 1111b 3fh 0111 20100 0001b 41h 000 0110b 06h 1011 30010 0010b 22h 101 1011b 5bh 1101 40001 0011b 13h 100 1111b 4fh 1110 由于 74ls48 是 bcd 码 7 段译码器 对小数点位没有驱动作用 因此 必须给 4 led 显示器中的 符号设计一个驱动电路 dp 的驱动电路由 vt2 r11 r12 器件组成 该电路的工作原理是 当 vt2 的基极为低电平时 vt2 导 通 dp 段被点亮 即 与 led 数码管的第二位一起被点亮 当 vt2 的基极为高 毕业设计 论文 系统硬件构成与实现 7 电平时 vt2 截止 dp 段熄灭 2 2 按键电路模块设计 本设计应用系统工作时应具备两项基本功能 一是随时输入定时 闹钟 时间 二是随时对当前时间进行调整 要实现这两项功能 可以接入键盘输入电路 1 键盘结构的介绍 在本设计中选择的独立式键盘为五个按键 如图 2 6 所示 电路由按键和六个 电阻组成 按键分别命名为 play rec set alm 1 ret 键 2 键盘与单片机的接口电路设计 如图 2 6 所示 将 1 键 ret 键直接与单片机的 p3 0 与 p3 1 口连接 set 与 alm 通过 74ls08 相与后连接到 int1 口 rec 与 t0 口通过 74ls08 相与后连接到 int0 口 其中 t0 t1 口作为基本输入输出口使用 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 rest 9 rxd 10 txd 11 int0 12 int1 13 t0 14 t1 15 x2 18 x1 19 ea vp 31 wr 16 rd 17 psen 29 ale p 30 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 8051 u1 vcc b1 12khz c9 22pf c8 22pf 74ls08 74ls08 1 2 3 4 5 6 recs3 se ts4 alms5 1s6 rets7 p20 p21 p22 r8 200 s2rst r7 1k s1 pl ay 位 c10 22uf p20 p21 p22 r13 1k vcc 图 2 6 按键与单片机的硬件连接 play 键所实现的功能是进行语音信息的播放 rec 键是进行语音信息 的录制 如果在单片机的 int0 口产生一个中断 单片机先判断 t0 口是否是低电平 如果是 表明 play 键被按下了 就执行放音操作 如果不是 则表明按下的是 rec 键 程序转到录音操作 这两键可与 1 ret 键的配合使用对进行不 同地址段的录放 音选择 1 键用来选择录音的段数 ret 用来确认录 放音段已完成 alm 键所实现的功能是进行闹钟时间的设置 set 键则是对当前时间进行 毕业设计 论文 系统硬件构成与实现 8 调整 如果在单片机的 int0 口产生一个中断 单片机先判断 t1 口是否是低电平 如果是 表明 alm 键被按下了 单片机就去执行设置闹钟时间的操作 如果不是 表明按下的是 set 键 则单片机就是执行对当前时间调整的操作 这两键可与 1 ret 键同时完成各自的功能 1 键用来对调整位进行加 1 操作 ret 用来确认调整位已修改完 键盘的硬件电路设计只能保证六个按键信号的可靠进入 要想完成键盘的输入 功能 还要靠软件编程来具体实现 设置当前时间和闹钟时间的中断服务程序 请 参考软件设计一节 inta intb 子程序设计 2 3 蜂鸣电路模块设计 本设计中选择了蜂鸣器来实现定时 闹钟 时间的声音提醒 其电路如图 2 7 所示 在单片机 p2 7 口通过限流电阻 r9 接入蜂鸣器 ha 作为三极管 vt1 的发射 极负载 当 p2 7 0 时 vt1 导通时 蜂鸣器中有电流通过 发出蜂鸣音 反之蜂 鸣器不发声 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 rest 9 rxd 10 txd 11 int0 12 int1 13 t0 14 t1 15 x2 18 x1 19 ea vp 31 wr 16 rd 17 psen 29 ale p 30 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 8051 u1 r9 100 vcc ha2 gnd 9012 vt1 图 2 7 蜂鸣电路原理图 2 4 语音录放模块设计 在本设计中选用了 isd1420 作为系统的语音芯片 在确保语音质量好的情况下 使其元器件达到最少 2 4 1 isd1420 芯片的介绍 isd1420 语音录放电路芯片由振荡器 语音存储单元 前置放大器 自动增益 控制电路 抗干扰滤波器 输出放大器组成 电路外形图引出端功能说明 1 a0 a7 地址输入端或控制命令输入端 当 a7 a6 同时为高电平时 a4 a0 为控制命令 否则 a0 a7 为地址 毕业设计 论文 系统硬件构成与实现 9 2 dgnd 数字信号地线 3 agnd 模拟信号地线 4 sp sp 音频信号输出端 连接 8 16 扬声器 5 v 模拟信号电源 5v 6 mic 话筒参考输入端 通过电容耦合 连接驻极体话筒 7 micref 话筒参考输入端 8 agc 自动增益控制端 调整芯片内部前置放大器增益 使录入信号不失真 9 ana in 模拟信号输入端 ana out 模拟信号输出端 10 playl 放音控制电平触发端 该端为低电平时 芯片进入放音同期 当该 端为高电平时 停止放音 11 playe 放音控制脉冲触发端 该端输入由高电平向低电平跳变的下降沿 时 芯片进入放音周期 12 recled 录音显示端 该端接发光二极管 在录音时作悄音指示灯 13 xclk 时钟控制端 14 rec 录音控制端 该端为低电平时 芯片进入录音状态 录音期间该端 必须保持低电平 rec 信号的优先级高于 playl 和 playe 两种放音信号 其芯片引脚如图 2 8 所示 a0 1 a1 2 a2 3 a3 4 a4 5 a5 6 nc 7 nc 8 a6 9 a7 10 nc 11 dgnd 12 agnd 13 sp 14 sp 15 v 16 mic 17 mic re f 18 agc 19 ana in 20 ana out 21 nc 22 pl ayl 23 pl aye 24 recl ed 25 xclk 26 rec 27 v 28 a0 1 a1 2 a2 3 a3 4 a4 5 a5 6 nc 7 nc 8 a6 9 a7 10 nc 11 dgnd 12 agnd 13 sp 14 sp 15 v 16 mic 17 mic re f 18 agc 19 ana in 20 ana out 21 nc 22 pl ayl 23 pl aye 24 recl ed 25 xclk 26 rec 27 v 28 图 2 8 isd1420 的外部引脚图 在芯片的引脚中 模拟语音信号从 mic 和 micref 两个端口输入 经放大器放 大后又从 anaout 端输出 然后通过外接耦合电容输入到 anain 端 该信号再经适 当放大后就可被时钟信号采样存储到 eeprom 中 2 4 2 isd1420 芯片与单片机的连接 为实现语音播报的录入和播放功能 我们在此接入了 isd1420 语音芯片 并采 用锁存器 74ls377 对其控制锁存达到良好的语音信息的录制与播报 其硬件电路图 如图 2 9 所示 毕业设计 论文 系统硬件构成与实现 10 p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 rest 9 rxd 10 txd 11 int0 12 int1 13 t0 14 t1 15 x2 18 x1 19 ea vp 31 wr 16 rd 17 psen 29 ale p 30 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 8051 u1 e 1 q0 2 d0 3 d1 4 q1 5 q2 6 d2 7 d3 8 q3 9 clk 11 q4 12 q5 15 q6 16 q7 19 d4 13 d5 14 d6 17 d7 18 u3 74ls377 p26 p00 p01 p02 p03 p04 p05 p06 p07 p00 p01 p02 p03 p04 p05 p06 p07 q0 q1 q2 q3 q4 q5 q6 q7 a0 1 a1 2 a2 3 a3 4 a4 5 a5 6 a6 9 a7 10 pl ayl 23 pl aye 24 rec 27 recl ed 25 xclk 26 vccd 28 vcca 16 vssd 12 vssa 13 sp 14 sp 15 ana in 20 out 21 m ic re f 18 m ic 17 agc 19 u2 isd1420 gnd r6 1k vd1 gree c7 0 001uf s1pl ay gnd q0 q1 q2 q3 q4 q5 q6 q7 r14 1k vcc 位 c2 0 1uf gnd1 2 ys1 ha1 c3 0 1uf r2 5 1k c4 0 1uf r1 1k 位 c1 220uf r3 10k vcc m ic1 r4 10k c5 0 1uf r5 470k 位 c6 4 7uf gnd r10 4 7k vd2 red 图 2 9 语音芯片与单片机的连接 2 5 串行时钟模块设计 播报记事器除了有播放和录入的功能外 还具有作为时钟的显示功能及中断控 制 2 5 1 ds1302 芯片 的介绍 ds1302 是一种高性能 低功耗 带 ram 的实时时钟芯片 它可以对年 月 日 周日 时 分 秒进行计时 且具有闰年补偿功能 ds1302 的引脚如图 2 10 所 示 图 2 10 ds1302 的外部引脚图 ds1302 中当复位端 rst 为高电平时 所有的数据传送被初始化 允许对 ds1302 进行操作 否则将会终止此次数据传送 且 i o 引脚变为高阻态 上电运行 时 在 vcc 2 5v 之前 rst 必须保持低电平 只有在 sclk 为低电平时 才能将 rst 置为高电平 ds1302 共有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的数据 位为 bcd 码形式 其日历 时间寄存器及其控制字如表 2 3 所示 v1 x1 x2 gnd v2 scl k i o rst 毕业设计 论文 系统硬件构成与实现 11 表 2 3 ds1302 寄存器地址及命令字 2 5 2 时钟芯片与单 片机的硬件连 接 ds1302 与单片机的通信仅需要三根线 即 rst 复位线 i o 数据线 及 sclk 串行时钟线 ds1302 与 cpu 连接的电路原理如图 2 11 所示 v1 在单片机 电源与电池供电的系统中提供低电源并提供低功率的电池备份 当 v1 在双电源系统 中提供主电源时 v2 连接到备份电源 以便在没有主电源的情况下能保存时间信息 以及数据 ds1302 由 v1 和 v2 两者中较大者供电 图 2 11 时钟芯片 ds1302 与单片机的硬件连接原理图 当单片机中的 t1 定时器发生中断时 单片机便将 p2 2 置高电平 使得 ds1302 时钟 日历读操作写操作ram读操作写操作 秒81h 80h第 1 个字 节 c1hc0h 分 83h 82h第 2 个字 节 c3h c2h 小时85h 84h 日 87h 86h 月 89h 88h 星期 8bh 8ah 年 8dh 8ch第 30 个字 节 fdh fch 控制寄存 器 8fh 8eh第 31 个字 节 ffh feh p10 1 p11 2 p12 3 p13 4 p14 5 p15 6 p16 7 p17 8 rest 9 rxd 10 txd 11 int0 12 int1 13 t0 14 t1 15 x2 18 x1 19 ea vp 31 wr 16 rd 17 psen 29 ale p 30 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 8051 u1 vcc 1 x1 2 x2 3 gnd 4 rst 5 i o 6 scl 7 vbat 8 ds1302 vcc gnd bt1 b2 32 768khz c11 5 6pf c12 5 6pf 3v 毕业设计 论文 系统硬件构成与实现 12 的 rst 处于高电平 由此 ds1302 便将当前时间传送到单片机中的显示缓冲区 因 t1 每分钟中断一次 所以每隔一分钟 4 led 显示器便刷新一次重新显示当前时 间 毕业设计 论文 系统软件总体构成与实现 13 3 系统软件的总体构成与实现 因为对语音播报记事器进行软件设计 要涉及到很多的子程序 如录音 放音 定时等 所以我针对上面的问题考虑用模块化设计方法进行软件的设计 其优点是 1 每个模块的程序结构简单 任务明确 易于编写 调试和修改 2 程序可读性好 对程序修改可局部进行 其他部分可以保持不变 便于功 能扩充和版本升级 3 对于使用频繁的子程序可以建立子程序库 便于多个模块调用 4 便于分工合作 多个程序员同时进行程序的编写和调试工作 加快软件研 制进度 3 1 语音播报定时器系统软件设计方案及框图 根据设计要求 首选要确定软件设计方案 思考软件设计中应包括哪些功能 其次是规划为了完成这些功能需要分成多少个功能模块 以及每一个程序模块的具 体任务是什么 由于对每个模块进行划分时有很大的灵活性 但也不能随意划分 划分模块时应遵循下述原则 1 每个模块应具有独立的功能 能产生一个明确的结果 2 模块之间的控制参数应尽量简单 数据参数应尽量少 控制参数是模块进 入和退出的条件及方式 数据参数是指模块间的信息交换方式 交换量的多少及交 换的频繁程度 3 长度适中 模块语句的长度通常在 20 100 条较合适 模块太长时 分析 和调试比较困难 模块太短则信息交换太频繁 也不合适 4 根据模块的划分原则 将该程序划分成五个模块 如图 3 1 所示 主 程 序 录 放 音 当前 时间 定时 时间 设置 l e d 显 示 定 时 一 分 钟 中 断 键 盘 控 制 毕业设计 论文 系统软件总体构成与实现 14 图 3 1 主程序及其子程序模块 3 2 电子播报记事器的主程序设计 主程序的内容一般包括 主程序的起始地址 中断服务程序的起始地址 有关 内存单元及相关部件的初始化和一些子程序调用等等 1 程序的起始地址 mcs 51 系列单片机复位后 pc 0000h 而 0003h 002bh 分别为各中断源 的入口地址 所以 编程时应在 0000h 处写一跳转指令 当 cpu 接收到中断请求信号予以响应后 cpu 把当前的 pc 内容压入栈中进行保 护 然后转入相应的中断服务程序入口处执行 一般应在相应的中断服务程序入口 处写一条跳转指令 并以跳转指令的目标地址作为中断服务程序的起始地址进行编 程 以 int0 为例 中断矢量地址为 0003h 中断服务程序从 inta 标号地址开始 2 主程序的初始化内容 对主程序初始化 其实是对将要用到的 mcs 51 系列单片机内部部件或扩展芯 片进行初始化 使其工作状态得到一个初始设定 如应对特殊功能寄存器 ie ip 进 行初始化 因为 8051 复位后 ie ip 中的内容均为 00h 所以应对其进行初始化编 程 以开放 cpu 中断 允许某些其他中断源中断和设置中断优先级等 1 对于本设计 用 t0 t1 int0 int1 四个中断 其中 t0 中断 t0 定时中断 达到 led 动态扫描的目的 t1 中断 t1 定时中断 达到每分钟从 ds1302 中读取当前时间的目的 int0 中断 接受外部中断信息 达到语音信息的录制与播报的目的 int1 中断 接受外部中断信息 达到对当前时间的调整和闹钟时间的设置的目 的 3 代码转换程序 由于日常我们都是识别十进制数 bcd 码 而计算机它只识别二进制数 因 此 在程序设计中经常要涉及代码的转换 即将当前时间的二进制数转换成 bcd 码 并送到显示缓冲区最终显示出来 4 在主程序中进行各项初始化设置后 首先 cpu 会先查询当前有没有对闹 钟设初值 如果有 就把此闹钟时间与当前时间相比较 看看是否到了闹钟所定的 时间 如果到了 就进行语音提示 如果没有到 cpu 就对 p3 0 口进行扫描 判断 1 键有没有按下 如果按下 4 led 就会显示当前的年份 月份 日期 星期 小时 分钟 满足人们的查询要求 5 程序设计框图参照图 3 2 所示 毕业设计 论文 系统软件总体构成与实现 15 y 显示当前小时 分钟 定时器 t0 t1 初始化 n n y y 有定时时间否 定时时间到否 开始 设置各级中断服 务程序入口地址 设置堆栈指针 设置起始日期 设置显示缓冲区 ds1302 初始化 设置中断优先级 语音提示 蜂鸣提醒 n n y n y y n n y n y 显示当前年份 显示当前月 日 1 键按下否 ret 键按下否 1 键按下否 ret 键按下否 显示当前星期 1 键按下否 ret 键按下否 图 3 2 主程序流程图 毕业设计 论文 系统软件各模块的设计与实现 16 4 系统软件各模块的设计与实现 本设计中大部分具体的操作都以子程序的形式出现在程序中 从功能上来讲主 要包括 录放音 当前时间调整及时钟设置 led 动态显示 定时一分钟中 断 及 键盘接受 五个模块 4 1 录音与放音模块设计 4 1 1 录音与放音选择模块设计 对 into 外部中断 不能直接接入是因为 int0 的外部中断有两个 所以直接接 入是不可以的 我们采用对 t0 口进行扫描 从而解决了这一问题 由硬件电路图可以看出来 有两种方法可以使 int0 口产生中断 一是当 play 键按下时 另一种是 rec 键按下时 当 cpu 接收到 int0 口产生的中断 时 先对 t0 口进行扫描 如果 t0 口为低电平 表明 play 键被按下了 cpu 则 进行放音操作 如果 t0 口为高电平 表明按下的是 rec 键 cpu 则去执行录音操 作 其程序流程图如图 3 3 所示 图 3 3 录音与放音选择模块设计的程序流程图 4 1 2 录音模块设计 在录音控制中 录音顺序号位显示后通常应先调整 并通过 ret 键来判断是 y n 跳转到放 音子程序 跳转到录音子程序 恢复现场 inta 服务程序 开中断 reti 返回 关中断 保护现场 rec 键按下否 毕业设计 论文 系统软件各模块的设计与实现 17 否需要进行调整 如果 ret 键按下了 表明不进行调整 如果没有按下 则表明 需要进行调整 调整时 用 1 键来完成调整 每按下一次 被调整值就做加 1 调整 调整结束后 按下 ret 键进行确认 之后 便根据顺序号 在相应的起 始地址开始录音 在录音完成后 按下 ret 键来表明录音操作已完成 其程序流程图如图 3 4 所示 图 3 4 录音程序流程图 4 1 3 放音模块设计 放音子程序的实现方法与录音控制子程序的实现方法大体相同 就不作介绍了 其程序流程图如图 3 5 所示 调整录音顺序号 显示录音顺序号 调用录放音子程序录 入从 40h 的语音信息 调用录放音子程序录 入从 48h 的语音信息 调用录放音子程序录 入从 50h 的语音信息 调用录放音子程序录 入从 58h 的语音信息 录音子程序 调用录放音子程序录 入从 60h 的语音信息 顺序号 1 顺序号 2 顺序号 3 顺序号 4 ret 返回 y y y y n n 毕业设计 论文 系统软件各模块的设计与实现 18 图 3 5 放音程序流程图 4 1 4 录放音控制模块设计 本模块的设计所实现的功能是使 74ls377 在 p2 6 口产生一个上升沿脉冲 使得 74ls377 在这个上升沿脉冲时将单片机送到 d 端的地址锁存到 q 端 并等待 isd1420 取走该地址 完成单片机对语音芯片 isd1420 传送地址的不同时序的控制 其程序流程图如图 3 6 所示 调整放音顺序号 显示放音顺序号 调用录放音子程序播 放 80h 的语音信息 调用录放音子程序播 放 88h 的语音信息 调用录放音子程序播 放 90h 的语音信息 调用录放音子程序播 放 98h 的语音信息 调用录放音子程序播 放 a0h 的语音信息 顺序号 1 顺序号 2 顺序号 3 顺序号 4 ret 返回 y y y y n n n 放音子程序 毕业设计 论文 系统软件各模块的设计与实现 19 图 3 6 录放音控制程序流程图 4 2 当前时间的调整与闹钟的时间设置模块设计 语音播报的主要特点之一就是可以对其播报事件的时间随时设定 并做好相应的 时间调整 下面将主要论述到如何来实现这一功能以达到预期的目的 4 2 1 当前时间的调整与闹钟的时间设置选择模块设计 同 int0 口一样 int1 口也要接入两个外部中断 其实现方法与 int0 中断选择 相同 其流程图如图 3 7 所示 录放音控制子程序 将 p2 6 口置低电平 将单片机 a 中的内容送到 p0 口 将 p2 6 口置高电平 产生一上升沿脉冲 ret 返回 将 p0 口的地址锁存 到 74ls377 的 q 端 intb 服务程序 关中断 保护现场 跳转到设置 闹钟子程序 跳转到当前时 间调整子程序 alm 键按下否 开中断 恢复现场 reti 返回 y n 毕业设计 论文 系统软件各模块的设计与实现 20 图 3 7 时间的调整与闹钟的时间设置选择程序流程图 4 2 2 调整当前时间程序设计 该子程序主要实现的功能是对当前时间进行调整 在实现其功能时 将调整年 星期 调整月 日和调整小时 分的值又分为了三个子程序 程序先显示 29h 单元存放的数 同时可以通过 1 键进行调整 并且以 ret 键来进行确认 程序还对 29h 单元中存放的数进行判断 看是否在 1 3 之 间 如果不是就将其置 1 并使其在 1 3 之间循环 取 29h 中的数分别进行比较 如果 29h 单元中存放的数字是 1 程序便转入到对 年 星期值的调整 如果 29h 单元中存放的数字是 2 程序便转入到对月 日值的 调整 如果 29h 单元中存放的数字是 3 程序便转入到对时 分值的调整 如果不 是以上值 程序便转入到对小时 分钟值的调整 其流程图如图 3 8 所示 y n 29h 4 ret 按下否 29h 1 29h 2 调整年 星期的 值 当前时间调整子程序 显示 29h 中调整序号 29h 1 调整月 日的 值 调整小时 分钟的值 ret 返回 按 1 键调整序 号 y n y n y n 毕业设计 论文 系统软件各模块的设计与实现 21 图 3 8 调整当前时间程序设计流程图 1 调整年 星期的子程序先显示年份的后两位 并通过 ret 键来判断是否 需要进行调整 如果 ret 键按下了 表明不进行调整 如果没有按下 则表明需 要进行调整 调整时 用 1 键来完成调整 每按下一次 被调整值就做加一 调整 调整结束后 按下 ret 键进行确认 这时 就进入到对星期的调整 其调 整方法与年份的调整相同 其流程图如图 3 9 所示 图 3 9 调整年 星期的子程序流程图 2 调整月份 日期的子程序先显示月份 并通过 ret 键来判断是否需要 进行调整 如果 ret 键按下了 表明不进行调整 如果没有按下 则表明需要进 行调整 调整时 用 1 键来完成调整 每按下一次 被调整值就做加一调整 因为每年只有 12 个月 所以不能出现 12 个月以上的数字 所以将月份的值设置有 0 12 之间 当月份调整完后 按下 ret 键进行确认 程序就转入到对日期进行 调整的部分 因为 2 月份只有 28 天 所以不能出现 28 以上的数字 所以当月份是 y 调整年份 星期的子程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三方买卖合同协议书范本
- 索菲亚衣柜销售合同范本
- 政府购买bot合同范本
- 路面冲洗车出租合同范本
- 摩托车回收零售合同协议
- 染整厂甲醇采购合同范本
- 住房办公室出租合同协议
- 超市鲜香菇供货合同范本
- 未上牌客户提车协议合同
- 解析卷-人教版8年级数学上册《轴对称》同步测试试题(含解析)
- 2024年溧阳市卫生健康系统农村订单定向医学毕业生定向招聘笔试真题
- 执行力责任心培训课件
- 2025年营养师考试冲刺押题试卷:营养师实操技能考核与解析
- 水厂设施现代化改造方案
- 2025秋季开学第一课完整版课件
- 第2课《中国人首次进入自己的空间站》教学设计统编版八年级语文上册
- 2025重庆对外建设集团招聘41人笔试参考题库附答案解析
- 2025年版小学数学新课程标准测试题含答案【附新课标解读】
- 中医健康管师试题及答案
- 投标造价委托协议书范本
- 新粒子生成与生长机制-洞察及研究
评论
0/150
提交评论