侵权投诉

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

使用单片机实现数字电压表的资料详细说明

来源:单片机教程网 作者:89s51 2020-04-06 13:46 次阅读

1. 实验任务

利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。

2. 电路原理图

图1.28.1

3. 系统板上硬件连线

a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。

b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。

c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。

d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。

e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。

f) 把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。

g) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。

h) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。

i) 把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。

4. 程序设计内容

i. 由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。

ii. 由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF)

5. 汇编源程序

(略)

6. C语言源程序

#include 《AT89X52.H》

unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f,0x00};

unsigned char dispbuf[8]={10,10,10,10,0,0,0,0};

unsigned char dispcount;

unsigned char getdata;

unsigned int temp;

unsigned char i;

sbit ST=P3^0;

sbit OE=P3^1;

sbit EOC=P3^2;

sbit CLK=P3^3;

void main(void)

{

ST=0;

OE=0;

ET0=1;

ET1=1;

EA=1;

TMOD=0x12;

TH0=216;

TL0=216;

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

TR1=1;

TR0=1;

ST=1;

ST=0;

while(1)

{

if(EOC==1)

{

OE=1;

getdata=P0;

OE=0;

temp=getdata*235;

temp=temp/128;

i=5;

dispbuf[0]=10;

dispbuf[1]=10;

dispbuf[2]=10;

dispbuf[3]=10;

dispbuf[4]=10;

dispbuf[5]=0;

dispbuf[6]=0;

dispbuf[7]=0;

while(temp/10)

{

dispbuf[i]=temp%10;

temp=temp/10;

i++;

}

dispbuf[i]=temp;

ST=1;

ST=0;

}

}

}

void t0(void) interrupt 1 using 0

{

CLK=~CLK;

}

void t1(void) interrupt 3 using 0

{

TH1=(65536-4000)/256;

TL1=(65536-4000)%256;

P1=dispcode[dispbuf[dispcount]];

P2=dispbitcode[dispcount];

if(dispcount==7)

{

P1=P1 | 0x80;

}

dispcount++;

if(dispcount==8)

{

dispcount=0;

}

}

收藏 人收藏

    评论

    相关推荐

    【年度精选】2021年度TOP榜单——单片机/MCU论坛资料

    本榜单汇总了2021年单片机/MCU论坛下载量最高的5份资料,每份资料都有推荐理由,希望对工程师朋友们有所帮助! 1、 作者...
    发表于 01-17 15:32 173次 阅读

    NEPCON电子展预登记启动进行时

    当下,抢抓新一轮科技革命和产业变革机遇,是包括中国在内各国电子制造业企业面临的共同课题。其中,在利用....
    的头像 话说科技 发表于 01-17 15:05 134次 阅读
    NEPCON电子展预登记启动进行时

    华润微三相全桥智能功率模块CS5752AT简介

    CS5752AT产品概述  CS5752AT 是一款高度集成、高可靠性的三相无刷直流电机驱动电路,主....
    发表于 01-17 14:59 8次 阅读
    华润微三相全桥智能功率模块CS5752AT简介

    ESP8266学习笔记01

    1主板引脚1、蓝底白字部分为芯片引脚,引脚输出高电平为3.3V。引脚工作电压为3.3V。2、浅蓝色背....
    发表于 01-17 13:44 12次 阅读
    ESP8266学习笔记01

    V4L2学习笔记

    1.什么是V4L2Video for(4) Linux 2 的简称,V4L的升级版。V4L2是lin....
    发表于 01-17 13:43 18次 阅读
    V4L2学习笔记

    STM32学习笔记

    1、什么是上拉下拉、什么是开漏输出和推挽输出?其实很简单。推挽输出就是你想输出1就输出1,想输出0就....
    发表于 01-17 13:42 16次 阅读
    STM32学习笔记

    新唐芯片学习笔记——ADC

    楼主学习的是新唐NUC029LAN芯片。我会把要学习的模块所记录的笔记分享给大家,如果有理解错的地方....
    发表于 01-17 13:41 11次 阅读
    新唐芯片学习笔记——ADC

    stm32单片机-学习笔记(1)

    开发环境:一、MDK安装路径:不能包含中文,建议以后文件命名也尽量用英文二、下载相关包:mdk安装完....
    发表于 01-17 13:40 11次 阅读
    stm32单片机-学习笔记(1)

    arduino学习笔记六 划重点PWM

    脉冲宽度调制或PWM,是通过数字均值获得模拟结果的技术。数字控制被用来创建一个方波,信号在开和关之间....
    发表于 01-17 13:39 5次 阅读
    arduino学习笔记六   划重点PWM

    arduino学习笔记七 数码管、按键

    数码管在使用时请接一定的电阻,以免数码管造成不必要的牺牲这里数码管a、b、c、d、e、f、g、dp段....
    发表于 01-17 13:38 2次 阅读
    arduino学习笔记七  数码管、按键

    蓝桥杯学习笔记03

    1.在进行用按键控制led的亮灭时,抬手检测非常重要,如果没有抬手检测,led电平就会反复偏转,导致....
    发表于 01-17 13:37 2次 阅读
    蓝桥杯学习笔记03

    arduino学习笔记四 实例led

    在数字电路中开关(switch)是一种基本的输入形式,它的作用是保持电路的连接或者断开。Arduin....
    发表于 01-17 13:36 0次 阅读
    arduino学习笔记四   实例led

    嵌入式BootLoader学习笔记

    我们在嵌入式环境下写的代码通常要经以下四个步骤才能转换成可烧写文件(1)预处理,展开头文件/宏替换/....
    发表于 01-17 13:35 4次 阅读
    嵌入式BootLoader学习笔记

    STM32 DAC学习笔记

    1. DAC主要特性 2个DAC转换器:每个转换器对应1个输出通道 8位或者12位单调输出 1....
    发表于 01-17 13:34 2次 阅读
    STM32 DAC学习笔记

    IIC总线学习笔记

    IIC总线学习笔记(2020.11.8)文章目录*IIC总线学习笔记(2020.11.8)*一、I^....
    发表于 01-17 13:33 2次 阅读
    IIC总线学习笔记

    STM32 ADC学习笔记

    一、ADC功能框图二、ADC说明1. 电压输入范围ADC 输入范围为:V REF- ≤ V IN ≤....
    发表于 01-17 13:32 2次 阅读
    STM32 ADC学习笔记

    舵机的学习笔记

    本次是对舵机的一点学习笔记转动的角度:0.5ms——0°;1.0ms——45°;1.5ms——90°....
    发表于 01-17 13:31 2次 阅读
    舵机的学习笔记

    OLED学习笔记

    OLED学习笔记介于中景园OLED代码1.静态显示//第一个是x轴,第二个是y轴,第四个是字体的大小....
    发表于 01-17 13:30 3次 阅读
    OLED学习笔记

    定时器学习笔记

    学习报告20210522定时器的概述与结构8051单片机片内有二个十六位定时器/计数器:定时器0(T....
    发表于 01-17 13:29 2次 阅读
    定时器学习笔记

    IAP学习笔记

    2021年6月18日第一次接触到IAP(In Application Program)即通过USAR....
    发表于 01-17 13:28 2次 阅读
    IAP学习笔记

    学习笔记

    用户自定义函数计数延时函数(微秒、毫秒)void user_delay_us(uint16_t us....
    发表于 01-17 13:27 4次 阅读
    学习笔记

    电子元器件解析:为什么LED驱动芯片突破增长是必然

    LED驱动芯片是伴随着LED的技术突破和应用不断拓展发展起来的。LED具有能耗低、体积小、寿命长、无....
    发表于 01-17 13:26 505次 阅读

    freeRTOS学习笔记

    2021/3/31 freeRTOS学习任务任务状态运行:占用CPU就绪:有高优先级在运行所导致未运....
    发表于 01-17 13:26 2次 阅读
    freeRTOS学习笔记

    arduino学习笔记五

    串口输出显示串行通信是在实现在PC机与微控制器进行交互的最简单的办法。之前的PC机上一般都配有标准的....
    发表于 01-17 13:25 2次 阅读
    arduino学习笔记五

    单片机学习笔记(1)

    一.点亮LED灯1.原理首先,要知道LED灯为什么会亮--形成闭合回路;其次要知道1其实就是高电频也....
    发表于 01-17 13:24 2次 阅读
    单片机学习笔记(1)

    STM32单片机学习笔记汇总表

    一.keil新建工程
    发表于 01-17 13:23 2次 阅读
    STM32单片机学习笔记汇总表

    *单片机学习笔记--设计一个60s定时器(1)*

    已经学习51单片机一个多星期了。想做一个60s定时器。(板子是普中科技A2)#include#def....
    发表于 01-17 13:22 2次 阅读
    *单片机学习笔记--设计一个60s定时器(1)*

    【蓝桥杯——单片机学习笔记】六.单总线协议和DS18B20(STC15F2K60S2)

    一.单总线协议时序对应代码1.延时函数//单总线延时函数,约1~2usvoid Delay_OneW....
    发表于 01-17 13:20 3次 阅读
    【蓝桥杯——单片机学习笔记】六.单总线协议和DS18B20(STC15F2K60S2)

    【单片机学习笔记】上传一整年的自学电子笔记!互相交流,共同进步。

    学习资料来源包括但不限于:正点原子、太极创客、硬石科技、野火_firege、喵呜实验室、小蜜蜂笔记、....
    发表于 01-17 13:19 2次 阅读
    【单片机学习笔记】上传一整年的自学电子笔记!互相交流,共同进步。

    单片机-学习笔记

    发表于 01-17 13:17 4次 阅读
    单片机-学习笔记

    单片机学习笔记 —— 可变调的蜂鸣器

    一、乐理基础相关名词:音名:do re mi fa so la xi唱名:C D E F G A B....
    发表于 01-17 13:16 2次 阅读
    单片机学习笔记 —— 可变调的蜂鸣器

    单片机学习笔记 —— 单片机常用器件的测试

    一、霍尔传感器原理图:HALL引脚:P1.2原理:当感应到磁场时,HALL引脚会产生一个高电平测试H....
    发表于 01-17 13:15 6次 阅读
    单片机学习笔记 —— 单片机常用器件的测试

    stm32单片机学习笔记——keil使用基本操作

    stm32单片机学习笔记##(一)keil使用基本操作1、新建文件>源代码基础上建议新建副本改写,防....
    发表于 01-17 13:14 2次 阅读
    stm32单片机学习笔记——keil使用基本操作

    蓝桥杯单片机小白的学习笔记(更新中)

    小白的学习笔记参上!!点击我的蓝色字体去往我的笔记就行了,我来整合一下目录,方便大家一起交流准备*.....
    发表于 01-17 13:13 2次 阅读
    蓝桥杯单片机小白的学习笔记(更新中)

    郭天祥10天单片机学习笔记(1-1)

    program 1.1 commit#include//包含52头文件,对应的是单片机型号,其中含各....
    发表于 01-17 13:12 2次 阅读
    郭天祥10天单片机学习笔记(1-1)

    单片机学习笔记-单片机按键单击/双击/长按的实现

    使用定时器计数和按键计数结合,通过对每次按键时间计时来识别不同按键的模式。
    发表于 01-17 13:11 2次 阅读
    单片机学习笔记-单片机按键单击/双击/长按的实现

    单片机学习笔记(1)。

    一、单片机最小系统——即除去32个P接口的最小系统外围电路。 1 电源组; 2 晶振组; 3 复位组....
    发表于 01-17 13:10 0次 阅读
    单片机学习笔记(1)。

    单片机学习笔记————DS1302主要用法(上)

    为什么单片机内有时钟,还要外接一个时钟呢?1,单片机时钟内的时钟没有备用电池,断电后就会重置。2,单....
    发表于 01-17 13:09 2次 阅读
    单片机学习笔记————DS1302主要用法(上)

    时钟芯片DS1302的原理及使用

    一.描述DS1302时钟芯片是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。....
    发表于 01-17 13:03 12次 阅读
    时钟芯片DS1302的原理及使用

    Arduino UNO测试CCS811气体传感器模块 TVOC/eCO2环境空气质量监测

    Arduino UNO测试CCS811气体传感器模块 TVOC/CO2环境空气质量监测简介CCS81....
    发表于 01-17 13:01 4次 阅读
    Arduino UNO测试CCS811气体传感器模块 TVOC/eCO2环境空气质量监测

    【STM32笔记4】UART的时序解读与硬件运用(即硬件UART的实现,另有硬件UART运用和软件UART运用/硬件串口和软件串口/USART的差异说明)

    一、UART简介1、UART(Universal Asynchronous Receiver Tra....
    发表于 01-17 13:00 5次 阅读
    【STM32笔记4】UART的时序解读与硬件运用(即硬件UART的实现,另有硬件UART运用和软件UART运用/硬件串口和软件串口/USART的差异说明)

    STM32 单片机 GY-906 MLX90614 红外温度读取

    模块型号:GY-906-BAA,GY-906-BCC,GY-906-DCIBAA 测距是2cmBC....
    发表于 01-17 12:59 0次 阅读
    STM32 单片机 GY-906 MLX90614 红外温度读取

    GD32F303课程【4】串口开发

    目录如下,持续更新~~【1】星空派GD32F303开发板介绍 与 文章目录1. 串口基础概念USAR....
    发表于 01-17 12:58 3次 阅读
    GD32F303课程【4】串口开发

    浅析串口Uart的理解

    一、什么是串口? 简单的说就是一个通讯方式,MCU与MCU通过串口通信可以实现数据的传输,MC....
    发表于 01-17 12:57 2次 阅读
    浅析串口Uart的理解

    Uart协议介绍

    文章目录前言一、Uart协议(即串口)的基本概念二、Uart配置基本属性1.波特率2.起始位3.数据....
    发表于 01-17 12:56 2次 阅读
    Uart协议介绍

    单片机串口设备地址异常跳变

    移植RT_thread, 在调试串口过程中,串口设备数据地址一直在跳变,而且跳变的两个地址固定,很有....
    发表于 01-17 12:55 2次 阅读
    单片机串口设备地址异常跳变

    【FPGA】异步复位,同步释放的理解

    异步复位,同步释放的理解目录目录 同步复位和异步复位 异步复位 同步复位 那么同步复位和异步复位....
    发表于 01-17 12:53 0次 阅读
    【FPGA】异步复位,同步释放的理解

    单片机怎么做定时器矩阵,彻底解决各种定时问题?

    大家好,我是无际。定时功能非常常用,可以说是刚需,也可以说是很多人的痛点。做LED闪烁效果要用定时、....
    发表于 01-17 12:51 0次 阅读
    单片机怎么做定时器矩阵,彻底解决各种定时问题?

    K210中断按键,自复位按键的两种状态

    K210中断按键,自复位按键的两种状态自复位按键的功能通常有两种:按下按键松手,蓝灯亮起,再次按下按....
    发表于 01-17 12:50 0次 阅读
    K210中断按键,自复位按键的两种状态

    杰理之开启串口test功能会复位问题【篇】

    串口有注册事件处理事件,公用别人的事件使用,在开机的时候有冲突,会导致一直复位问题
    发表于 01-17 12:49 2次 阅读
    杰理之开启串口test功能会复位问题【篇】

    蓝桥杯单片机——DS1302时钟

    蓝桥杯单片机硬件基础DS1302与单片机之间能简单地采用同步串行方式进行通信,仅用到三个接口线:RS....
    发表于 01-17 12:48 4次 阅读
    蓝桥杯单片机——DS1302时钟

    按照看门狗实现方式可分为哪几种

    什么是看门狗? 按照看门狗实现方式可分为哪几种?看门狗如何使用? ...
    发表于 01-17 09:32 0次 阅读

    窗口看门狗WWDG该怎样去使用呢

    窗口看门狗WWDG该怎样去使用呢? 怎样通过寄存器操作初始化窗口看门狗WWDG呢? ...
    发表于 01-17 08:39 0次 阅读

    模拟看门狗到底有什么用处呢

    到底什么是模拟看门狗呢? 模拟看门狗到底有什么用处呢? ...
    发表于 01-17 07:33 0次 阅读

    IWDG与WWDG的异同点分别有哪些呢

    IWDG与WWDG的异同点分别有哪些呢? IWDG与WWDG的触发复位条件有哪些不同之处? ...
    发表于 01-17 07:29 0次 阅读

    变频器是什么?变频器是由哪些部分组成的

    变频器是什么?变频器是由哪些部分组成的?变频器主要有哪些应用领域呢? ...
    发表于 01-17 07:26 0次 阅读

    如何去实现设置IWDG一秒让STM32复位一次的设计呢

    如何去实现设置IWDG一秒让STM32复位一次的设计呢?如何对其进行仿真呢?...
    发表于 01-17 07:24 0次 阅读

    如何去实现座椅位置的自动控制和调节呢

    如何去实现座椅位置的自动控制和调节呢? 霍尔传感器和电机在座椅位置的自动控制和调节中有何作用?...
    发表于 01-17 07:13 0次 阅读

    如何在RTOS中使用看门狗

    裸机中的看门狗该如何去使用? 如何在RTOS中使用看门狗?有哪些方式方法? ...
    发表于 01-17 06:59 0次 阅读

    请问一下怎样去编写独立看门狗的代码程序呢

    请问一下怎样去编写独立看门狗的代码程序呢?...
    发表于 01-17 06:54 0次 阅读