文档介绍:第1章设计目的与要求
设计目的
。
。
设计要求
:主程序利用C语言编写。
:图片显示配合背景音乐播放。由于设计中要播放音乐,对音质的
要求比较高,所以本设计要求利用SACM_A2000格式播放音乐。
:开机后显示图像ON_01接着按ON_01→ON_02→ON_03→ON_04→
ON_05→ON_06→ON_07→ON_08→ON_010的顺序循环显示动态图片,同时播放背
景音乐。
第2章设计装备与基本原理
设计装备
µ’nSP™ IDE仿真环境的PC机一台,µ’nSP™十六位
单片机试验箱一个。
本设计用到的试验箱硬件模块为:SPCE061A核心及周边电路模块(包括32个
I\O口),两路音频输出电路,LCD显示模组模块。
设计原理
SPLC501液晶显示模组采用的驱动控制芯片为凌阳科技的SPLC501A芯片,SPLC501A 为液晶显示控制驱动器,SPLC501A单芯片液晶驱动,可以直接与其他微控制器接口总线相连。微控制器可以将显示数据通过8位数据总线或者串行接口写到 SPLC501A的显存中。
SPLC501A内置8580位显示RAM。RAM中的一位数据控制液晶屏上的一个象素点的亮、暗状态:“1”亮“0”暗。具有65行驱动输出和132列驱动输出(注:模组中的液晶显示面板仅为 64 行、128列)。SPLC501液晶显示模组的显示器上的显示点与驱动控制芯片中的显示缓存 RAM是一一对应的;SPLC501A芯片中共有65(8 Page ×8 bit+1)×132位的显示RAM区。而显示器的显示点阵大小为64×128点,所以实际上在SPLC501液晶显示模
组中有用的显示RAM区为64 ×128位;按byte为单位划分,共分为8个Page,每个Page为8行,而每一行有128位(即128列)。
本设计中,主循环中要先显示一帧或者几帧图象,而显示程序相对来说耗时较长;为了保证语音资源的及时获取,同时得到及时的解码,在设计当中利用IRQ4的1KHz中断用SACM_ A2000_ServiceLoop()函数,主循环当中只进行刷新显示即可。由于CPU处理的速度非常快,于是在视觉上,就会感觉到一个动态的图片并且配有音乐背景。
第3章程序设计
硬件连接
如图1硬件连接图,IOA8-IOA15 连接 SPLC501 液晶显示模块的D0~D7,IOB4 连接 AO,IOB5 连接 RWP,IOB6 连接 EP,RE 连接/RES,IOB9 连接/CS,VR、C86 和PS跳线都与V3短接,把 SPLC501液晶显示模组的时序选择为6800时序;即把JP6中所有左右两排的引针全部用跳线短接,把J8和J13靠左边的两个引针用跳线短接起来。
两路调配
输出模块
IOB4-IOB6,IOB9
DAC1
IOA8-IOA15
SPCE061A
DAC2 VR,C86,PS
AO,RWP,EP,/CS
D0-D7
SPLC501液晶显示模块
V3
图1硬件连接图
开始
初始化
先显示图像ON_01
开IR4_1KHz中断
语言播放结束
停止播放
调用语言播放函数播放
看门狗
调用语音播放函数播放
图2主程序流程图
程序流程图
主程序流程图如图2,初始化操作包括初始化 LCD和初始化语音播放,语音播放初始化为自动播放方式;开 IRQ4_1KHz中断,在 1KHz中断当中完成语音的服务程序(SACM_ A2000_ServiceLoop())调用,以及进行计数累加(定义有一个全局的变量,用于中断计时),响应300 次IRQ4_1KHz ;显示第一帧图象,也就是ON_01图象。调用 SACM_A2000_Play 函数播放语音;进入显示动态图片加背景音乐循环,按照设计要求顺序显示图片,,判断是否播放结束,如果播放结束,则停止播放后,调用 SACM_A2000_Play 函数循环播放,如果没有播放结束,清看门狗。IRQ4_1KHz中断服务程序流程图如图3。
寄存器入栈保护
清中断标志
判断是不是IRQ4_1KHz中断
中断计算器加1
调用SACM_A2000_
ServiceLoop()函数填充语言系列
中断返回
图3 IRQ4_1KHz中断
设计步骤
新建一个工程ex8_LCD_DynamicGraphicMu