凌阳单片机课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实训
专业:电气工程及其自动化班级:电 0901-3班
姓名:姬翠亭
学号:20093187
第1章对凌阳单片机的认识
这个学期通过对凌阳单片机的学习,我有了一下几点的体会,我是用学习51的思路去学习凌阳单片机的。

第一、学单片机的思想都是一样的,首先当你学习一款单片机首先应该去了解一下该单片机的资源,只有知道你自己有什么可以利用的资源,你才能去更好的利用,更好的去开发你的产品。

第二、你要去尽快的熟悉一下学习这款单片机的开发环境,因为不同的公司可能开发了不同的编译环境。

另外对开发环境的熟悉可以为你以后节省更多的时间。

第三、这一点要说的就是有关联系的问题了,开始的问题都慢慢慢慢的解决了,下边的就是要去实践了,这个时候你要慢慢的开始一点点的熟悉这个开发环境。

从最经典的点亮一只灯开始,然后是流水灯跑马灯,接着去控制键盘,然后用流水灯去显示键盘的值,接着就是数码管LCD的有关知识,还有就是有关语音的控制,有关滤波模块的学习等等。

当你把这一些东西都慢慢的调试出来的时候,你对整个的开发流程和整个的写程序流程,以及你在这个过程中积累的知识就可以支撑着你走下去。

第四、当你学到这个时候如果你感兴趣,你可以去学着了解一下嵌入式实时操作系统的有关知识,比较容易上手的ucos简单操作系统,你可以试着在凌阳的开发板上一直一下,一般现在网上都有一些参考的例程,在图书馆借一些有关的书籍进行相应的学习,再然后就是你自己的发展方向决定了你以后要学的东西,嵌入式这条路要学的东西确实很多。

剩下的就是我要说一下对这款单片机的一些基础知识的学习,开始是学到汇编,这部分占用了一部分的时间,但是我感觉没有太大的必要,我感觉这些东西在开始的阶段不是很重要,除了增减学生的方案没有别的帮助。

因为有关汇编的有关知识别的科目上已经有了详细的介绍,而且等到自己去学习一直操作系统的时候在学习会更好,那个时候是自己主动去学的,学习的效率会更高。

学到凌阳单片机有关IO,定时器,中断,通信串口,
1、对于普通的IO口需要设置三个寄存器Dir和Attrib和Data,首先设置Dir,指明IO用作输入还是输出,然后在设置AttribIO口的属性,如果作为输入,则Attrib表示禁止弱拉还是开启弱拉,如果作为输出代表的意义要看Attrib 的情况,作为输入,并且Attrib为1时表示禁止弱拉(若上拉或者若下拉),此时不论Data为0或是1,端口都处于悬空状态。

若Attrib为0表示启用弱拉结构,此时若Data为1表示若上拉,为0表示若下拉。

作为输出,若Attrib为1
且Data为0表示输出低,Data为1表示输出高;若Attrib为0且Data为1表示输出低,Data为0表示输出高。

简明的表示为:
Dir=0(输入) Attrib=1表示禁止弱拉结构 Data=0或1 引脚状态均为悬浮(浮空)状态Attrib=0表示启用弱拉结果 Data=0 若下拉Data=1 若上拉Dir=1(输出) Attrib=1表示同相输出 Data=1 输出高Data=0 输出低Attrib=0表示反相输出 Data=1 输出低Data=0 输出高。

有关这些东西的介绍,我相信有些书上会更详细,手头有一本不错的教材还是必须的。

2、时基中断与定时器中断时基中断,可以实现定时器的功能,并且可以选择特定的基准频率,但是定时器中断只能是 CUP频率。

3、中断的形式与51不同,凌阳单片机将中断程序放在了另外一个.C文件中,这个文件在新建工程的时候由系统自己添加了名为:isr.c,所以之需要在其中添加中断程序代码就可以了。

4、IRQ4,IRQ5,IRQ6的意义所在,仔细观察可以发现IRQ4:4096HZ,2048HZ,1024HZ;IRQ5:2HZ,4HZ;
IRQ6:通过配置P_Timebase_Setup来配置TMB1和TMB2得到TMB1:8HZ,16HZ,32HZ,64HZTMB2:128HZ,256HZ,512HZ,1024HZ这样重2HZ到4096HZ的频率都有,因此对于时基中断而言,可以选择从低频到高频的所有频率例如选择IRQ5的2HZ中断,则每响应一次IRQ5,经过的时间是0.5S
5、P_INT_Ctrl与P_INT_Clear的关系:
对P_INT_Ctrl写0表示不允许任何中断,某位写1表示允许该位中断,P_INT_Clear写1表示中断已经相应了,而去把这个中断的标志位清零,否则会一直中断,只写入,读无意义。

如果中断已经相应而再将P_INT_Ctrl此位写0,则下一次不能进行中断了,从这个意义上说就和 P_INT_Clear写1类似了
6、清除中断标志语中断屏蔽的关系,清中断表示中断已经相应完成,但不表示这个中断不可以再请求,而是可以请求(因为第一次将P_INT_Ctrl的某位置1后将永远为1直到对它写0)。

