c51 ad转换

分类:转换一下浏览量:3280发布于:2021-07-25 06:13:22

c51 ad转换

#include<reg51.h>#define uchar unsigned char#define uint unsigned int sbit wr=P2^6 w++); } } ad_star() { wr=1; wr=0; wr=1; } main() { uchar a; while(1) { ad_star(); while(

用c51单片机做AD转换,只要用一个简单的延时就可以,没必要动用定时器这么高级的东西,DMA就更别提了,我写了很多程序,还真没有人能用C51实现DMA,DMA一般在arm系列和FPGA等的高级嵌入式里面才会用到的.

内部带AD转换器的可以对相关寄存器进行操作,然后进行采集,外置的可以编写相应的驱动函数,然后进行采集.

不管哪个单片机或者哪个应用系统,AD转换的作用都是,将被测电压转换成相对应的数值,这样的话单片机才能够据此进行运算、判断、和控制处理.例如,一个温度传感器在0℃的时候是100欧,对应2.5V的电压,那么单片机是无法直接知道此时的电压是2.5V的,单片机本身只能知道电平是高还是低,因此这个2.5V的电压就需要经过ADC转换为数字量,如果是用8位分辨率的ADC、参考电压为5V,那么转换结果就是127,也就是0x7F,这样的话,单片机就可以判断这个温度是否过高或者过低,就能进行运算和控制了.

利用了P1.0和P1.1内部的电压比较器进行AD转换,P3.6是比较器的输出.

1,什么是ad转换?a是模拟信号的意思,d是数字信号的意思,ad转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号.2,为

用的什么AD 总得说清楚啊!芯片型号?设置那些寄存器就好了啊 P1M0,P1M1 置为11 或 10 ADC_POWER 为1 时AD上电 SPEED1 SPEED0 选择不同转换频率 CHS2 CHS1 CHS0 选择要转换哪个通道的 设置好上面的 SETB ADC_START 启动转换 然后查转换结束标志 ADC_FLAG 转换结束读数据 ADC_DATA 还有问题加QQ64767563

51单片机作为输入口使用时,必须现象io口送稿电平,因为我们是要判断显示屏的状态,所以必须把io口,也就是你程序中p1口设置为输入口.在显示屏中,通常是我们看到的字符的痕迹是被点亮的,反显恰好相反了,是把看不到的部分点亮.将向印章一样,有凸出的,也有凹下的,如果我们把正常显示说成是凸出的,那么反显就是凹下显示的.

完全可以,单片机最后编译成汇编执行的,汇编语言用16进制表示,但执行时是二进制.汇编里没有乘法的概念,你C里的乘法汇编要用好几条语句来实现的.所以,只要你C写得没问题,可以得到预想的结果的.

单片机的说明文档上有,首先要看一下ADC_CONTR这个寄存器 它决定着ADC 电源开启 转换速度 选择哪个通道 启动与停止 转换是否完成 程序如下:ADC_CONTR=ADC