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

📄 tlc1549.c

📁 基于TLC1549芯片的ADC源码
💻 C
字号:
/*********************************************
 example program for 51 download board
  @11.0592MHz
 test TLC1549
 www.mcufan.com
将拨码开关S1的1、2、3拨到on,选择ADC0-电位器W1作为模拟输入(W1 下的跳线要插上)
TLC1549的10位转换结果,舍弃最低2位后,输出到P2 口的LED显示
*********************************************/
#include<reg52.h>
#include<stdio.h>
#include<intrins.h> 

#define uchar unsigned char
#define uint  unsigned int

sbit    clk    = P1^1;        //ad_clk
sbit     cs    = P1^0;        //ad_cs
sbit     dout    = P2^1;        //ad_dout

uint adc(void);            //ad convert
void delay(uchar us);        //delay
uint result=0;                //the result of ad convert

main()
{  	   uchar ad_8;
	   uint  ad_10;
  for(;;)
   {float u1=0;

    ad_10=adc();
    ad_8 = ~(ad_10>>2);
	P2=ad_8;
	u1=adc();
    result=(2480*(u1))/(1023);
    _nop_();
   }      
}

uint adc(void)
{ 
  uint  u=0;
  uchar i;
  clk=0;
  cs=1;
  _nop_();
  cs=0;
  
  for(i=0;i<10;i++)        //read data
   { 
     clk=1;
     u=(u<<1)|dout;
     clk=0;
     _nop_();      
   }
    clk=1;
    _nop_();
    clk=0;
  	delay(2);            //delay 25us
  	cs=1;
  	return(u);            //return ad data
}

void delay(uchar us)        //delay time
{while(us--);
}

⌨️ 快捷键说明

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