一)使用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 }
上一篇:led流水灯
下一篇:002_89C52_Proteus_DAC0832_输出50HZ,正弦波,三角波,矩形波,锯齿波
推荐阅读最新更新时间:2024-11-05 11:09
设计资源 培训 开发板 精华推荐
- SC2596低压集成DDR终端稳压器的典型应用
- MIKROE-3409,基于 KMR221 触觉按钮开关的模拟按键板
- 使用 ON Semiconductor 的 NCP1606B 的参考设计
- 简易FOC闭环步进电机
- ESP 烧录夹具 1
- 160W、35V 交流转直流单路输出电源
- 使用 Analog Devices 的 ADuCM360BCPZ128 的参考设计
- 具有可调输出电压、5V 的典型应用电路 ADP7104 20V、500mA 低噪声 CMOS LDO 线性稳压器
- 使用 Richtek Technology Corporation 的 RT8560A 的参考设计
- LD2981ABU50TR 5 Vout超低压降稳压器典型应用
- 极致简约,Digi-Key Electronics 推出全新的设计工具 DK IoT Studio™
- 聚焦技术提升, 中国电子通信与半导体CIO峰会盛大启航!
- 台达高效能 UPS 保障生产品质
- 英飞凌2018财年业绩出色,计划进一步调高股息
- 人气偶像朱正廷代言!荣耀10青春版官宣:对标小米
- 名企云集,高朋满座!热烈庆祝2019中国(南京)国际无人机系统产业大会圆满落幕
- 特斯拉申请电池组设计专利 冷却系统使用金属板散热
- Maxim发布业内唯一符合ASIL-D等级的单芯片电池监测器IC,支持大中型电池组应用
- 交通运输部:我国自动驾驶顶层设计文件即将出台
- 博世推出新型微芯片,可防止电动车发生事故后人员触电