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

📄 tlc549.txt

📁 基于51单片机的温度和电压采集与循环显示的控制程序
💻 TXT
字号:
#include <REG51.H>      //"D:\Keil\C51
#include <ABSACC.H>

#include <ADC_TEMP.H>

extern uchar DispBuf[8]; 

//定义TLC549操作接口
sbit CS = P3^2;
sbit DAT = P3^3;
sbit CLK = P3^4;

unsigned char ReadAdc();
void AdcInit();
void DispVol(unsigned char v);

/*
函数:ReadAdc()
功能:读取A/D转换结果
返回:8位ADC代码
*/
unsigned char ReadAdc()
{
	unsigned char d;
	unsigned char n;

        d=0;
	CS = 0;
	n = 5;
	while ( --n != 0 );//delay tsu>1.4us
	n = 8;
	do
	{
		d <<= 1;
		if ( DAT ) d++;
		CLK = 1;
		CLK = 0;
	}while ( --n != 0 );
	CS = 1;   //DAT=Hi-Z state
	return d;
}


/*
函数:AdcInit()
功能:初始化ADC接口
*/
void AdcInit()
{
	CS = 1;
	CLK = 0;
	DAT = 1;
	ReadAdc();
}

/*
函数:DispVol()
功能:将ADC值转换成电压值,并显示
参数:
	v:8位ADC结果
*/
void DispVol(unsigned char v)
{  unsigned char x100,x10,x; //临时变量
   
   v=v*250/256;
   x100=v/100;
   DispBuf[2]=x100;
   x10=(v-x100*100)/10;
   DispBuf[1]=x10;
   x=(v-x100*100)%10;
   DispBuf[0]=x;

   DispBuf[2]|=0x80;  //显示小数点

   DispBuf[7]=13;     //disp_seg的第13个字型 V

}

⌨️ 快捷键说明

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