📄 ad0832.c
字号:
#include "reg52.h"
sbit CS = 0xa0;
sbit Clk = 0xa1;
sbit DO1 = 0xa2;
sbit DI = 0xa3;
/*
void Delay_xMs(unsigned int xMs);
void Hc164(unsigned char temp );
void LCD_Init( void );
void Clear_H_LCD(unsigned char H);
void Show_XW_LCD(unsigned char xPos,unsigned char yPos,unsigned char sData);
void Print_LCD ( unsigned char xPos, unsigned char yPos,int nSentenceID );
*/
/*---------------------------------------------------
功能:根据CH=0采集通道1CH=1采集通道2
--------------------------------------------------*/
unsigned char A_D(bit CH)
{
unsigned char i;
unsigned char Temp1,Temp2;
CS = 0;
Clk = 0;
Clk = 1;
DI = 1;
if ( CH == 0 ) //0选择CH0 1选择CH1
{
Clk = 0;
Clk = 1;
DI = 1;
Clk = 0;
Clk = 1;
DI = 0;
}
else
{
Clk = 0;
Clk = 1;
DI = 1;
Clk = 0;
Clk = 1;
DI = 1;
}
Clk = 1;
Clk = 0;
for( i = 0;i < 8;i++ )
{
Clk = 1;
Clk = 0;
Temp1 = (Temp1<<1) | DO1;
}
if ( DO1 )
Temp2 = Temp2 | 0x80;
else
Temp2 = Temp2 | 0x00;
for( i = 0;i < 7;i++ )
{
Clk = 1;
Clk = 0;
if ( DO1 )
Temp2 = (Temp2>>1) | 0x80;
else
Temp2 = (Temp2>>1) | 0x00;
}
CS = 1;
return(Temp2); //返回采样值
}
/*---------------------------------------------------
功能:将00-FF采样的值转换成温度值
--------------------------------------------------*/
unsigned char T2S(unsigned char dat)
{
return(((85 - dat/3 + 20)/10*16)+((85 - dat/3 + 20)%10));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -