001_89C52之_Proteus_ADC0809采集电压

发布者:Xiaohan521最新更新时间:2024-08-16 来源: cnblogs关键字:89C52  Proteus  ADC0809  采集电压 手机看文章 扫描二维码
随时随地手机看文章

一)使用ADC0809采集直流电

1. 第一个数码管显示的是采样输入口

2. 后面三位是采样电压

 

(二)使用ADC0809进行交流电的采样

1. 先进行交流电降压,即用变压器降压后使用整桥电路进行整流

2. 默认将220交流电整流成5V最高,然后接入ADC0809

3. 图中有理论公式,大概公式可以使用,设X是读取到的电压:实际值=(X/5)*220   

(三)单片机程序


 1 /***************   writer:shopping.w   ******************/

 2 #include

 3 #define uint unsigned int

 4 #define uchar unsigned char

 5 #define DATA P1

 6 sbit OE  = P2^5;

 7 sbit EOC = P3^3;

 8 sbit ST  = P2^7;

 9 

10 sbit C1  = P3^0;

11 sbit C2  = P3^1;

12 sbit C3  = P3^2;

13 

14 uint display_data = 0;  /*显示数据*/

15 uchar code LEDData[]=

16 {

17      0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f

18 };

19 

20 

21 void DelayMS(uint ms)

22 {

23      uchar i;

24     while(ms--)

25     {

26          for(i=0;i<120;i++);

27     }

28 }

29 

30 void Display_Result(uint d)

31 {

32     

33      P2 = 0xf7;

34     P0 = LEDData[d%10];

35     DelayMS(5);

36     P2 = 0xfb;

37     P0 = LEDData[d%100/10];

38     DelayMS(5);

39     P2 = 0xfd;

40     P0 = (LEDData[d/100]| 0x80);

41     DelayMS(5);

42     

43     P2 = 0xfe;

44     P0 = LEDData[3];

45     DelayMS(5);

46     

47 }

48 

49 void main()

50 {

51 

52 

53     C1  = 1;

54     C2  = 1;

55     C3  = 0;

56     

57     while(1)

58     {

59          ST = 0;

60         ST = 1;

61         ST = 0;

62         while(EOC == 0);

63         OE = 1;

64         display_data = ((5.0/255) * DATA) * 100;

65         Display_Result(display_data);

66         OE = 0;

67     }

68 }


关键字:89C52  Proteus  ADC0809  采集电压 引用地址:001_89C52之_Proteus_ADC0809采集电压

上一篇:led流水灯
下一篇:002_89C52_Proteus_DAC0832_输出50HZ,正弦波,三角波,矩形波,锯齿波

推荐阅读最新更新时间:2026-03-16 22:49

