TLC1549 的c51程序

本文介绍了一种使用STC单片机读取TLC1549 ADC转换器的方法。通过控制CS、CLK信号并读取DATA信号来完成10位ADC值的读取过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include"NEW_8051.H"
#include"globedef.h"
#include"intrins.h"


extern uchar TLC1549_value_h;    //高2位
extern uchar TLC1549_value_l;    //低8位



sbit TLC1549_CS=P1^3;
sbit TLC1549_DATA=P1^2;
sbit TLC1549_CLK=P1^1;




void TLC1549_conver(void)
{
  uchar i;

TLC1549_value_h=0;
TLC1549_value_l=0;


 TLC1549_CS=1;  //初始状态
 TLC1549_CLK=0;
   _nop_();

  TLC1549_CS=0;
    _nop_();
    _nop_();
    _nop_();
    _nop_();


  if(TLC1549_DATA==1)        //bit 9
     {
      TLC1549_value_h|=0x01;
     }
   else
     {
      TLC1549_value_h&=0xFE;
     }
     TLC1549_value_h=TLC1549_value_h<<1;

  TLC1549_CLK=1;               
  TLC1549_CLK=0;                              //clk的下降沿DAYA端输出新的数据
 


    if(TLC1549_DATA==1)        //bit 8
     {
      TLC1549_value_h|=0x01;
     }
   else
     {
      TLC1549_value_h&=0xFE;
     }


 for(i=0;i<8;i++)                   //读低8位的数据
  {
     TLC1549_CLK=1;       
     TLC1549_CLK=0;                              //clk的下降沿DAYA端输出新的数据
 
      TLC1549_value_l=TLC1549_value_l<<1;

      if(TLC1549_DATA==1)           //bit7~0
       {
        TLC1549_value_l|=0x01;
       }
      else
       {
          TLC1549_value_l&=0xFE;
       }

  }


    TLC1549_CLK=1;            
    TLC1549_CLK=0;  

 // TLC1549_CS=1;

}

 

//使用的是STC单片机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子工匠

您的认可是我持续创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值