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

📄 adc0809.c

📁 一个用 proteus + keil 实现的仿真 A、D 数模转换的实例
💻 C
字号:
#include<reg51.h>

sbit OE=P2^4;
sbit ST=P2^5;
sbit EOC=P2^6;

volatile unsigned char result;

/* 共阴段代码 */
unsigned char nCode[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0xFF}; /* 0~9, OFF */

void delay(unsigned char ms)
{
  unsigned char i;

  while(ms-->0)
  {
    for(i=0;i<122;++i);
  }
}

void Disp(unsigned char m_data)
{
  unsigned char i;
  unsigned char k=0x08;

  for(i=0;i<4;i++)
  {
    P3=k;
	P1=nCode[m_data%10];
	m_data/=10;
	delay(4);
	k>>=1;
  }
}

void InitDevice(void)
{
  ST=0;
  OE=0;
}

unsigned char ADC(void)
{
  unsigned char datain;
  ST=0;
  ST=1;
  ST=0;
  while(!EOC);
  OE=1;
  datain=P0;
  OE=0;
  return datain;
}

void main(void)
{
  InitDevice();

  while(1)
  {
    Disp(ADC());
  }
}

⌨️ 快捷键说明

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