在本文中,使用8051单片机制作一个简单的0-5v电压表。该数字电压表的灵敏度为200mv,这有点低,但该项目旨在演示如何将adc和七段显示器连接到8051单片机以获得输入电压的数字读数。
在这个案例中,adc0804是adc,使用的单片机是at89s51。在尝试这个案例之前,请先了解怎么将adc连接到8051单片机和将七段显示器连接到8051单片机,这将使您对基础知识有一个很好的了解。
一、数字电压表电路图
在电路中,adc的vref/2(pin9)保持开路,这意味着输入电压跨度可以是o到5v,步长将为5/255=19.6mv。adc0804数字输出的公式为dout=vin/步长。在该电路中,对于1v的输入电压,数字输出将是1/19.6mv=51,因此51的二进制等效值,即00110011。adc的数字输出连接到微控制器的p1.0。adc的控制信号,即cs、rd、wr和intr分别来自微控制器的p3.7、p3.6、p3.5和p3.4引脚。2位多路复用七段显示器连接到微控制器的端口0。显示驱动晶体管q1和q2的控制信号从微控制器的p3.2和p3.1获得。按钮开关为s1。
首先,程序控制adc产生与输入电压相对应的数字输出。该数字输出通过p1.0扫描并加载到累加器。然后将累加器中的值除以10以省略最后一位。例如,让输入电压为4v。那么adc对应的数字输出将是204d(d代表十进制)。除以10后,累加器中剩下的值为20d。然后将该20d乘以2d,结果为40d。该程序的下一个目标是操纵这个40d并在显示器上进行4.0读数。为此,将40d再次除以10d。这导致累加器内部为4,b寄存器内部为0。然后程序使用查找表获取4的数字驱动模式,将此模式放在端口0上并激活q1。在1ms延迟后,10000000b被加载到p0,这就是点。再经过1ms延迟q1停用后,b中的内容(即0)移至a,使用查找表获取0的正确数字驱动模式,将此模式放在端口0上并激活q2。再经过1ms延迟后,q2将停用,并重复整个周期。
二、基于8051数字电压表程序
org 00hmov p1,#11111111bmov p0,#00000000bmov p3,#00000000bmov dptr,#labelmain: clr p3.7setb p3.6clr p3.5setb p3.5wait: jb p3.4,waitclr p3.7clr p3.6mov a,p1mov b,#10ddiv abmov b,#2dmul abmov b,#10ddiv absetb p3.2acall displaymov p0,aacall delaymov p0,#10000000bacall delaymov a,bclr p3.2setb p3.1acall displaymov p0,aacall delayclr p3.1sjmp maindelay: mov r3,#02hdel1: mov r2,#0fahdel2: djnz r2,del2djnz r3,del1retdisplay: movc a,@a+dptrretlabel: db 3fhdb 06hdb 5bhdb 4fhdb 66hdb 6dhdb 7dhdb 07hdb 7fhdb 6fh
Omdia:半导体市场竞争格局追踪,收入出现首次下滑
什么是中频采样?什么是IQ采样?中频采样和IQ采样的比较和转换
AWorks软件设计,邮箱、消息队列和自旋锁使用方法
不及阅文集团和雷蛇反响 小米公开认购市场表现平淡
从架构日“宣言书”到CES全面展示,英特尔如何布局下一个计算时代?
如何使用8051单片机制作一个简单的0-5V电压表
自旋电子学型MR磁性传感器的原理分析
CS5366|CS5365 Type-C转HDMI方案|替代AG9411|AG9410
高音质蓝牙耳机五大排行,音质最好的蓝牙耳机
二维码智能门禁系统已经成为了无人值守场合的标配
LT8612/LT8613高效降压稳压器在汽车和工业领域的应用
STM32的USART1与USART2模块串行数据通讯功能
ADC转换器的主要技术参数及分类
瑞萨e2studio(29)----SPI速率解析
先楫工业4.0全面解决方案Q&A
预计2026年我国3D人脸识别的市场规模超过98亿元人民币!
运营商今年的移动网络流量平均资费将再降低20%以上
关于cob led显示屏的报价,是由哪些因素影响的
用于AI推理的Ergo边缘处理器脱颖而出
OpenCV在低对比度缺陷检测中的应用实例