STC单片机通用AD转换程序[优秀]_stc单片机ad转换程序
STC单片机通用AD转换程序[优秀]由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“stc单片机ad转换程序”。
福星电子网http://
#include
#include
sfr P1_ADC_EN = 0x97;//A/D转换功能允许寄存器
sfr ADC_CONTR = 0xC5;//A/D转换控制寄存器
sfr ADC_DATA = 0xC6;//A/D转换结果寄存器 高8位,sfr ADC_LOW2 = 0xC7;//A/D转换结果寄存器 低2位,如果是8位AD无此寄存器。
#define uchar unsigned char;
#define uint unsigned int;
Uintad_out1,ad_out2;
void delay(uchar delay_time)// 延时函数
{
uchar n;
uint m;
for(n=0;n
{
for(m=0;m
}
}
uchar get_AD_result(uchar channel)
{
uchar AD_finished = 0;// 存储 A/D 转换标志
ADC_DATA = 0;
ADC_CONTR = channel;// 选择 A/D 当前通道
_nop_();_nop_();_nop_();//使输入电压达到稳定
_nop_();_nop_();_nop_();
ADC_CONTR |= 0x08;//0000,1000 令 ADC_START = 1, 启动A/D 转换
AD_finished = 0;
while(AD_finished == 0)// 等待A/D 转换结束
{
AD_finished =(ADC_CONTR & 0x10);//0001,0000, ADC_FLAG ==1测试A/D转换结束否
}
ADC_CONTR &= 0xF7;//1111,0111 令 ADC_START = 0, 关闭A/D 转换,return(ADC_DATA);// 返回 A/D 转换结果
}
void main()
{
P1 = P1 | 0x01;// 0000,0001,P1.0为 A/D 转换,即通道0与1
福星电子网http://
P1_ADC_EN = 0x01;//0000,0001, P1 的P1.0设置为 A/D 转换输入脚// 断开P1.0,P1.1 内部上拉电阻
while(1)
{
get_AD_result(0);
delay(10);
//可以多采集几次求均值
//8位数据输出,参考电压5V
ad_out1=(ADC_DATA*5)/256
//8位数据输出,参考电压5V
ad_out2=((ADC_DATA*4)+ ADC_LOW2)/1024
}
}
有关单片机AD转换的实验报告一、 实验目的1、理解A/D转换的工作原理;2、理解掌握ADC0809的A/D转换原理和并行A/D转换器接口的编程方法; 3、学习使用并行模/数转换芯片ADC0809......
心得体会是指个人在经历某种事物、活动或事件后,通过思考、总结和反思,从中获得的经验和感悟。记录心得体会对于我们的成长和发展具有重要的意义。下面是小编帮大家整理的优秀......
2023年单片机心得体会 单片机AD转换心得体会(实用14篇)
从某件事情上得到收获以后,写一篇心得体会,记录下来,这么做可以让我们不断思考不断进步。通过记录心得体会,我们可以更好地认识自己,借鉴他人的经验,规划自己的未来,为社会的进步做......
ad转换方法:1、对于ALE 信号是上升沿有效,锁存地址并选中相应通道。clk:时钟信号,可由单片机ale信号分频得到。2、而对于ST 信号来说是下将沿有效有效,然后开始转换。A/D转换期......
刀豆文库小编为你整合推荐3篇ad转换方法,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
