昨天查看公众号私信,发现有小伙伴想要数字电压表的仿真,今天就分享一个之前在网络上搜集到的仿真。基于51单片机的数字电压表。
电压表是测量电压的一种仪器。传统的指针式电压表和电流表都是根据一个原理就是电流的磁效应。电流越大,所产生的磁力越大,表现出的就是电压表上的指针的摆幅越大,电压表内有一个磁铁和一个导线线圈,通过电流后,会使线圈产生磁场,线圈通电后在磁铁的作用下会发生偏转,这就是电流表、电压表的表头部分;现在我们使用较多的是数字电压表,数字电压表的主要工作原理是利用模数转换器,将待测的模拟电压信号转换成为数字信号,然后对数字信号进行处理并通过数码管或LCD等显示装置显示出来。数字式电压表显示的测量结果更加直观。
简单的介绍了一下电压表以后,接下来直接上仿真图。
单片机依旧是AT89C51。该仿真制作的数字电压表的量程为0到5v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为 5v。同时设计的精度为小数点后两位,满足要求的两位小数的精度。显示部分使用的是LCD1602。
ADC0809是8位逐次逼近型模数转换器。转换时间为100微秒。具有8个模拟量输入端口,可以通过数字控制引脚对8个输入端口进行选择。
下面说明各引脚功能:
- IN0~IN7:8路模拟量输入端。
- 2-1~2-8:8位数字量输出端。
- ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
- ALE:地址锁存允许信号,输入端,产生一个正脉冲以锁存地址。
- START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
- EOC:A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
- OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
- CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。
- REF( )、REF(-):基准电压。
- Vcc:电源,单一 5V。
- GND:地。
下面运行仿真,看一下仿真的动态效果。
运行仿真后,可以看到LCD上显示除了当前测量的电压值。第一行显示的是电压的英文单词,第二行显示的是测量的电压值。通过调节左侧的RP2电位器的参数就可以改变待测电压。
测量范围为0-5V,显示的测量结果还是比较准确的。
这个仿真如果要进行实际制作需要对ADC0809的输入时钟进行修改,在仿真中采用的是仿真内部的时钟发生器,而在进行实物制作时,这个时钟可以使用单片机的IO产生或者是对单片机的ALE引脚输出的时钟信号进行分频得到。
惯例贴一张程序图。程序较为简单而且也有部分注释,这里就不作介绍了。
该资源来源于网络搜集,有需要的朋友可以私信。
,