51单片机如何定义程序起始地址

51单片机如何定义程序起始地址,第1张

你说的这个应该是adc几个控制寄存器的地址,这样宏定义之后 *** 作起来就方便很多了,具体这些地址是哪个寄存器的,你要看看芯片手册了,这里0x80是adc电源控制位,0x10是adc转换结束标志位,0x08是adc转换启动控制位。

单片机一般的ADC是没有问题的,

我觉得很有可能是下述原因之一:

1是不是电平有跳动的不稳定,比如输入电平抖动(干扰导致),你只是肉眼没看出来而已,所以认为它是稳定的。这个解决方法如果输入是稳定电压(直流),那就在电压之间加上个电容就完事了。

2是不是输入电压的范围超了?如果是范围超了,加个分压电路,然后在单片机程序里面再按比例的增加就行了。

STC官网上有例子的,大概有以下几个过程:

ADC_CONTR=ADC_CONTR|0X80; //10000000 开启转换电源

Delay1ms(1); //延时,等待内部电源稳定

//P1M0=P1M0|0X07; //设置p10 P11和 p13所在通道为开/漏模式

//P1M1=P1M1|0X07;

ADC_CONTR=0xe0; //11100000 开启P10通道开始转换

Delay25us(10); //延时一端时间,使输入电压达到稳定

ADC_DATA =0x00; //清A/D转换结果寄存器

ADC_LOW2 =0x00;

ADC_CONTR |= 0x08; //ADC_START=1,开始转换

while(!(ADC_CONTR&0x10)); //0001,0000 等待A/D转换结束

temp1=ADC_DATA; //读取转换结果

temp1=ADC_LOW2;

最终转换结果是10位的 :advalue= temp14+temp2

//------------------------------------------------------------

// ADC0809模数转换

//ADC0809采样通道3输入的模拟量,转换后结果显示在数码管上

#include <reg51h>

#define uchar unsigned char

#define uint unsigned int

uchar code LEDData[]=;

//ADC0809引脚定义

sbit OE=P1^0;

sbit EOC=P1^1;

sbit ST=P1^2;

sbit CLK=P1^3;

//延时

void Delayms(uint ms)

{

uchar i;

while(ms--)for(i=0;i<120;i++);

}

//显示转换结果

void Display_Result(uchar d)

{

P2=0xf7;

P0=LEDData[d%10];

Delayms(5);

P2=0xfd;

P0=LEDData[d%100/10];

Delayms(5);

P2=0xfd;

P0=LEDData[d/100];

Delayms(5);

}

// 主程序

void main()

{

TMOD=0x02;

TH0=0x14;

TL0=0x00;

IE=0x82;

TR0=1;

P1=0x3f;//选择ADC0809通道3(0111)

//高4位设通道地址为0111

while(1)

{

ST=0;ST=1;ST=0;//启动转换

while(EOC==0); //等待转换结果

OE=1; //允许输出

Display_Result(P3); //显示A/D转换结果

OE=0; //关闭输出

}

}

//T0定时器中断给ADC0809提供时钟信号

void Timer0_INT() interrupt 1

{

CLK=!CLK; //ADC0809时钟信号

}

ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ch ;//开始转换

这是用STC单片机内部A/D转换电路进行A/D转换时,要给A/D控制寄存器ADC_CONTR写启动转换命令,ADC_CONTR是ADC控制寄存器,其中的每一位的作用见下图,而这行语句前面肯定要有定义每一位状态的语句,或用#define宏定义了各位的值。

以上就是关于51单片机如何定义程序起始地址全部的内容,包括:51单片机如何定义程序起始地址、51单片机AD转换不稳定、STC89C51单片机怎么使用内部AD转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10218659.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存