数字信号处理课程设计报告.docx
- 文档编号:2319293
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:13
- 大小:86.02KB
数字信号处理课程设计报告.docx
《数字信号处理课程设计报告.docx》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告.docx(13页珍藏版)》请在冰豆网上搜索。
数字信号处理课程设计报告
一、课程设计名称
二、课程设计前期介绍(凌阳单片机)
1、源来
2、简介
3、优点
4、语音模块
三、课程设计容与要求
四、课程设计原理
1、硬件设计
2、软件设计
五、主程序代码
六、调试
七、心得与体会
八、附录
1、原件清单
2、原理图
3、实物图
一、课程设计名称
基于凌阳16位单片机的定时报警器
二、课程设计前期介绍(凌阳单片机)
2.1源来
随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理数据处理以与数字信号处理,DSP(DigitalSignalProcessing)等领域。
凌阳的16位单片机就是为适应这种发展而设计的。
2.2简介
它的CPU核采用凌阳最新推出的MicrocontrollerandSignalProcessor16位微机处理器芯片,以下简称µ’nSP。
围绕micro;’nSP所形成的16位u’nSP系列单片机,以下简称µ’nSP家族。
采用的是模块式集成结构,它以µ’nSP核为中心集成不同规模的ROMPAM和功能丰富的各种外设部件。
µ’nSP核是一个通用的和结构。
除此之外的其它功能模块均为可选结构。
以与这种结构可大可小可有可无,借助这种通用结构附加可选结构的积木式的构成,便可成为各种系列的派生产品,以适合不同场合,这样做无疑会使每种派生产品具有更强的功能和更低的成本。
µ’nSP家族有有以下特点:
体积小,集成度高,可靠性好易于扩展。
µ’nSP家族把各功能把各功能部件模块化地集成在一个芯片里。
部采用总线结构,因为减少了各功能部件之间的连接,提高了其可靠性和抗干扰能力,另外,模块化的结构易于系列的扩展,以适应不同用户的需求。
具有较强的中断处理能力。
μ’nSPTM家族的中断系统支持10个中断向量与10余个中断源,适合实时应用领域。
高性能价格比:
μ’nSPTM家族片带有高寻址能力的ROM,静态RAM和多功能的I/O口,另外μ’nSPTM的指令系统提供出具有较高运算速度的16位,16位的乘法运算指令和积运算指令,为其应用添加了DSP功能,使得μ’nSPTM家族运用在复杂的数字信号处理方面既很便利又比专用的DSP芯片廉价。
2.3优点
功能强、效率高的指令系统:
μ’nSPTM的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。
低功耗、低电压:
μ’nSPTM家族采用CMOS制造工艺,同时增加了软件激发的弱振方式,空闲方式和掉电方式,极降低了其功耗,另外,μ’nSPTM家族的工作电压围大,能在低电压供电时正常工作,且能用电池供电,这对于其在野外作业等领域中的应用具有特殊的意义。
2.4语音模块
支持语音识别,语音产生。
凌阳单片机的语音识别模块自带语音的API函数,其中包括A2000格式和S480格式自动播放与手动播放的播放函数,S240、MS01格式自动播放的播放函数、DVR格式的语音录放函数和语音识别函数,让凌阳单片机不但可以作为普通的单片机开发系统,而且还可以作为一个语音系统进行语音播放、语音录放和语音识别,大大降低了凌阳单片机的开发难度,并增强了凌阳单片机的使用领域和功能。
三、课程设计容与要求
所谓的定时报警器,就是调节时间,进行倒计时,时间到时,播放报警语音。
此次设计,是需要通过3个按键实行时间调整以与开启倒计时。
其中一个为复选键,即第一个键按下第一次,可以调节分的数字,第二下,可以调节秒数,第三下时,开启定时器,进行倒计时。
而第二个键以与第三个键则分别调整加以与减。
由于本次采用的是4位数码管,并经过程序设计,最大定时为一个小时。
四、课程设计原理
4.1硬件设计
本次试验采用4位共阴数码管,以与三个点触开关。
数码管:
4位一体数码管,其部段已连接好,引脚如图所示(正面朝自己,小数点在下方)。
a、b、c、d、e、f、g、dP为段引脚,1、2、3、4分别表示四个数码管的位。
1af23b
。
。
。
。
。
。
。
。
。
。
。
。
eddpcg4
即:
12-9-8-6为公共端,A-11B-7C-4D-2E-1F-10G-5DP-3
**4位数码管区分共阴阳极的方法
首先数码管有共阴极和共阳极之分,区别他们的方法是若公共端接地,其他端接电源,若各段测试能亮,说明是共阴的,反之共阳的;若公共端接电源,其他端分别接的,测得各端亮,则说明是共阳的,反之为共阴的。
世面上的四位一体的数码管一般都没有datasheet,所以掌握他们管脚的分布是很重要的一个环节。
点触开关:
这里采用点触开关,就犹如电子手表调节时间按键,触发一次,数字相应的变换一次。
我将点触开关连接在了IOA15~IOA13,初始化时,将IOA15~IOA13给了高电平,在硬件连接时,三个开关的一端接在一起,引出一个端口接在单片机的-端口,将开关按下,对应的IO端口得到低电平,软件中的键扫描程序将作出相应的反应。
4.2软件设计
软件设计时,主要是两个部分。
一是时间通过定时器倒计时,二是按键调节时间。
相对来讲,前者较简单,先完成前面部分,再逐一完善整个程序。
模块一:
时间
首先计算共阴极数码管0~9的代码为:
0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f
进行单片机中IOA,IOB中32个接口的初始化,我设计的试验中,将IOA低八位作为数码管段选端,IOA高三位作为3个点触开关信号的输入端,IOB低四位作为四位数码管的位选端。
根据相应的需要设置为高、低电平。
这里开timerA,采用8192Hz作为时间脉冲,初值可计算,为fccch,以与中断源的初始化:
*P_TimerA_Ctrl=C_SourceA_8192Hz+C_SourceB_1;//设置定时器TimerA:
8192Hz
*P_TimerA_Data=0xfccc;//计数初值,定时时间为0.1s
*P_INT_Ctrl=C_IRQ1_TMA;
开始主程序,我们需要在程序中设置全局变量fent,fen,sect,sec分别代表数码管的1~4位。
并在主程序中设置初值,比如sec=sect=fent=0,fen=1(定时一分钟)。
时间显示会逐一变化,是因为中断中,定时器A将开始计时,并以8192Hz的频率,进行访问,当fccc减至0时,0.1s时间到,我们需要在main.c中设一个中断函数,即:
voidIRQ1(void)__attribute__((ISR));//中断函数
voidIRQ1(void)
{
temp++;
*P_INT_Clear=C_IRQ1_TMA;//清除中断标志控制单元
}
每0.1s,temp++,当temp为10时,即为1s时间,即可在程序中作出相应响应。
模块二:
按键
按键扫描是一个比较麻烦的问题,由于程序运行周期很快,按键的时间相对来讲,显得很慢,每当按下键,程序可能已经运行了几十遍甚至上百遍。
也就是数字会变化很快,不能达到预想目的,也就是,按一下第二个键,分钟或秒钟就加1,按第三个键,相应的减1。
所以程序中需要一个延时函数,即:
voiddelay(z)//延时函数
{
intx,y;
for(x=z;x>0;x--)
for(y=10;y>0;y--);
*P_WatchDog_Clear=0x0001;
而第一个键作为复选键,需要在实行它的功能时做相应的条件,比如第三下开启定时器,也就是打开中断:
__asm("INTIRQ");//安装定时,开放IRQ的总中断允许位,但FIQ中断仍禁止
i==0;
而时间变化的逻辑顺序,参考主程序源代码。
模块三:
报警功能的实现
首先是找到相应的音频文件,我实在酷狗中寻找的盗车报警器,然后用酷狗的铃声制作中将其转化为.wav格式,再用凌阳单片机的格式转化工具,这里采用s480,所以转化为.48k格式,并将其复制到你所建立的工程文件夹中,具体实现自动语音播放请参照《16位单片机原理与应用》宣戈主编第十章。
课本采用的是A2000,步骤都是一样的。
五、主程序代码
#include"SPCE061V004.h"
#include"hardware.h"
#include"s480.h"
#defineP_WatchDog_Clear(volatileunsignedint*)0x7012
#defineKEY_ALL0xff00//使用IOA8~IOA15作为键盘输入口
staticintb[10]={0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};//共阴
inttemp,fent,fen,sec,sect,i;
intGetKey(void);
voidplay();
voiddisplay(intfent,intfen,intsect,intsec);
voiddelay(intz);
voidkeyscan(void);
main()
{
*P_IOA_Attrib=0x00ff;//设置A口低8位为同向低输出,高8位为同向上拉输入bw
*P_IOA_Dir=0x00ff;
*P_IOA_Data=0xff00;
*P_IOB_Attrib=0x00ff;//初始化IB0~IB3,控制数码管的位选
*P_IOB_Dir=0x00ff;
*P_IOB_Data=0x0000;
*P_TimerA_Ctrl=C_SourceA_8192Hz+C_SourceB_1;//设置定时器TimerA:
8192Hz
*P_TimerA_Data=0xfccc;//计数初值,定时时间为0.1s
*P_INT_Ctrl=C_IRQ1_TMA;
fent=fen=sec=sec=temp=i=0;
while
(1)
{
delay(10);
if(GetKey()==0x8000)//IOA15复选键
{
delay(500);
if(i==3)
{
__asm("INTIRQ");//安装定时,开放IRQ的总中断允许位,但FIQ中断仍禁止
i==0;
}
i++;
}
if(GetKey()==0x4000)//IOA14加法键
{
delay(500);
if(i==1)
{
fen++;
if(fen==10)
{
fent++;
if(fent==6)
fent=0;
fen=0;
}
}
elseif(i==2)
{
sec++;
if(sec==10)
{
sect++;
if(sect==6)
{
sect=sec=0;
}
sec=0;
}
}
}
if(GetKey()==0x2000)//IOA12
{
delay(500);
if(i==1)
{
fen--;
if(fen<0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)