当前位置: 首页 > news >正文

基于51单片机的两路电压检测(ADC0808)

目录

一、主要功能

二、硬件资源

三、程序编程

四、实现现象


一、主要功能

基于51单片机,通过ADC0808获取两路电压,通过LCD1602显示

二、硬件资源

基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。

三、程序编程

#include <REGX52.H>
#include "intrins.h"
#include "LCD1602.h"
sbit CLOCK = P2^4;
sbit ST = P2^5;
sbit EOC =P2^6;
sbit OE = P2^7;
sbit aa = P3^4;
sbit bb = P3^5;
sbit cc = P3^6;#define uchar unsigned char
#define uint  unsigned intint i =0;uchar value;
uchar A1[3],A2[3];unsigned int ADC,ADC1;
void delay(char x);
void Timer0_INT() interrupt 1
{CLOCK = !CLOCK;
}void main()
{TMOD = 0x02;TH0 = 0x20;TL0 = 0x00;IE = 0x82;EA = 1; // 总中断开关ET0 = 1; // T0定时器总中断开关TR0 = 1;LCD_Init();LCD_ShowString(1,1,"-----DIANYA-----");while(1){for(i=0;i<25;i++){aa=0;bb=0;cc=0;ST = 1;ST = 0;while(EOC == 0);//正在转换{OE = 1;}ADC = P1;//ADC转换结果OE=0;delay(10);ADC= ADC*1.96;A1[0]= ADC/100;A1[1]= (ADC/10)%10;A1[2]= ADC%100;LCD_ShowNum(2,1,A1[0],1);LCD_ShowString(2,2,".");LCD_ShowNum(2,3,A1[1],1);LCD_ShowNum(2,4,A1[2],1);LCD_ShowString(2,5,"V");}for(i=0;i<25;i++){aa=1;bb=0;cc=0;ST = 1;//产生启动转换的正脉冲信号_nop_();ST = 0;_nop_();while(EOC == 0);//正在转换{OE = 1;}ADC1 = P1;//ADC转换结果OE=0;delay(10);ADC1 = ADC1*1.96;A2[0]= ADC1/100;A2[1]= (ADC1/10)%10;A2[2]= ADC1%100;LCD_ShowNum(2,10,A2[0],1);LCD_ShowString(2,11,".");LCD_ShowNum(2,12,A2[1],1);LCD_ShowNum(2,13,A2[2],1);LCD_ShowString(2,14,"V");}}
}void delay(char x)
{int i, k;for(i = 0; i < x; i++)for(k = 0; k < 120; k++);
}

四、实现现象

具体动态效果看B站演示视频:

基于51单片机的两路电压检测(ADC0808)

全部资料(源程序、仿真文件、安装包、演示视频):

百度网盘资料下载

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 第二章 SQL语言简介
  • 5分钟内不能重复发送验证码!
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-24
  • 速盾:凡科建站开cdn了吗?
  • Android 短信验证码自动填充
  • Python实现回归分析
  • QT事件过滤器(1)
  • <刷题笔记> 二叉搜索树与双向链表注意事项
  • 【AI写作】解释区块链技术的应用场景和优势
  • 【Git入门】使用 Git 进行项目管理:Word Count 程序开发与托管
  • 408算法题leetcode--第14天
  • 【CSS】变量的声明与使用
  • 【Linux基础IO】深入解析Linux基础IO缓冲区机制:提升文件操作效率的关键
  • Android数据序列化总结
  • Redis Bigkey
  • 【Linux系统编程】快速查找errno错误码信息
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 30秒的PHP代码片段(1)数组 - Array
  • Brief introduction of how to 'Call, Apply and Bind'
  • gulp 教程
  • interface和setter,getter
  • Laravel Mix运行时关于es2015报错解决方案
  • MySQL用户中的%到底包不包括localhost?
  • PermissionScope Swift4 兼容问题
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python - 闭包Closure
  • Service Worker
  • TypeScript迭代器
  • 翻译:Hystrix - How To Use
  • 关于使用markdown的方法(引自CSDN教程)
  • 将 Measurements 和 Units 应用到物理学
  • 码农张的Bug人生 - 初来乍到
  • 排序算法之--选择排序
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 浅谈web中前端模板引擎的使用
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 一起参Ember.js讨论、问答社区。
  • 用简单代码看卷积组块发展
  • 优化 Vue 项目编译文件大小
  • 由插件封装引出的一丢丢思考
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Spring Batch JSON 支持
  • 关于Android全面屏虚拟导航栏的适配总结
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​ubuntu下安装kvm虚拟机
  • #pragma once
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析