DSP基础知识.doc_第1页
DSP基础知识.doc_第2页
DSP基础知识.doc_第3页
DSP基础知识.doc_第4页
DSP基础知识.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

u I/O配置初始化程序/*IOPort_Initializing( ),将IOPB设置为输出方式*/void IOPort_Initializing( ) MCRA=0x0FFF; /*设置IOPB.7-4为I/O端口、MCRA.15-.8对应IOPB.7-.0, MACR.7-.0对应IOPA.7-.0*/ PBDATDIR=0x0F000; /*设置IOPB.7-4为输出端口,PBDATDIR.15-.8为输入/输出控制,1-输出,0-输入,PBDATDIR.7-.0为输入/输出的数据*/u F2407初始化程序void DSP2407_Initializing( ) asm( setc INTM);/关总中断,INTM=1 asm( setc SIM);/符号扩展 asm( clrc OVM);/不作溢出处理 asm( clrc CNF);/DARAM B0映射在数据空间 SCSR1=0x00FC;/工作频率CLKOUT=4xCLKIN 0-保留 0-选择CLKOUT输出时钟信号 00-CPU低功耗模式为IDLE1 000-倍频系数为4 111111-使能相关功能模块 0-保留 0-无效地址检测位*/WDCR=0x0068;/关软件看门狗IMR=0x003F;/开放所有CPU级中断,低6位对应INT6-1IFR=0x003F; /清除所有中断请求,低6位对应INT6-1u 主程序程序#includeF2407*.hunsigned int led; /定义点亮led的全局变量main() unsigned int i;/临时循环变量unsigned long k; /长延时临时循环变量DSP2407_Initializing();/DSP2407芯片初始化IOPort_Initializing();/IO端口配置初始化 /*循环点亮led*/led=0x0080;/点亮led控制初值wlile(1) for (i=0;i4;i+) /*设置IOPB.7-4为I/O端口PBDATDIR=PBDATDIR&0x0FF00; /*屏蔽数据位,保留高8位IO方向设置*/PBDATDIR=PBDATDIR|led;/*输出点亮led的控制值*/ for (k=0;k0x1FFF;k+) /*设置IOPB.7-4为I/O端口 利用EVA的通用定时器1定时,初始化程序:void timer1_ini() /定时器1初始化子程序 * IMR=0x0002; /*使能int2中断,*/ * EVAIMRA=0x0080; /*使能T1PINT中断, 或EVAIMRA=EVAIMRA|0x0080;*/ * EVAIFRA=0xFFFF; /*清EVA中断标志*/ * T1PER=0x01CD; /*GPT1的周期寄存器,fCPU=4x10MHz, 约1ms产生一次中断*/ * T1CNT=0x0000; /*计数器清零*/ * T1CON=0x164C; /*连续增计数模式, 预分频为64,定时器计时使能, 内部时钟,定时器1比较使能*/ asm( clrc INTM); /*开总中断*/ 假中断服务子程序:interrupt void nothing() /哑中断子程序 return; /定时器1中断子程序interrupt void timer1() if (num=1000) /*记中断次数1000次,产生1秒延时*/ num=0; show=show; /*显示值取反*/ else num+; * T1CNT=0x0000; /*计数器清零*/ * EVAIFRA=0xFFFF; /*清EVA中断标志*/ return;主程序:void main(void) sys_ini(); timer1_ini(); for( ; ; ) /*将欲显示值赋予io空间的0004地址*/ port0004=show; void pwm_ini() /pwm初始化子程序 * MCRA|=0x0FC0; /*设置复用控制寄存器使能pwm16引脚*/ * ACTRA=0x0666; /*pwm6,4,2高有效,pwm5,3,1低有效*/ * DBTCONA=0x0000; /*禁用死区控制*/ * CMPR1=0x0100; /*设定比较器周期寄存器CMPR13*/ * CMPR2=0x0300; /*确定不同的占空比*/ * CMPR3=0x0500; /*设置定时器1的周期寄存器,确定载波频率*/ * T1PER=0x0600; * COMCONA=0x8200; /*使能比较器操作*/ * T1CON=0x1000; /*定时器1为连续增计数模式*/ 主程序/*文件预处理*/#include exp3_2407.h/*/ void main() sys_ini();/调用芯片初始化子程序 pwm_ini(); /调用EVA比较单元产生PWM波形初始化子程序 /*启动定时器1*/ * T1CON|=0x0040; for( ; ; ) 看门狗程序:SCSR1=0x02FC; /* 系统时钟CLKOUT=20*2=40M */WDCR=0x006F;void KickDog()/*踢除看门狗 */WDKEY=0x5555;WDKEY=0xAAAA;Kickdog:LDP #00E0h;DP7000h707FhSPLK#05555h, WDKEY;WDCNTR由下一步复位被使能 SPLK#0AAAAh, WDKEY;WDCNTR 被复位ret指令:ADD 1,1 ;DP=6:地址0300h037Fh AND #00FFh,4AND 16 ;DP=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论