06、基于ADC0834的四通道简易电压采集的Proteus仿真

一、Proteus仿真电路图如下

在这里插入图片描述

二、51单片机程序如下

**由于网上的博客关于ADC0834的资源都是拿ADC0832来骗积分的,害我被骗了好多积分,所以自己看着手册写了一个时序,完美验证。
希望大家多举报骗积分的骗子,真可恨,本资源proteus工程可以用积分下载,也可加群免费下载,谢谢观看*
ADC结合51单片机或者STC15单片机的仿真需求,加QQ1661727532详谈,本人好说话
#include <reg52.h>	 
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
/*74HC595所用引脚宏定义*/
sbit HC595_DAT  = P2^0;
sbit HC595_CLK  = P2^1;
sbit HC595_STC  = P2^2;
/*ADC0832所用引脚宏定义*/
sbit ADC0834_DO  = P1^3;
sbit ADC0834_DI	 = P1^2;
sbit ADC0834_CS	 = P1^0;
sbit ADC0834_CLK = P1^1;
/*数码管段选码数组定义(不带小数点)*/
uchar LEDData[10]=
{
  0x03,	/*0*/
  0x9F, /*1*/
  0x25, /*2*/
  0x0D, /*3*/
  0x99, /*4*/
  0x49,	/*5*/
  0x41,	/*6*/
  0x1F,	/*7*/
  0x01,	/*8*/
  0x09	/*9*/
};
/*数码管段选码数组定义(带小数点)*/
uchar LEDData1[10]=
{
  0x02,	/*0*/
  0x9E, /*1*/
  0x24, /*2*/
  0x0C, /*3*/
  0x98, /*4*/
  0x48,	/*5*/
  0x40,	/*6*/
  0x1E,	/*7*/
  0x00,	/*8*/
  0x08	/*9*/
};
/*74HC595显示函数1->显示ADC电压值*/
uchar v1[3] = {0x03,0x03,0x03};
uchar v2[3] = {0x03,0x03,0x03};
uchar v3[3] = {0x03,0x03,0x03};
uchar v4[3] = {0x03,0x03,0x03};
void Send_HC595_Byte(uchar temp8)
{
   uchar i;
   for(i = 0; i < 8; i++)
   {
       HC595_DAT = temp8&0x01;//从高位开始传输
       HC595_CLK = 0;
       _nop_();
       _nop_();
       HC595_CLK = 1;
       temp8=temp8>>1; 
   }
}
void Display(uchar v1[3],uchar v2[3],uchar v3[3])
{
   HC595_STC = 0;
   Send_HC595_Byte(v1[0]);
   Send_HC595_Byte(v1[1]);
   Send_HC595_Byte(v1[2]);

   Send_HC595_Byte(v2[0]);
   Send_HC595_Byte(v2[1]);
   Send_HC595_Byte(v2[2]);

   Send_HC595_Byte(v3[0]);
   Send_HC595_Byte(v3[1]);
   Send_HC595_Byte(v3[2]);

   Send_HC595_Byte(v4[0]);
   Send_HC595_Byte(v4[1]);
   Send_HC595_Byte(v4[2]);

   HC595_STC = 1;
}
uchar ADC0834(uchar chx) 
{
	/*完整的ADC读取程序去资源文件下载*/
}
int main()
{	
	while(1)
	{
		uchar adc_ch0 =	ADC0834(0);
		uchar adc_ch1 =	ADC0834(1);
		uchar adc_ch2 =	ADC0834(2);
		uchar adc_ch3 =	ADC0834(3);
		v4[2] = LEDData[adc_ch0/100];   
		v4[1] = LEDData[adc_ch0%100/10];
		v4[0] = LEDData[adc_ch0%10]; 

   		v3[2] = LEDData[adc_ch1/100];
		v3[1] = LEDData[adc_ch1%100/10];
		v3[0] = LEDData[adc_ch1%10];

		v2[2] = LEDData[adc_ch2/100];
		v2[1] = LEDData[adc_ch2%100/10];
		v2[0] = LEDData[adc_ch2%10];

		v1[2] = LEDData[adc_ch3/100];
		v1[1] = LEDData[adc_ch3%100/10];
		v1[0] = LEDData[adc_ch3%10];
		Display(v1,v2,v3);
	}
	return 0;
}

三、全国大学生电子交流群

扫描二维码进群

四、Proteus版本和元件清单

Proteus8.6
在这里插入图片描述

五、程序下载与其他

ADC0834

接****51单片机、STM32-、相关和毕、设,有意联系QQ1661727532

记得点赞哦

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值