51单片机仿真例程-串行AD转换电压表

该博客详细介绍了如何使用51单片机配合TLC2543 ADC模块进行串行AD转换,通过实例展示了如何将模拟电压转化为数字信号,并成功实现了电压表的功能,验证结果准确无误。
摘要由CSDN通过智能技术生成

利用ADC模块TLC2543实现串行AD转换

#include<reg51.h>
#define uchar unsigned char
sbit CS=P2^0;
sbit CLK=P2^1;
sbit DIN=P2^2;
sbit DOUT=P2^3;
sbit EOC=P2^4;
sbit gwei=P3^3; 
uchar tabd[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
uchar tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar cj,num1,num2;
void Delay()
{
  unsigned int i=5;
  while(i--);


}

unsigned int AD_Convert(uchar channel)
{
  uchar i;
  unsigned int ad_value=0;

  CLK=0;
  CS=1;
  EOC=1;
   
  channel<<=4;
  CS=0;
  Delay();
  for(i=0;i<12;i++)
  {
  	if(DOUT)ad_value |=1;
	DIN=(bit)(channel & 0x80);
	CLK=1;
	Delay();
	CLK=0;
	channel<<=1;
	ad_value<<=1;
  }
  EOC=0;
  CS=1;
  ad_value>>=1;
  return ad_value;


}
void int_t0()
{
  TMOD=0x01;
  TH0=0xf8;
  TL0=0x30;
  EA=1;
  ET0=1;
  TR0=1;
}
void init_t0()interrupt 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值