《逗比小憨憨51单片机Proteus仿真系列》第11期基于单片机的ADC0804实验(电压采集
源代码: #include reg52.h #include intrins.h typedef unsigned char u8; typedef unsigned int u16; sbit dula = P2^6; sbit wela = P2^7; sbit adcs = P3^5; sbit adwr = P3^6; sbit adrd = P3^7; u8 code table = {0x3f,0x06,0x5b,0x4f,
[单片机]
介绍一种关于STM32 ADC 多通道16路电压采集技术
下面介绍一种利用STM32单片机制作的16路多通道ADC采集电路图和源程序。采用USB接口与电脑连接,实则USB转串口方式,所以上位机可以用串口作为接口。电路图中利用LM324作为电压跟随器,起到保护单片机引脚的作用。直接在电脑USB取点,省去外接电源麻烦,实测耗电电流不到20ma. 1.主控电路图: 2. USB转串口电路图 3.LM324电压跟随器电路图 4.滤波电路图 5.16路接口电路图 6.电源电路图 7.16路ADC初始化程序: voidAdc_Init(void) { //先初始化IO口 RCC-》APB2ENR|=0X7《《2;//使能PORTAPORABPORTC口时钟 GPIOA-》CR
[单片机]
介绍一种关于STM32 ADC 多通道16路<font color='red'>电压</font><font color='red'>采集</font>技术
STM8L151C8单片机学习例程(8)——内部参考电压ADC_Vrefint采集电源电压
STM8L_8_ADC_Vrefint: 1.User:工程及main文件 2.Hardware:ADC,USART,CLK,LED,Delay 3.STM8L15x_StdPeriph_Driver:STM8自带库文件 4.Debug:hex文件存放于EXE文件夹 5.Function: ADC_Vrefint采集,串口发送电源电压值 /** ****************************************************************************** * @file main.c * @author Alex——小白 * @version V1.0 * @da
[单片机]
STM8L151C8单片机学习例程(8)——内部参考<font color='red'>电压</font>ADC_Vrefint<font color='red'>采集</font>电源<font color='red'>电压</font>
STM32F0xx_ADC采集电压配置详细过程
前言 关于ADC这一块的功能基本上也算是CortexM芯片的标配了。ST的每一块芯片都有这个功能,只是说因型号不同,通道数、位数等有所不同。STM8的芯片大多数都是10的,也就是说分辨率可达到:参考电压*(1/1024);STM32大多数都是12位的,也有少部分是16位的(F373)。平常采集一般的电压值,10位数都够我们使用了,除非使用在非常精密,或者说要求比较高的场合。 F0系列的芯片和F1系列的芯片差不多相似,但是F0没有ADC2、ADC3这么一说,只有ADC1,这里在编程的时候(特别是想把代码从F1移植到F0上的人要注意)。 下载 ST标准外设库和参考手册、数据手册等都可以在 ST官网 下载,你也可以到我的360云
[单片机]
STM32F0xx_ADC<font color='red'>采集</font><font color='red'>电压</font>配置详细过程
STM8SF103----ADC采集电压
1、ADC相关函数配置 /*函数名:Init_ADC *功能:初始化ADC *入口参数:无 *函数返回:无 *ADC1_CONVERSIONMODE_CONTINUOUS:连续转换 *ADC1_CHANNEL_4:通道4 *ADC1_PRESSEL_FCPU_D2:时钟分频 *ADC1_EXTTRIG_TIM:DISABLE:不使用外部触发 *ADC1_ALIGN_RIGHT:右对齐模式 *ADC1_SCHMITTTRIG_CHANNEL4,ENABLE:使用指定通道4的斯密特触发器 */ void Init_ADC(void) { //GPIO_Init(GPIOD, GPIO_PIN_2, GPIO_
[单片机]
STM32采集AD电压
是否使用DMA传输 使用DMA传输,那么流程为: ADC初始化,DMA初始化,TIM2初始化 其中:TIM2作为ADC的中断源 当发生一次定时器的中断时,进入AD转换,在DMA的初始化时与ADC-DR寄存器进行绑定,在该寄存器获得数据时,直接通过DMA通道将该寄存器的数据保存在给定的数组里面,把缓存数组装满后,会触发一次DMA的中断,在DMA的中断里面将缓存数组保存到100个电压值的数组里面。 定时器设为200us发生一次中断,来进行一次AD转换,获得寄存器里面的数据以后,保存在数组,保存100个数组后停止定时器的工作以及DMA的工作,对这份数据进行处理。 至此,DMA工作的流程已经结束,那么其中又怎样的缺漏导致不用DMA进行
[单片机]
Stm32f103rct6ADC电压采集简介及注意点
STM32f103 系列有 3 个 ADC,精度为12 位,每个 ADC 最多有 16 个外部通道。其中ADC1和ADC2 都有 16 个外部通道,ADC3根据CPU 引脚的不同通道数也不同,一般都有8 个外部通道。ADC 的模式非常多,功能非常强大。 ADC 输入范围为:V REF- ≤ V IN ≤ V REF+ ,一般把 V SSA 和 V REF- 接地,把 V REF+ 和 V DDA 接3V3,得到ADC 的输入电压范围为:0~3.3V。 通道: 注入通道: 注入,可以理解为插入,插队的意思,是一种不安分的通道。它是一种在规则通道转换的时候强行插入要转换的一种。如果在规则通道转换过程中,有注入通道插队,那么就要
[单片机]
Stm32f103rct6ADC<font color='red'>电压</font><font color='red'>采集</font>简介及注意点
STM32 ADC 多通道16路电压采集
下面介绍一种利用STM32单片机制作的16路多通道ADC采集电路图和源程序。采用USB接口与电脑连接,实则USB转串口方式,所以上位机可以用串口作为接口。电路图中利用LM324作为电压跟随器,起到保护单片机引脚的作用。直接在电脑USB取点,省去外接电源麻烦,实测耗电电流不到20ma. 1.主控电路图: 2. USB转串口电路图 3.LM324电压跟随器电路图 4.滤波电路图 5.16路接口电路图 6.电源电路图 7.16路ADC初始化程序: void Adc_Init(void) { //先初始化IO口 RCC- APB2ENR|=0X7 2; //使能PORTA\PORAB\PORTC口
[单片机]
STM32 ADC 多通道16路<font color='red'>电压</font><font color='red'>采集</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved