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

📄 main.c

📁 基于51单片机的最简单的数字示波器的设计
💻 C
字号:
#include "reg51.h"

sbit cs_ad = P1^0;
sbit rd_ad = P1^1;
sbit wr_ad = P1^2;
sbit cs_da = P1^3;
sbit wr1_da  = P1^4;
sbit xfer_da = P1^5;
sbit wr2_da  = P1^6;
sbit ile_da  = P1^7;
sbit intr    = P3^0;

char Read_ad(void);
void delay(char time);
void Write_da(char dat);

void main(void)
{
  char dat2,temp;
  P1=0xff;
  while(1)
  {
    dat2=Read_ad();
	temp=(~P3)&0x1e;
	temp>>=1;
	switch(temp)
	{
	 case 0x01: dat2+=20;break;
	 case 0x02: dat2-=20;break;
	 case 0x04: dat2*=2;break;
	 case 0x08: dat2/=2;break;
	 default : break;
	}
	Write_da(dat2);
  }

}

void delay(char time)
{
  char count;
  for(count=0;count<time;count++);
}

char Read_ad(void)
{
  char dat;
  cs_ad=0;
  wr_ad=0;
  delay(2);
  wr_ad=1;
  cs_ad=1;
  while(intr==1);

  cs_ad=0;
  rd_ad=0;
  delay(2);
  dat=P0;
  rd_ad=1;
  cs_ad=1;
  
  return dat;

}

void Write_da(char dat)
{
  ile_da=1;
  cs_da=0;
  P2=dat;  
  wr1_da=0;
  delay(5);
  wr1_da=1;
  cs_da=1;
  ile_da=0;

  wr2_da=0;
  xfer_da=0;
  delay(2);
  xfer_da=1;
  wr2_da=1;
}

⌨️ 快捷键说明

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