历史上的今天
今天是:2024年10月11日(星期五)
2021年10月11日 | 基于51单片机的电压表-数码管显示
2021-10-11 来源:eefocus
一.硬件方案
本设计基于STC89C52单片机的一种电压测量电路,该电路采用ADC0832A/D转换芯片,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单, 可以测量0~9V的电压值,并在四位LED数码管上显示电压值。如图:

二.设计功能
(1)ADC0832模数转换,0-9V电压测量;
(2)4位数码管显示测量电压值;
(3)10K可调电阻模拟电压测试;
(4)当提供电源电源为精准的5V电源时,精度为正负0.02V;
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

四.软件设计
(1)程序流程图

(2)主程序源码
/*****************主函数********************/
void main()
{
static uchar i,j;
uint temp;
while(1)
{
display(); //数码管显示函数
if(i % 3 == 0) //循环10次
{
pingjun_zhi(p1); //把数从小到大排序
p1[j++] = ad0832read(1,0); //循环255个周期读取一次0832,因CPU运行比较快,没必要每次循环都去读取,选择通过CH0输入
if(j >= 9)
{
j = 0;
temp = p1[3] ; //取个中间值
temp = temp * 100 / 255 * 4.5 * 2;
dis_smg[2]=smg_du[temp/100%10] & 0xdf; //得到百位
dis_smg[1]=smg_du[temp/10%10]; //十位
dis_smg[0]=smg_du[temp%10]; //个位 ADC0832为8位ADC,数值为0~255,我们将其分开放入l_tmpdate数组中显示
}
}
i++;
}
}
/************ 排序***************/
void pingjun_zhi(uint *p)
{
static uint value;
static uchar i,j;
for(j=1;j<9;j++) //先对整个数组的9个值进行从小到大的排列
for(i=0;i<9 - j;i++)
{
if(p[i] > p[i+1])
{
value = p[i];
p[i] = p[i+1];
p[i+1] = value;
}
}
}
史海拾趣
|
ADS1605:速度最快的16位Delta-Sigma ADC 豪华的单片机开发系统498元 可稳定视频输出的: S3C2410 ARM9开发板780元DSP5402学习开发板II200元 暑期大优惠:S3C44B0开发板(标准版)350元 单片机以太网开发板 180元 DSP5402学习开发板II200元 LABTOOL-48UXP &nb ...… 查看全部问答> |
|
模拟技术是目前所有电子产品设计中不可或缺的部分,相信大家对模拟技术可以说一点都不陌生,从接触电子产品开始,我们就接触模拟技术了。模拟技术更多需要经验积累,对新入门的工程师来说,如何提升自己的模拟设计水平?我们欢迎广大资深工程师都来 ...… 查看全部问答> |
|
vxWorks系统中有几个task,其中一个task在执行过程中会挂掉(SUSPEND),请问有可能是哪些原因? 如题。 我以前没有接触过此系统,不知道它是如何使用内存的…… ---------- 迷惑:一个task在执行过程中怎么会挂掉自己呢?task之间没有访问保护,写错地方了就是挂掉别的task或系统啊! 明白的此情况的,请提示一下! ...… 查看全部问答> |
|
自己编了个wince 6.0的模拟器,下载了一个flash播放器,在开发板的真实硬件环境可以跑起来并且运行flash,但是在模拟器上只能运行flash播放器,无法运行flash文件,请问是不是需要什么库或者组件的支持?谢谢!!… 查看全部问答> |
|
450转让友善之臂mini2440开发板 09年底入手的2440开发板,带3.5寸屏,128M NAND Flash,带usb线,串口线,Jtag小板,送原厂开发板资料DVD和5张视频教程DVD,送USB串口转接线; 板子详情查看官方网站http://www.arm9.net/mini2440-feature.asp 有 ...… 查看全部问答> |
|
Enumeration for HS USB device to full speed only Host fail 需要开发USB device 本身是High speed 的, 先把XP Device manager 中的所有的EHCI 都disable (如果没有这一步,设备是可以正常自举的), 然后插入设备,不能正常自举, 抓的log 显示停在 set address request 这一步,device 没有回 0 byte的ACK. ...… 查看全部问答> |
|
我现在在做一个驱动,使用了5个端点,端点1为in,其他2,3,4,5断点为out的,我有一个1k的数据包,如何利用2,3,4,5端点,对设备进行高速写入,最后可以把usb跑到800-900k每秒… 查看全部问答> |
|
培训的内容如下:•北京中教仪装备技术有限公司介绍•Xilinx公司介绍•Xilinx公司产品概述•Xilinx公司软件平台介绍•Xilinx公司ISE10.1软件介绍•EXCD-1硬件开发平台介绍•基于HDL、IP核和原理图的设计输入和 ...… 查看全部问答> |




