tms320lf2407考试_tms320lf2407 开发环境_tms320lf2407(80)

电脑杂谈  发布时间:2017-01-30 03:04:38  来源:网络整理

位为所需数值,所以在保留时应注意将结果的低6位去除,取出高10位有效数字。

四,实验程序

本实验程序设置 DSP 采用连续采集的方式工作,同时采集两个通道(ADCIN0,

ADCIN1)的模拟量输入;使用片内通用定时器 1 产生定时中断,用以定时保存转换数据。

#include "2407c.h"

#define ADCNUMBER 256

void interrupt gptime1(void); /* 中断服务程序,用于设置保存标志 */

void ADInit(void); /* 初始化A/D转换模块和通用定时器1 */

ioport unsigned char port000c; /* I/O 端口用于设置 ICETEK-2407-A 板上指示灯 */

unsigned int uWork,uWork1,nADCount,nLed,*pResult1,*pResult2;

int nNewConvert,nWork;

unsigned int nADCIn0[ADCNUMBER]; /* 存储区1,保存通道ADCIN0的转换结果,

循环保存 */

unsigned int nADCIn1[ADCNUMBER]; /* 存储区2,保存通道ADCIN1的转换结果,

循环保存 */

int *z;

main()

{

asm(" CLRC SXM"); /* 清标志,关中断 */

asm(" CLRC OVM");

asm(" CLRC CNF");

pResult1=RESULT0;

pResult2=RESULT1;

nNewConvert=0;

*WDCR=0x6f;

*WDKEY=0x5555;

哈尔滨工业大学——DSP 原理与应用实验指导书

III-17

*WDKEY=0xaaaa; /* 关闭看门狗中断 */

*SCSR1=0x81fe; /* 打开所有外设,设置时钟频率为40MHz */

uWork=(*WSGR); /* 设置I/O等待状态为0 */

uWork&=0x0fe3f;

(*WSGR)=uWork;

ADInit(); /* 初始化A/D相关设备 */

*IMR=3; /* 使能定时器中断 */

*IFR=0xffff; /* 清所有中断标志 */

asm(" clrc INTM"); /* 开中断 */

while ( 1 )

{

if ( nNewConvert ) /* 如果保存标志置位,以下开始转换和保存转换结果 */

{

nNewConvert=0; /* 清保存标志 */

uWork=(*pResult1); /* 取ADCINT0通道转换结果 */

uWork>>=6; /* 移位去掉低6位 */

nADCIn0[nADCount]=uWork;/* 保存结果 */

uWork=(*pResult2); /* 取ADCINT1通道转换结果 */

uWork>>=6; /* 移位去掉低6位 */

nADCIn1[nADCount]=uWork;/* 保存结果 */

nADCount++;

if ( nADCount>=ADCNUMBER ) /* 缓冲区满后设置指示灯闪烁 */

{

nADCount=0; /* 中断位置 */

nWork++;

if ( nWork>=16 )

{

nWork=0;

哈尔滨工业大学——DSP 原理与应用实验指导书


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-29489-80.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 关德辉
      关德辉

      想骚扰一下

      • 纪昀
        纪昀

        中国人在汉朝就已确立一夫一妻

    • 曹明宇
      曹明宇

      今天才知道可口可乐的实力这么nb降了4%还能排第三

    热点图片
    拼命载入中...