吉林建筑大学城建学院电气信息工程系毕业设计(论文) 的数据输入线都通过上拉电阻被连接成高电平;当任何一个键被压下时,与之连接的数据输入线将被拉成低电平,要判断是否有键被压下,只要用位处理指令即可。
第 17 页 共 17 页
吉林建筑大学城建学院电气信息工程系毕业设计(论文) 第4章 系统软件设计
在对所要设计的课题有了整体的了解之后,需要先建立程序框架的流程图,对整个设计划分模块,逐个模块实现其功能,最终把各个子模块合理的连接起来,构成总的程序。主程序首先要对整个系统进行初始化,然后将指令传给芯片,设置按键功能,按下按键,看其对应的按键,完成预期的功能。
系统的主流程图如图4-1所示:
开始 系统初始化 N K1是否被按下? Y 调用按键子程序 调用录音子程序 K2是否按下? Y 判断按键次数 调用语音模块放音子程序 调用液晶显示子程序 结束
图 4-1 主程序流程图
4.1 录音模块设计
首先是对SS、MOSI、SCLK、MISO设定为低电平有效,且串行时钟指令SCLK
第 18 页 共 18 页
吉林建筑大学城建学院电气信息工程系毕业设计(论文) 为下降沿触发。然后将上电指令发送给主控芯片,当主控芯片存储了本条指令,而系统再次调用它的时候,即可实现对ISD4004语音芯片通电。往芯片内烧录语音信息
(录音地址0XA0,当前录音地址0XB0)。 如图4-2所示:
开始 系统初始化 开始录制第一段语音 将ISD4004芯片指令传送给STC89C52 再次按下K2键 设置按键功能 开始录制第二段语音 Y 是否按下K2键? 返回
图4-2 录音模块程序流程图
4.2 放音模块设计
以上已对SS、MOSI、MISO、SCLK进行了设定,故我们需要将上电指令发送给主控芯片,当主控芯片存储了本条指令,而系统再次调用它的时候,即可实现对ISD4004语音芯片通电。然后我们将从指定地址开始的放音指令0XE0和从当前地址开始放音指令0XF0传送给主控芯片,当芯片调用该指令的时候,语音执行相应的操作。执行过程如图4-3所示:
第 19 页 共 19 页
吉林建筑大学城建学院电气信息工程系毕业设计(论文) 开始 系统初始化 将ISD4004芯片指令传送给STC89C51 设置按键功能 N 判断K1是否被按下? 无操作 Y Y Y 判断a是否为奇数? N 播放第一段录音 播放第二段录音 返回
图4-3 放音模块流程图
4.3 显示模块设计
显示模块采用带中文字库的LCD12864液晶屏,首先设定汉字地址表,再根据需显示的汉字地址或坐标显示对应的汉字。在主函数调用第一站信息时,显示对应内容,当调用第二站信息时显示第二站对应内容。如图4-4:
第 20 页 共 20 页

