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

📄 main.c

📁 一款八位的模数转换程序和仿真电路
💻 C
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit pData = P1^0;
sbit pClk  = P1^1;
sbit pCs   = P1^2;
sbit pNP   = P1^3;

void dly_us(uchar t)
{
  uchar i;
  for(i=0;i<t;i++);
}

uchar tlc1549_R(void)
{
  uchar cAD;
  uchar i;
  cAD=0;
  pCs=0;
  for(i=0;i<9;i++)
  {
    pClk=1;
	dly_us(2);
	pClk=0;

	cAD<<=1;
   	cAD|=pData;
  }
  pCs=1;
  dly_us(25);
 return cAD;
}

void dly_ms(uint k)
{
  uint i;
  TMOD=0x10;
  TF1=0;
  TR1=1;
  for(i=0;i<k;i++)
  {
    TH1=(65536-1000)/256;
    TL1=(65536-1000)%256;
    while(!TF1);
	TF1=0;
  }
  TR1=0;
}

void main(void)
{
 // uchar cIn;
  uchar P1Temp;
  uchar cAD=0;
  while(1)
  {
   //cIn=P1&0x3c;
   //cIn>>=2;
   cAD=tlc1549_R();
   if(cAD>25-2 && cAD<25+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x10|P1Temp;
	}
   else if(cAD>51-2 && cAD<51+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x20|P1Temp;
	}
   else if(cAD>77-2 && cAD<77+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x30|P1Temp;
	}
   else if(cAD>102-2 && cAD<102+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x40|P1Temp;
	}
   else if(cAD>128-2 && cAD<128+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x50|P1Temp;
	}
   else if(cAD>154-2 && cAD<154+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x60|P1Temp;
	}
   else if(cAD>179-2 && cAD<179+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x70|P1Temp;
	}
   else if(cAD>205-2 && cAD<205+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x80|P1Temp;
	}
   else if(cAD>230-2 && cAD<230+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0x90|P1Temp;
	}
   else if(cAD>256-2 && cAD<256+2)
    {
	 P1Temp=P1;
	 P1Temp&=0x0f;
	 P1=0xA0|P1Temp;
	}

   P3=cAD;
   dly_ms(100);
  }
}

⌨️ 快捷键说明

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