但是中断屏蔽室指,不再相应此类型的中断了,中断屏蔽在中断屏蔽寄存器P_INT_Ctrl_New中进行设置。

7.FIQ与IRQ区别优先级别不同对于Fosc/1024溢出信号和TimerA溢出信号和TimerB溢出信号这三个中断均可以设置为FIQ和IRQ形式,只是说优先级别不一样而已
第2章设计要求
用一台装有Windows系统和μ’nSP™IDE仿真环境的PC机和一个μ’nSP™十六位单片机实验箱来作设计,其中用到的实验箱硬件模块为:SPCE061A核心及周边电路模块(包含32个I/O口),两路音频输出电路,LCD显示模组模块。

(1)编程要求:主程序利用C语言编写。

(2)实现功能:图片显示配合背景音乐播放。

由于实验中要播放音乐,对音质的要求比较高,所以本实验要求利用SACM_A2000格式播放音乐。

(3)实验现象:开机后显示图象ON_01,接着按ON_01→ON_02→ON_03→ON_04→ON_05→ON_06→ON_07→ON_08→ON_010的顺序循环显示动
态图片,同时播放背景音乐。

第3章方案设计及基本原理
3.1SPLC501液晶显示模组基本原理
1. DM Tool字模提取工具
利用一台装有Windows系统和单片机仿真环境的PC机和一个凌阳十六位单片机实验箱来作设计,其中用到的实验箱硬件模块为:SPCE061A核心及周边电路模块,两路音频输出电路,LCD显示模组模块。

DM Tool字模提取工具提取BMP 位图字模的步骤如下:
图 2-1 导入图片第一步
第一步,导入图片:打开DM Tool工具,新建一个DM Tool的工程,在“Picture”的下拉菜单点击“Import Pictures…”,如图 2-1。

图 2-2 导入图片第二步
点击“Import Pictures…”后出现下图的对话框,在IDE的安装路径\SPCE061A\example\model_Exa\ex3_LCD501_Graphic\picture\sunplus找到我们要提取的图片sp1,如图2-2。

注意:利用“Import Pictures…”菜单导入图象的选项只能导入BMP格式的位图; DM Tool工具可以最终生成字模数据的尺寸为240×240点,所以用户在导图象时要注意图象的尺寸;但由于SPLC501液晶显示器的屏幕大小为128×64点,则在SPLC501液晶显示模块上显示的图片尺寸就不能超过128×64点,如超过则无法显示。

用户可以利用图像处理的软件对原始图像进行修改后再导入DM Tool中,提取合适的图像字模数据。

图 2-3 导入图片第三步
选择sp1,点击“打开”,出现图2-3的对话框。

按照图中选择“source image”和“Invariable”,点击“OK”就导入图片了。

如图2-4,导入的图片就出现在Regionbar转换列表和操作区中。

图 2-4 导入图片后DM Tool界面
图 2-5Edit and Export Cchar File界面
第二步,提取字模并保存:点击图标,打开图 2-5的对话框。

图 2-6选择“Down to Up,Left to Right”
点击图标,打开图 2-6的对话框。

“Select”选择“Down to Up,Left to Right”,点击“char.c file:”右边的浏览图标,打开图 2-7的对话框。

图 2-7选择保存路径
图 2-8生成字模数据文件
这里选择保存到“我的文档”文件夹中,选择保存的文件名为sunplus,点击保存,回到“Export Cchar File”窗口,点击“OK”。

这时字模数据的生成操作已完成,生成了sunplus.c和sunplus.h两个字模数据文件,如图 2-8。

导出文件后,用户可以关闭字模数据生成窗口,返回到DM Tool软件的主窗口,以便进行其它的操作,DM Tool的使用方法可以参考DM Tool的用户手册。

和导出的汉字字模数据相同,BMP位图字模数据也以数组的形式保存,可以直接包含到工程中进行引用。

2. SPLC501液晶显示模组显示图片
利用SPLC501液晶显示模组显示BMP位图的过程为:新建一个工程,利用字模提取工具提取字模,把字模数据文件保存在工程文件夹,添加字模数据文件到工程,拷贝并添加驱动程序文件,编写程序,运行显示。

利用一台装有Windows 系统和单片机仿真环境的PC机和一个凌阳十六位单片机实验箱来作设计,其中用到的实验箱硬件模块为:SPCE061A核心及周边电路模块,两路音频输出电路,LCD显示模组模块。

如图2-10所示。

图2-11硬件连接框图
硬件连接图如图 2-11,分别用实验箱跳线连接IOB4与AO,IOB5与RWP,IOB6与EP,IOB9与/CS,IOA8-IOA15与D0-D7。

即用跳线把实验箱JP6(*)的所有引针全部短接。

利用一台装有Windows系统和单片机仿真环境的PC机和一个凌阳十六位单片机实验箱来作设计,其中用到的实验箱硬件模块为:SPCE061A 核心及周边电路模块,两路音频输出电路,LCD显示模组模块。

另外,VR、C86和PS跳线都与V3短接,把SPLC501液晶显示模组的时序选择为6800时序。

3.2SACM_A2000基本原理
SACM_A2000压缩算法压缩比较小(8:1),利用SPLC501液晶显示模组显示BMP位图的过程为:新建一个工程,利用字模提取工具提取字模,把字模数据文件保存在工程文件夹,添加字模数据文件到工程,拷贝并添加驱动程序文件,利用一台装有Windows系统和单片机仿真环境的PC机和一个凌阳十六位单片机实验箱来作设计,其中用到的实验箱硬件模块为:SPCE061A核心及周边电路模块,两路音频输出电路,LCD显示模组模块。

编写程序,运行显示。

所以具有高质量、
图2-13 IRQ4_1KHz中断
凌阳SACM_A2000压缩算法有两种语音播放方式:自动方式和手动方式。

凌阳SACM_A2000压缩算法的语音播放要经过一个语音播放初始化,即初始化为自动方式或者手动方式,取数据,填充语音队列(或者是解压缩队列),解压缩,输出播放的过程。

自动播放时,取数据,填充语音队列及解压缩只要调用SACM_A2000_ServiceLoop()一个函数就可以实现。

参见图2-12。

由于CPU处理的速度非常快,于是在视觉上,就会感觉到一个动态的图片并且配有音乐背景。

IRQ4_1KHz中断服务程序流程图如图2-13。

在自动播放中,语音播放的主循环当中调用SACM_A2000_ ServiceLoop()函数,完成获取语音资源并填充语音队列、进行语音解码的操作;主循环中要先显示一帧或者几帧图象,而显示程序相对来说耗时较长;为了保证语音资源的及时获取,同时得到及时的解码,在设计当中利用IRQ4的1KHz中断用SACM_ A2000_ServiceLoop()函数,
主循环当中只进行刷新显示即可。

3.3硬件连接
图 2-14 硬件连接图
如图2-14硬件连接图,IOA8-IOA15连接SPLC501液晶显示模块的D0-D7,IOB4连接AO,IOB5连接RWP,IOB6连接EP,RE连接/RES,IOB9连接/CS,VR、C86和PS跳线都与V3短接,把SPLC501液晶显示模组的时序选择为6800时序;即把JP6中所有左右两排的引针全部用跳线短接,把J8和J13靠左边的两个引针用跳线短接起来。

第4章程序设计
主程序流程图
图3-1主程序流程图
主程序流程图如图3-1,初始化操作包括初始化LCD和初始化语音播放,语音播放初始化为自动播放方式;开IRQ4_1KHz中断,完成获取语音资源并填充语音队列、进行语音解码的操作;主循环中要先显示一帧或者几帧图象,而显示程序相对来说耗时较长;为了保证语音资源的及时获取,同时得到及时的解码,在1KHz中断当中完成语音的服务程序(SACM_ A2000_ServiceLoop())调用,以及进行计数累加(定义有一个全局的变量,用于中断计时),响应300次IRQ4_1KHz 中断的时间刚好是LCD动态图片的显示刷新时间0.3s;显示第一帧图象,也就是ON_01图象。

调用SACM_A2000_Play函数播放语音;进入显示动态图片加背景音乐循环,按照实验要求顺序显示图片,刷新时间为0.3s,判断是否播放结束,如果播放结束,则停止播放后,调用SACM_A2000_Play函数循环播放,如果没有播放结束,清看门狗。

第5章结论与体会
本次课程设计是带有背景音乐的动态图片。

应用了所学的单片机知识、SPLC501液晶显示模块的知识及在图书馆搜集的资料,对题目所要求的工程进行了设计。

在这次的课程设计中,用到了SPCE061A核心及周边电路模块(包含32个I/O口),两路音频输出电路,LCD显示模组模块等元器件。

设计了由SPLC501液晶显示模组和SACM_A2000格式语音播放等部分构成的工程。

在规定的时间内,由于技术水平有限,此设计还不够完美。

用过这次的学习,使我对单片机有了初步的认识,并在运用和软件模拟运用上有了很大的提高。

通过学习不仅使自己的能力提高了,发现自己的不足,学习同学的长处。

有了这次的设计的基础,为以后的学习打下了坚实的基础,对今后的学习充满了信心。

这些都是我在这次课程设计中学到的,这次课程设计的制作是我对本专业有了更深一步的认识,同时对专业基础知识以及专业要求的基本素质有了一些深入了解。

经过这次的学习,让我了解到单一的知识虽然乏味,但只要融会贯通,将所有单一的知识综合后就能产生巨大的实用效果。

将自己学到的课本上的知识应用于实际当中,将理论与实际相结合,使我的综合能力有所提高。

相关文档
最新文档