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,正弦波,三角波,矩形波,锯齿波

推荐阅读最新更新时间:2024-11-05 11:09

STM32F103实现双ADC同步采集电压信号
STM32一般都拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重/三重ADC采样模式,本文使用STM32F103ZET6的双重ADC模式,同步采集两个通道的电压信号。 一、注意事项 1、配置ADC的采样模式为同步规则采样 ADC1和ADC2采样模式相同,但其中ADC1为主ADC,ADC2为从ADC。 该模式在ADC_CR1寄存器中配置:(具体资料请参详STM32参考手册) 2、使能DMA位 在双ADC模式中,ADC1和ADC2的规则通道转换数据均会保存到主数据寄存器,也就是ADC1数据寄存器(ADC1_DR)中。为了能在主寄存器中读取从ADC的转换数据,必须使能DMA位。** 无论是否使用DMA传输规则通道数据 **
[单片机]
STM32F103实现双ADC同步<font color='red'>采集</font><font color='red'>电压</font>信号
多路舵机控制PWM发生器的设计与Proteus仿真
  PWM脉宽信号调制是现代电子行业中使用较为广泛的一种脉冲信号,其典型应用就是 舵机控制 。以 Proteus 和Keil软件为基础,介绍了在Proteus环境下利用51单片机产生多路PWM脉冲的实现方法。最后以一个典型的应用实例验证了设计的可行性与可靠性。实验证明,本系统可在单片机定时器资源有限的情况下同时对多个舵机的输出转角进行控制。本文以一个典型的单片机应用实例为基础,使用Proteus和Keil软件作为开发工具,介绍了单片机系统初期开发的设计与仿真过程。   1 Proteus软件简介   Proteus软件是英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛
[单片机]
多路舵机控制PWM发生器的设计与<font color='red'>Proteus</font>仿真
Proteus环境下Avr I/O电平反复变化(看门狗复位)
学习了一个月的avr单片机了,从点亮一个二极管到通信部分,以前都是直接上硬件,下载验证,昨天开始下载了Proteus使用仿真,下载地址是 http://www.verycd.com/topics/2733851/ 发现点亮一个简单的二极管都不成功,cvavr下的程序如下: #include mega16.h void main() { DDRB=0XFF; PORTB=0X00; while(1); } 然而就是这么简单的一个程序得到的仿真结果是: 一会高一会低,非常郁闷,学了这么长时间,居然让一个灯常亮都不行了 于是群里问 可惜没人回答 终于,搜索中找到了以下是原文: 这个问题
[单片机]
基于Proteus的远程抄表系统设计与仿真
随着生活水平的提高,人们对资源的消费日益增长,资源消费的计量、管理和收费工作日益繁杂,提高管理层次和自动化水平的产品因此应运而生。但以往耗能表的抄收为人工方式,不能保证数据的准确性和实时性,还会造成大量人力、物力及时间的浪费,同时带来错抄、漏抄、估抄的现象。因此传统超标方式已经越来越不能适应今后住宅的发展需求和人们的生活需求,取而代之的将是是户外的远程抄表系统,即利用传感、控制、网络等技术将每个用户的耗能表数据自动采集到采集器中,再由采集器将数据传送到户外的集控器中,然后通过网络把数据传送到上位监控主机中,进行分析、计量和储存。最后,能源供给公司再根据上位机计算出来的住户消费费用进行电子收费。这种方法既节省人力、物力、时间,又
[单片机]
单片机驱动4相步进电机proteus仿真
单片机IO驱动能力不够,因此使用ULN2003驱动。 采用4相8拍驱动方式,步进电机在proteus里是motor-stepper,接法:中间引出接电源,其他脚顺时针或逆时针接即可。 程序如下: #include reg52.h #define uchar unsigned char #define uint unsigned int void delay(uint a); const uchar step_table ={0x04,0x0c,0x08,0x18,0x10,0x30,0x20,0x24};//4相8拍方式 void main() { uint i,j; j=300; while(j--)
[单片机]
stm32f103r6仿真计数器程序+Proteus
单片机源程序如下: #include stm32f10x.h #include Delay.h #include smg.h #include sys.h #include timer.h #include led.h #include fmq.h #include key.h #include stm32f10x_tim.h uint16_t table = { /* 0, 1, 2, 3, 4, 5, 6, 7, 8, */ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, /* 9, A, B, C,
[单片机]
stm32f103r6仿真计数器程序+<font color='red'>Proteus</font>
廉价隔离型高精度D/A转换器
在自动化仪表,电动组合仪表II型输出0~10mA的电流,III型输出4~20mA的电流。本文介绍的电路可以作为0~20mA的恒流源输出,因此适用性较广,可为各种仪器仪表输出标准电流,或者进行长距离的信号传输。本电路具有串行接口,易于构成网络测量和控制。同时应用光电隔离使本电路与输出电路隔离,从而解决了测量设备的共地问题,保证了测量设备的安全。另外,利用单片机便于计算和控制的特点,对输出电流进行软件校正,最后输出电流精度达到± 0.1%。 1 电路原理 该电路通过扩展键盘/显示器可任意设置输出电流值(0.00~20.00mA),精度达到±0.1%;通过串行口,采用PC机控制输出电流的大小,并且在PC机上同步显示输出的电流值。具
[单片机]
ADC采集电压和显示 基于STM32的ADC—电压采集
功能介绍放开头, 使用便捷无需愁 这是全网最详细、性价比最高的STM32实战项目入门教程,通过合理的硬件设计和详细的视频笔记介绍,硬件使用STM32F103主控资料多方便学习,通过3万字笔记、12多个小时视频、20多章节代码手把手教会你如何开发和调试。让你更快掌握嵌入式系统开发。 V3.3.0-STM32智能小车 视频: https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制、视觉控制、电磁循迹、RTOS等功能。 我们
[单片机]
ADC<font color='red'>采集</font><font color='red'>电压</font>和显示 基于STM32的ADC—<font color='red'>电压</font><font color='red'>采集</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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