DSP280x的数模转换使用
/*****************************************************************************
Copyright: 2013
File name: main.c
Description: DSP280x的数模转换设计
Author:
Version: 1.0
Date: 2013.07.23
History: 无
*****************************************************************************/
#include "DSP280x_Device.h"
#include "DSP280x_Examples.h"
unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void init(void)
{
EALLOW;
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO15=0;
GpioCtrlRegs.GPADIR.bit.GPIO15=1;
GpioCtrlRegs.GPAMUX2.bit.GPIO27=0;
GpioCtrlRegs.GPADIR.bit.GPIO27=1;
GpioCtrlRegs.GPAMUX2.bit.GPIO30=0;
GpioCtrlRegs.GPADIR.bit.GPIO30=1;
GpioCtrlRegs.GPAMUX2.bit.GPIO31=0;
GpioCtrlRegs.GPADIR.bit.GPIO31=1;
EDIS;
}
void delay(int k)
{
int i,j;
for(i=0;i<2505;i++)
for(j=k;j>0;j--);
}
void display(unsigned char dua)
{
int k;
for(k=0;k<8;k++)
{
GpioDataRegs.GPADAT.bit.GPIO15=0;
GpioDataRegs.GPADAT.bit.GPIO27=(dua&0x80)>>7;
GpioDataRegs.GPADAT.bit.GPIO15=1;
dua=dua<<1;
}
GpioDataRegs.GPADAT.bit.GPIO31=0;
GpioDataRegs.GPADAT.bit.GPIO31=1;
}
void displaynum(unsigned char num,unsigned char wei)
{
display(num);
display(wei);
}
/*************************************************
Function: AD_init()
Description: 初始化函数
Calls: NULL
Called By: main()
Table Accessed:
Table Updated:
Input:
Output:
Return:
Others:
*************************************************/
void AD_init(void)
{
InitSysCtrl();
InitAdc();
AdcRegs.ADCTRL1.bit.ACQ_PS=0;//ADC的采样窗口时间,较低的采样频率和较大的采样窗口
AdcRegs.ADCTRL1.bit.CPS=0;//核时钟预定标器,等于0,未将时钟进行2分频
AdcRegs.ADCTRL1.bit.SEQ_CASC=1;
AdcRegs.ADCTRL3.bit.ADCCLKPS=10;//ADC内核时钟分频器
AdcRegs.ADCTRL3.bit.SMODE_SEL=0;
AdcRegs.ADCMAXCONV.bit.MAX_CONV1=1;
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0;
// AdcRegs.ADCTRL2.all = 0x2000;//这一条是关键
AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;
}
/*************************************************
Function: main()
Description: 主函数
Calls: AD_init()
Called By: NULL
Table Accessed:
Table Updated:
Input:
Output:
Return:
Others:
*************************************************/
void main(void)
{
float adc;
int a,b;
AD_init();
init();
while(1)
{
adc=((float)AdcRegs.ADCRESULT0)*3.0/65520.0;
a=((int)adc);
b=((int)(adc*10))%10;
displaynum(0xef,~table[a]);
delay(10);
displaynum(0xdf,~table[b]);
delay(10);
displaynum(0xbf,~table[a]);
delay(10);
displaynum(0x7f,~table[b]);
delay(10);
AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;
}
}
DSP280x的数模转换使用的更多相关文章
- 【.NET 与树莓派】数模转换
在开始之前,需要说明一对很耳熟的概念--数字信号 & 模拟信号. 这些概念的理论有些复杂,你如果相当有兴趣,可以找来有关的文献细细研究:若你不关心那是啥只想知道咋用,那就通俗但不庸俗地理解一下 ...
- 模数转换(A/D)和数模转换(D/A) 图示
(从书中截图) 在时间域和频率域中示意图: 1.A/D转换 2.D/A转换
- (七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01
DAC0832是8分辨率的D/A转换集成芯片.与微处理器完全兼容.这个DA芯片以其价格低廉.接口简单.转换控制容易等优点,在单片机应用系统中得到广泛的应用.D/A转换器由8位输入锁存器.8位DAC寄存 ...
- TPYBoard开发板ADC数模转换一: 初识ADC使用
转载请以链接形式注明文章来源,公众号:MicroPython玩家汇 1.前言 ADC,Analog-to-DigitalConverter的缩写,指模/数转换器或者模数转换器[1].是指将连续变化的模 ...
- 51单片机学习笔记(清翔版)(21)——ADDA数模转换
A:anolog模拟的 D:digital数字的 AD模拟转数字,DA数字转模拟 生活中的基本都是模拟量,如温度,可以是10℃,10.1℃等 手机的背光亮度自动调节,拿到太阳光下,亮度 ...
- 数模转换ADC08009应用
#include <reg52.h> //头文件 #define uchar unsigned char //宏定义无符号字符型 #define uint unsigned int //宏 ...
- 【ARM】2410裸机系列-ADC数模转换
开发环境 1.硬件平台:FS2410 2.主机:Ubuntu 12.04 ADC寄存器配置 1.初始化ADC(ADCCON) 设置预分频,预分频因子,选择A/D转换通道,并选择正常模式 ...
- STM32 C++编程 004 Adc (数模转换)类
使用 C++ 语言给 STM32 编写一个 Adc 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏 ...
- IOS开发基础知识--碎片50
1:Masonry 2个或2个以上的控件等间隔排序 /** * 多个控件固定间隔的等间隔排列,变化的是控件的长度或者宽度值 * * @param axisType 轴线方向 * @param fi ...
随机推荐
- SVN与TortoiseSVN实战:属性的奇技淫巧(一)
硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...
- dell N1500 安全配置
http://www.dell.com/Support/Article/us/en/19/HOW10832 Setting a management IP address A reachable IP ...
- JS 随机数
function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return(Min + Math.r ...
- Mysql group by 排序问题
类如 有一个 帖子的回复表,posts( id , tid , subject , message , dateline ) , id 为 自动增长字段, tid为该回复的主题帖子的id(外键关联), ...
- webGL 学习教程
====教程=================== webGL中文网:http://www.hewebgl.com/webGL API:https://developer.mozilla.org/en ...
- tostring格式化输出
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E 科学型 25000.ToString ...
- git备忘(长久更新)
一直想了解一下git,正好最近的有一个问题就是,实验室写的代码,怎么同步到自己宿舍的笔记本上面来.最开始想用dropbox,但是用VS的人都知道,工程文件里面会给你生成乱七八糟的很多东西,很占空间,d ...
- AnyCAD三维控件场景节点详解
SceneNode是AnyCAD三维图形平台的AnyViz显示引擎的核心对象之一,只有放在场景管理器(SceneManager)里的节点才能被显示引擎所显示. 1. 节点分类 SceneNode是 ...
- php异常处理示例
php异常处理使用示例,代码说明了普通错误和致命错误捕获及处理的方法. 代码如下: <?php //禁止错误输出 error_reporting(0); //设置错误处理器 set_error ...
- IBM开发者 JSON 教程
在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.掌握 Ajax 的这一期讨论另一种有用的数据格式 JavaScript Object Notation(JSON),以及如何 ...