




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;*;* 北京达盛科技有限公司;* 研 发 部;*;* ;*;*- 文件信息6 - ;*;* 文件名称 : 7822_54.C;* 文件功能 : 该文件为测试ad7822的测试程序,CPU=TMS320VC5402;* 接口说明: -扩展到IO空间,8002H,READ ONLY; -下面是AD 采样时钟的控制,通过拨码开关SW2的控制 : ; 1-ON、2-ON、3-ON、4-ON:ADCLK=250KHZ ; -最小的CONVST的脉冲时间20NS; -每次转换的时间最大420NS,也就是说CONVST的下降沿开始开始后的420NS; -就可以通过读端口得到转换的数据; -转换结束的信号EOC 的最大宽度110NS ; -用中断方式,5402工作在最大频率30MHZEOC的宽度能满足INT中断宽度的要求*/-头文件-/#include MMRegs.h#include DspRegDefine.h /VC5402 寄存器定义/-/* * 宏定义 */#define UCHAR unsigned char#define UINT16 unsigned int#define UINT32 unsigned long#define TRUE 1#define FALSE 0#define LEN 256/-/-/* 端口定义 */-ioport UINT16 port8002; /定义输出AD端口为0x8002;/-/* 全局变量定义 */-UINT16 data_buffLEN ; /数据缓冲 256个数组UINT16 i = 0; /* * 所使用的函数原型 */void cpu_init(void); /初始化CPUvoid Delay(UINT16 numbers); /延迟void xint2_init(void); /外部中断2初始化子程序interrupt void ExtInt2(); /中断2中断子程序/-/* 函数定义 */-/ 函数名称 : void cpu_init(void)/ 函数说明 : 初始化CPU/ 输入参数 : 无/ 输出参数 : 无/-void cpu_init(void)asm( nop );asm( nop );asm( nop );/-/CLKMD DEFINITIONS:/ PLLMUL (bit 15-12) - 0000 PLL multiplier = 0 (mult by 1)/ PLLDIV (bit 11) - 0 PLL divider = 0 (div by 1)/ PLLCOUNT (bit 10-3)- 11111111 PLL counter set to max/ PLLONOFF (bit 2) - 1 PLL on/ PLLNDIV (bit 1) - 1 Select PLL mode/ PLLSTATUS (bit 1) - x PLL Status (read only)/ -/ 0000011111111111 = 0x07ff CLKMD=1 X CLKIN/- *(unsigned int*)CLKMD=0x0; /switch to DIV mode clkout= 1/2 clkin while(*(unsigned int*)CLKMD)&01)!=0); *(unsigned int*)CLKMD=0x77ff; /switch to PLL X 3 mode /-/ ST0 DEFINITIONS:/ ARP (bit 15-13) - 000 Auxiliary register pointer/ TC (bit 12) - 1 Test/control flag/ C (bit 11) - 1 Carry is set to 1 if the result of an addition generates a carry; it is cleared to 0 if the/ result of a subtraction generates a borrow./ OVA (bit 10) - 0 Overflow flag for accumulator A/ OVB (bit 9) - 0 Overflow flag for accumulator B/ DP (bit 8-0) - 00000000 Data-memory page pointer/ -/ 0001 1000 0000 0000 =0x1800 Reset value/-/ *(unsigned int*)ST0=0x1800; /-/ ST1 DEFINITIONS:/ BRAF (bit 15) - 0 Block-repeat active flag / CPL (bit 14) - 1 Compiler mode CPL=0 DP;CPL=1 SP/ XF (bit 13) - 1 XF status/ HM (bit 12) - 0 Hold mode/ INTM (bit 11) - 1 Interrupt mode INTM=0,All unmasked interrupts are enabled/ Reser (bit 10) - 0 Always read as 0/ OVM (bit 9) - 0 Overflow mode/ SXM (bit 8) - 1 Sign-extension mode/ C16 (bit 7) - 0 Dual 16-Bit/double-precision arithmetic mode/ FRCT (bit 6) - 0 Fractional mode/ CMPT (bit 5) - 0 Compatibility mode/ ASM (bit 4-0) - 00000 Accumulator shift mode/ -/ 0110 1001 0000 0000 =0x2900 Reset value/-/ *(unsigned int*)ST1=0x6900;/- /IPTR DEFINITIONS?/ IPTR (bit 15-7) - 001111111 Run-time Interrupt vector location = 0x3f80 (for now)/ MP/MC (bit 6) - 1 Turn off internal Instruction ROM (use RAM)/ OVLY (bit 5) - 1 Turn on internal RAM/ AVIS (bit 4) - 1 Address visibility on/ DROM (bit 3) - 0 Data ROM of FF00FFFF is external / CLKOFF (bit 2) - 0 Clockout enabled,only for use clkout=cpu clock/ SMUL (bit 1) - 1 Saturate before multiply on MAC/ SST (bit 0) - 0 Do not saturate before store/ -/ 0011 1111 1111 0010 = 0x3ff2/*-*/*(unsigned int*)PMST=0x3FF2;/-/ SWWSR DEFINITIONS?/ XPA (bit 15) - 0 Extended program address control bit. XPA is used in conjunction with the program space fields/ (bits 0 through 5) to select the address range for program space wait states/ I/O (bits 14-12) - 111 set to max wait states for seven/ Data1 (bits 11-9) - 111 Seven Wait state for Upper data space(0x8000-0xFFFF) / Data2 (bits 8-6) - 111 Seven Wait states for Lower data space (0x0000 - 0x7FFF)/ Prog1 (bits 5-3) - 111 Seven Wait state for Upper program space. (xx8000-xxFFFF)/ Prog2 (bits 2-0) - 111 Seven Wait states for Program space. (xx0000-xx7FFF)/ -/ 1 111 111 111 111 111 - 0x7fff/*-*/*(unsigned int*)SWWSR=0x7fff;/-/SWCR DEFINITIONS?/ Reserved (bits 15-1)/ SWSM (bit 0) - 1 wait-state base values are mulitplied by 2/ for a maximum of 14 wait states./ -/ 0000 0000 0000 0001/-*(unsigned int*)SWCR=0x0001;/-/BSCR DEFINITIONS?/ BNKCMP (bit 15-12) - 1111 Bank compare. Determines the external memory-bank size. BNKCMP is used to mask the four MSBs of/ an address./ 1111 4k/ 1110 8k/ 1100 16k/ 1000 32k/ 0000 64k/ PS-DS (bit 11) - 1 One extra cycle is inserted between consecutive data and program reads. / Reserved (bits 10-3) - 00000000/ HBH (bit 2) - 0 The hpi bus holder is disabled/ BH (bit 1) - 0 The data bus holder is disabled/ EXIO (bit 0) - 0 The external bus interface functions as usual/ -/ 1111 1000 0000 0000/- *(unsigned int*)BSCR=0xf800;/-asm( ssbx intm ); /Disable all mask interrupts /-/ IMR DEFINITIONS/ Writing a 1 to any IMR bit position enables the corresponding interrupt (when INTM = 0)/ Reserved (bits 15-14) - xx/ DMAC5 (bit 13) - 0 DMA channel 5 interrupt mask bit / DMAC4 (bit 12) - 0 DMA channel 4 interrupt mask bit/ BXINT1/DMAC3 (bit 11) - 0 McBSP1 transmit interrupt mask bit, or the DMA channel 3 / BRINT1/DMAC2 (bit 10) - 0 McBSP1 receive interrupt mask bit, or the DMA channel 2/ HPINT (bit 9) - 0 Host to 54x interrup /mask/ INT3 (bit 8) - 0 External interrupt 3 mask/ TINT1/DMAC1 (bit 7) - 0 timer1 interrupt mask bit, or the DMA channel 1 interrupt mask bit / DMAC0 (bit 6) - 0 reserved, or the DMA channel 0 interrupt mask bit/ BXINT0 (bit 5) - 0 McBSP0 transmit interrupt mask bit/ BRINT0 (bit 4) - 0 McBSP0 receive interrupt mask bit/ TINT0 (bit 3) - 0 Timer 0 interrupt mask bit/ INT2 (bit 2) - 0 External interrupt 2 mask bit/ INT1 (bit 1) - 0 External interrupt 1 mask bit/ INT0 (bit 0) - 0 External interrupt 0 mask bit/ -/ 0000 0000 0000 0000/-*(unsigned int*)IMR=0x0;/-/ IFR DEFINITIONS/ Writing a 1 to any IFR bit position clear the corresponding interrupt mask ,when corresponding interrupt occur IFR corresponding bit=1/ Reserved (bits 15-14) - xx/ DMAC5 (bit 13) - 1 DMA channel 5 interrupt flag bit / DMAC4 (bit 12) - 1 DMA channel 4 interrupt flag bit/ BXINT1/DMAC3 (bit 11) - 1 McBSP1 transmit interrupt flag bit, or the DMA channel 3 / BRINT1/DMAC2 (bit 10) - 1 McBSP1 receive interrupt flag bit, or the DMA channel 2/ HPINT (bit 9) - 1 Host to 54x interrutpflak/ INT3 (bit 8) - 1 External interrupt 3 flag/ TINT1/DMAC1 (bit 7) - 1 timer1 interrupt flag bit, or the DMA channel 1 interrupt mask bit / DMAC0 (bit 6) - 1 reserved, or the DMA channel 0 interrupt flag bit/ BXINT0 (bit 5) - 1 McBSP0 transmit interrupt flag bit/ BRINT0 (bit 4) - 1 McBSP0 receive interrupt flag bit/ TINT0 (bit 3) - 1 Timer 0 interrupt flag bit/ INT2 (bit 2) - 1 External interrupt 2 flag bit/ INT1 (bit 1) - 1 External interrupt 1 flag bit/ INT0 (bit 0) - 1 External interrupt 0 flag bit/ -/ 1111 1111 1111 1111/*-*/*(unsigned int*)IFR=0xffff;/- asm( nop );asm( nop );asm( nop ); /*- 函数名称 : void Delay(int numbers)- 函数说明 : 延时- 输入参数 : numbers- 输出参数 : 无*/void Delay(UINT16 numbers) UINT16 i,j; for(i=0;i4000;i+) for(j=0;jnumbers;j+); /-/ 函数名称 : void xint2_init(void)/ 函数说明 : 初始化XINT2/ 输入参数 : 无/ 输出参数 : 无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制定市场推广方案提高产品认可度
- 产品研发与推广合作协议
- 英语写作句型拓展教案
- 公共卫生防控主动承诺书(4篇)
- 企业资产盘点及价值评估模板
- 商业合作协议内容签订
- 推进项目高效管理承诺书6篇
- 会议组织与会议纪要编写指导书
- 农业综合种植管理合作协议
- 股权分红协议书样本
- 健康照护师测试题及答案【300题】附有答案
- 西师版五年级上册数学全册教案设计
- 液压软管接头24°锥密封端软管接头规范指引
- 2024挡烟垂壁包工合同协议书
- 2024年中医经典知识竞赛考试题库300题(含答案)
- 二级简码口诀和二级简码表
- 广州版初中英语词汇表
- 肿瘤与冠心病 - 副本
- 共享农机管理平台综合解决方案
- 医疗客服述职报告
- 信息写作培训 课件
评论
0/150
提交评论