03、基于ADC0809和51单片机八通道ADC的Proteus仿真

一、前言

此程序为本人自己写的程序,完整运行,CSDN最稳定的ADC0809程序,我曾经也为找示例代码苦恼,奈何我在CSDN花了近100积分下载下来的程序都不能运行,实在气人,一气之下自己按照时序写了这份程序。现展示如下:

二、部分程序示例

#include <reg52.h>
#include <intrins.h>
#define uint  unsigned int
#define uchar unsigned char
#define ulong unsigned long
/*74HC595所有引脚定义*/
sbit HC595_DAT  = P2^0;
sbit HC595_CLK  = P2^1;
sbit HC595_STC  = P2^2;
/*ADC0809所有引脚定义*/
sbit OE  = P1^0;
sbit EOC = P1^1;
sbit ST  = P1^2;
sbit CLK = P1^3;
sbit CC  = P1^6;
sbit BB  = P1^5;
sbit AA  = P1^4;
/*数码管段选(带小数点)*/
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*/
};
/*毫秒延时函数*/
//void DelayMS(uint ms)
//{
// 	uchar i;
//	while(ms--)
//	{
//	 	for(i=0;i<120;i++);
//	}
//}
/*74HC595显示函数*/
uchar v1[3] = {0x03,0x03,0x03};
uchar v2[3] = {0x03,0x03,0x03};
uchar v3[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]);
   HC595_STC = 1;
}
void main()
{
	TMOD = 0x02;
	TH0  = 0xFB;
	TL0  = 0xFB; //500KHZ
	TR0  = 1;
	ET0  = 1;
	EA   = 1;
	while(1)
	{  
		/*通道0转换*/	
		CC = 0;BB = 0;AA = 0;
		ST = 0;
		ST = 1;
		ST = 0;
		_nop_();_nop_();_nop_();
		while(EOC == 0);
		OE = 1;
		v3[2] = LEDData1[P3/100];
		v3[1] = LEDData[P3%100/10];
		v3[0] = LEDData[P3%10]; 
		OE = 0;
		/**************************/
		//1、联系QQ下载:1661727532
		//2、QQ相关交流群:649692007
		//3、增、改程序同1
		//4、学上党下载只要一杯奶茶哦
		//5、文章末尾资源下载也可以
		_nop_();_nop_();_nop_();
		while(EOC == 0);
		OE = 1;
		v1[2] = LEDData[P3/100];
		v1[1] = LEDData[P3%100/10];
		v1[0] = LEDData[P3%10]; 
		OE = 0;
		/*595显示ADC值*/
		Display(v1,v2,v3);
	}
}
void Timer0_INT() interrupt 1
{
	/**************************/
	//1、联系QQ下载:1661727532
	//2、QQ相关交流群:649692007
	//3、增、改程序同1
	//4、学生党下载只要一杯奶茶哦
	//5、文章末尾资源下载也可以
}

三、仿真结果展示

在这里插入图片描述在这里插入图片描述

四、CSDN资源下载

https://download.csdn.net/download/BaoTTing/12289324

	//1、联系QQ下载:1661727532
	//2、QQ相关交流群:649692007
	//3、增、改程序同上(接毕设,课程设计)
	//4、学生党下载只要一杯奶茶哦
	//5、文章末尾资源下载也可以
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值