历史上的今天
今天是:2024年11月18日(星期一)
2019年11月18日 | Mini2440裸机程序之ADC
2019-11-18 来源:51hei
源代码及注释
#define GLOBAL_CLK 1
#include #define LED1 (1 << (5 * 2)) #define LED1_ON ~(1<<5) #define LED1_OFF (1<<5) void init() int ADC_Test() void Main(void) 程序结果
#include
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"
#include "memtest.h"
#include "Mylib.h"
#define LED2 (1 << (6 * 2))
#define LED3 (1 << (7 * 2))
#define LED4 (1 << (8 * 2))
#define LEDS (LED1 | LED2 | LED3 | LED4)
#define LED2_ON ~(1<<6)
#define LED3_ON ~(1<<7)
#define LED4_ON ~(1<<8)
#define LED2_OFF (1<<6)
#define LED3_OFF (1<<7)
#define LED4_OFF (1<<8)
{
cal_cpu_bus_clk();//在MyLib.h中有定义
Uart_Init(0,115200);//PCLK、波特率为115200
Uart_Select(0);//选择串口0
My_Logo();//在MyLib.h中有定义
}
{
int temp;
rADCCON = (1<<14)|(0x31<<6)|(0<<3);//预分频器使能、预分频值为49、通道0
rADCCON |=0x1;// A/D开始转换,开始之后,此位被清除
while(rADCCON&0x1);//检测有没有开始
while(!(rADCCON&0x8000));//检测转换是否结束
temp = rADCDAT0&0x3ff;//返回转换值,正常A/D转换的数值只能通过ADCDAT0寄存器的[9:0]位读取
return temp;
}
{
int temp,Value;
U8 key;
init();
MMU_Init();//内存初始化
rGPBCON = LEDS; //初始化LED相应引脚为输出
rGPBDAT = rGPBDAT|(LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF); // LED 灭
rGPBDAT &= ~(0x1);
Uart_Printf("nnnPress 'Enter' to refresh the Screenn");//终端提示
while(1)
{
temp = ADC_Test();//调用A/D转换函数
Value = ((3300/1024)*temp)*1000;//转换成电压值,单位mV,Value值比实际值放大了1000倍
key=Uart_Getch();//等待从键盘接收按键
Beep(2000,100);//蜂鸣器发声函数
// 刷新A/D转换,原因很简单,我们往往在等待按键时调整电位器
temp = ADC_Test();
Value = ((3300/1024)*temp)*1000;
rGPBCON = LEDS; //还原GPB的配置,原因调用了蜂鸣器发声函数,改变了GPB原先的配置
if(key==ENTER_KEY)//判断是否按了Enter键
{
key=0;//按键清零
rGPBDAT = (~temp)&(~0x1);//输出到LED显示,务必把GPB0清零,否则你将会有麻烦 ^|^
Uart_Printf("nnn%d %% 1000000 %(V%)n",Value);//把电压值输出到终端显示
}
else
{
key=0;
Uart_Printf("nnnPress the 'Enter' key!n");//按键非Enter键,提示按键
}
}
}
上一篇:ARM历程四-LCD
史海拾趣
|
文章作者:gaosi 文章来源 移动3G网 www.Goes3G.com/(原文链接地址:http://www.goes3g.com/200510/01080627.html)记者昨天从有关渠道获悉,中国移动将在全网范围开通手机电视业务。但据移动内部人士透露,该业务的具体开通日期是在10 ...… 查看全部问答> |
|
2008波兰国际通讯信息技术和电子博览会 (INFOSYSTEM 2008) 【展会名称】2008波兰国际通讯信息技术和电子博览会 【展会时间】2008年6月9日至11日 【展会地点】波兰波兹南国际展览中心 【展出内容】 1. 电脑周边及软件: 2. 通信网络产品: ...… 查看全部问答> |
|
51AVR单片机学习板EE21可以做以下实验: 1、LED流水灯实验 2、LED渐亮渐灭实验 3、8位数码管静态显示 4、8位数码管动态显示 5、独位按键实验 6、矩阵键盘扫描实验 7、LCD1602字符显示 8 、LCD12864汉显 9、LCD12864显示图片 10 ...… 查看全部问答> |
|
小弟是做嵌入式方向的,由于不是计算机专业,数电模电基础没有。 所以硬件原理图看不懂,这会影响到职业发展,所请问这方面有经验的大侠, 要看懂硬件原理图,进而指导嵌入式方案选型、系统设计和驱动开发,需要哪些方面的知识,有没有哪些书推荐 ...… 查看全部问答> |
|
我自己配置了个OS 在导出了我自己的SDK 然后把我在EVC上写的程序下载进去怎么运行不了啊 说我缺少什么库 怎么回事啊 是不是我在配置的时候哦据没把MFC的支持选择上啊 ? … 查看全部问答> |
|
LM3S811用IIC的API十分方便,但一定注意顺序搞不好是搞不定的 对于IIC的读写一定要注意: 主机往IIC从模块里写或从IIC模块读出时一定要调下设地址函数, I2CMasterSlaveAddveset() 另外,尽量用中断,若不用中 ...… 查看全部问答> |




