28 基于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 int
	int 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站演示视频:
B站演示视频

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

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

百度网盘资料下载

相关推荐
炸膛坦客4 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
华清远见IT开放实验室9 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
AI的探索之旅11 小时前
AI辅助原理图评审:电源去耦、BOOT引脚、VCAP——19项逐一核查,遗漏?不存在的
人工智能·vscode·嵌入式硬件
茯苓gao11 小时前
嵌入式开发笔记:EtherCAT协议从硬件到软件完整配置指南——从零搭建一套EtherCAT通信系统
笔记·嵌入式硬件·学习
GeekArch11 小时前
第24讲:Vibe模式代码风格控制——适配Keil/STM32工程规范
人工智能·stm32·单片机·嵌入式硬件·mcu·决策树·ai编程
Freedom_my12 小时前
STM32项目3
stm32·单片机·嵌入式硬件
国科安芯13 小时前
星间光链路:AS32S601型抗辐射MCU在空间激光通信终端控制中的技术实现
服务器·网络·单片机·嵌入式硬件·物联网·安全·信息与通信
小李不困还能学14 小时前
基于 51 单片机的8 路抢答器设计教程
单片机·嵌入式硬件·mongodb·抢答器
CedarQR15 小时前
万字长文:从零在 RK3588 上部署 PaddleSpeech 中文 TTS 全流程(FastSpeech2 + HiFiGAN)
开发语言·c++·嵌入式硬件·ubuntu·json
萌动的小火苗15 小时前
嵌入式开发中的栈与队列:任务调度为什么依赖数据结构
数据结构·c++·单片机·嵌入式硬件