- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TMS320VC5402的C语言程序
/*** 启动定时器timer0来测C语言程序*/#include cpuReg.hint Count=0; // 用于定时计算constinttime_val=1000; // 设定定时时间interrupt void timer0();void main(){initSystemClock(); // 初始化时钟// Data(BIT6~BIT8),Data(BIT9~BIT11)数据空间值为1,1; IO=4,IO空间是4 SWWSR=0x4240;// MP/MC = 0, IPTR = 001,ovly=0 PMST=0x00a0;// BH=1,使能Bus holder,PS-DS=1 BSCR=0x0802; IMR=0x0000; // 关闭定时器中断// TDDR=A,PRD0=0X2710可以延迟1MS TCR0 = 0x001a; // TSS=1,关定时器 PRD0=0x2710; // 装入初值,定时周期=CLKOUT*(TDDR+1)*(PRD+1) TCR0=0x0c2f; // 分频系数为14,TSS=0,TRB=1,PSC==0,Soft=1,free=1 IFR=0x0008; // 清除尚未完成大的定时器中断 IMR=0x08; // 启动定时器0中断/** 数据手册建议用RSBX和SSRX指令操作ST0和ST1寄存器** 注意不要把对ST0和ST1的操作放进中断里面** 因为进入中断首先会把状态寄存器压入堆栈,出中断时才弹出来** 这样在中断操作状态寄存器就没有意义了*/asm( RSBX INTM ); // 开全局中断,位于ST1的BIT11中while(1) {while(Counttime_val); Count=0;asm( SSBX XF ); //数据手册建议SSBX指令把XF置高电平,XF位于ST1的BIT13中while(Counttime_val); Count=0;asm( RSBX XF ); // 数据手册建议RSBX指令把XF置低电平 }}interrupt void timer0(){++Count;}/*** Created on: 2013-8-5** Author: Susen** 程序功能:先将数据写进外扩的RAM当中,然后再从外扩RAM读取出来** 存储到片内DARAM中,并且把各个数据都加上1。读取完成** 后,通过定时器使LED闪烁。*/#include cpuReg.hint Count=0; // 用于定时计算constinttime_val=500; // 设定定时时间unsignedint *readData=(unsigned int *)0x1800;unsigned int *ExRAM_startAddr= (unsigned int *)0x4000; // 写入外扩RAM的起始地址interrupt void timer0();void main(){int i;initSystemClock();// Data(BIT6~BIT8),Data(BIT9~BIT11)数据空间值为1,1; IO=4,IO空间是4 SWWSR=0x4240;// MP/MC = 0, IPTR = 001,ovly=0 PMST=0x00a0;// BH=1,使能Bus holder,PS-DS=1 BSCR=0x0802; IMR=0x0000; // 关闭定时器中断// TDDR=A,PRD0=0X2710可以延迟1MS TCR0 = 0x001a; // TSS=1,关定时器 PRD0=0x2710; // 装入初值,定时周期=CLKOUT*(TDDR+1)*(PRD+1) TCR0=0x0c2f;
文档评论(0)