TMS320VC5402的串口应用实例,汇编语言写,是DSP入门学习的好帮手.

源代码在线查看: 例程说明.txt

软件大小: 28 K
上传用户: woshishenb
关键词: 5402 TMS 320 DSP
下载地址: 免注册下载 普通下载 VIP

相关代码

				1.testadda.asm:
				用于测试AD和DA是否正常工作的例程,本程序的主要工作内容就是从AD的Vin1读数据,然后写到DA上去,通过DA恢复出波形来。注意对AD进行转换的启动是通过下面语句来实现的:
				     stm #start_ad_low,temp1;将立即数0放到temp1中
				     stm #start_ad_high,temp2;将立即数2放到temp2中
				     ;因为对IO口进行写操作只有一种直接寻址方式,所以必须将立即数放到某个数据       空间中在写到IO口去
				;下面是启动AD进行转换的代码段,目的是对AD的/CONVST引脚送一个持续至少35ns的低脉冲。对该引脚置高或置低是通过对IO空间地址为8000h处的单元的D1数据线写1或写0来实现的,系统上电和复位后该引脚保持为1。注意8000h处D0数据线是控制数据空间8000h-FFFFh为RAM使用还是BOOT方式中FLASH使用的(对IO空间的8000hD0写0则工作在RAM方式,写1则工作在BOOT方式,上电和复位后保持为1,所以此时会工作在BOOT方式)。为避免启动AD时影响到RAM与BOOT的选择,请严格参考例程中启动AD时对IO空间8000h写的数据。
				testad:                   ;test the function of AD
				     portw temp1,b_r_cs ;对IO空间8000h地址单元写0(D0=0,D1=0),工作在RAM方式,                        ;且对/CONVST引脚置0
				     nop
				     nop
				     nop
				     nop                ;因为在这之前已经将主时钟调整到100M,一条指令占用                        ;10ns,要保持/CONVST至少35ns,需要加4条空指令
				     portw temp2,b_r_cs ;对IO空间8000h地址单元写2(D0=0,D1=1),工作在RAM方式,                         ;且对/CONVST引脚置1
				
				每次启动AD转换都需要制造一个低脉冲给/CONVST。
				testadda.asm:汇编源程序。
				testadda.obj:经过编译后的目标文件。
				testadda.out:结果编译链接后的可执行文件。
				testadda.x00:可以烧写到低8位FLASH上的2进制文件。
				testadda.x01:可以烧写到高8位FLASH上的2进制文件。
				注意:在实验板上,如果电源输入在左下方的话,右上方两个并排的FLASH左边一个是低8位。
				2.testuart.asm和rs232.c
				用来测试系统的UART口是否正常工作,功能前面已经讲过,同时在计算机和DSP上运行该两程序,就可以观察到RS232口是否正常工作。实验板上UART使用DSP中断INT0,收与发都是同一中断,所以进入中断服务程序后应该判断是什么中断,然后再做相应操作。
				实验板上RS232接口寄存器地址分配情况:
				0c000h:发送与接受缓冲寄存器(线路控制寄存器D7=0);波特率因子寄存器低字节        (线路控制寄存器D7=1)
				0c001h;中断允许寄存器(线路控制寄存器D7=0);波特率因子寄存器高字节(线路控制寄存       器D7=1)
				0c002h;中断识别寄存器
				0c003h;线路控制寄存器
				0c004h; MODEM控制寄存器
				0c005h; 线路状态寄存器
				0c006h; MODEM状态寄存器
				0c007h:Scratch寄存器			

相关资源