⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc0808 diy.c

📁 编写C语言代码 实现ADC0809 模拟信号转化成数字信号 并使用Proteus进行仿真
💻 C
字号:
#include<reg51.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define N 5
//uchar code dispbitcode[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code dispbitcode[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uint temp;
uchar getdata;
uchar temp_H;
uchar temp_M;
uchar temp_L;
sbit P17=P1^7;
sbit ST=P3^0;
sbit CLK=P3^1;
sbit EOC=P3^2;
sbit OE=P3^3;
sbit P34=P3^4;
sbit P35=P3^5;
sbit P36=P3^6;
sbit P20=P2^0;
sbit P21=P2^1;
sbit P22=P2^2;
sbit P23=P2^3;

void inital()
{
	TMOD=0x01;
	TH0=(65536-200)/256;
	TL0=(65536-200)%256;
	ET0=1;
	EA=1;
	TR0=1;
}


void intr()interrupt 1
{
	
	TH0=(65536-200)/256;
	TL0=(65536-200)%256;
	CLK=~CLK;
}	
	

void Delay(unsigned int i)
{
  unsigned int j;

  for(;i>1;i--)
  {
  for(j=0;j<125;j++);
  {;}
  }
}

void display()
{
	P34=1;
	P35=0;
	P36=0;
	P1=dispbitcode[temp_H];
	P17=0;
	P34=1;
	P35=0;
	P36=0;
	Delay(N);
	P1=0xff;
	
	P1=dispbitcode[temp_M];
	P34=0;
	P35=1;
	P36=0;
	Delay(N);
	P1=0xff;

	P1=dispbitcode[temp_L];
	P34=0;
	P35=0;
	P36=1;
	Delay(N);
	P1=0xff;
}  


void main()
{
	inital();
	P2=0xff;
	while(1)
	{
	ST=0;
	OE=0;
	ST=1;
	ST=0;
	
	while(EOC==0);
	OE=1;
	getdata=P2;
	OE=0;  
	temp=getdata*1.0/255*500;
	temp_H=temp/100;
	temp_M=temp/10%10;
	temp_L=temp%10;
	display();
	}
}


































⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -