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

📄 temp.c

📁 C51控制DS18B20
💻 C
📖 第 1 页 / 共 2 页
字号:
/**********************************************************************
		公司名:		广州强智数码科技有限公司
		文件名:		FM100.c
		设计者:		王健强
		开始日:		2005-12-20 12:19
		完成日:		2006-2-7 11:49
----------------------------------------------------------------------
		MCU                       	stc89c51
		Crycle                    	12MHz
		Audio input selector		PT2314	;	FM	PC	MP
		2CH Audio Processor       	PT2314	;	Volume & Tone & Loud
		LCD Drive 					HT1621	;
		A/D 						LM324	;
		Template					DS18B20	;
		Remote transmit         	HT6222
**********************************************************************/
//	ds18b20写没成功时,显示为"85.00"
//	ds18b20读没成功时,显示为"00.00"
//	ds18b20初始化没成功时,显示为"--.--"

	#define		X0_Seq			0
	#define		T0_Seq			1
	#define		X1_Seq			2
	#define		T1_Seq			3
	#define		T2_Seq			5

	#include	< reg51.h >
	#include	< intrins.h>
	#include	"b.h"

/*************************************************************
           		Data Define
*************************************************************/
	#define		uchar	unsigned char
	#define		uint	unsigned int
	#define		BYTE	unsigned	char
	#define		WORD	unsigned	int

	#define		nop		_nop_()
	#define		True			1
	#define		False			0
	#define		High			1
	#define		Low				0
	#define		ON				1
	#define		OFF				0

	#define		Lcd_On		0x8060
	#define		Lcd_Off		0x8040
	#define		Sys_En		0x8020
	#define		Bais_4		0x8520

	#define		F_Lcd_X1	0
	#define		F_Lcd_X2	1
	#define		F_Lcd_Bal	2
	#define		F_Lcd_FAD	3
	#define		F_Lcd_A		4
	#define		F_Lcd_MP	5
	#define		F_Lcd_X		6
	#define		F_Lcd_AM	7
	#define		F_Lcd_FM	8
	#define		F_Lcd_P1	9
	#define		F_Lcd_T		10
	#define		F_Lcd_X3	11
	#define		F_Lcd_X4	12
	#define		F_Lcd_MHZ	13
	#define		F_Lcd_KHZ	14
	#define		F_Lcd_AUX	15
	#define		F_Lcd_COL	16
	#define		F_Lcd_PC	17

	#define		LCD_0		0
	#define		LCD_1		1
	#define		LCD_2		2
	#define		LCD_3		3
	#define		LCD_4		4
	#define		LCD_5		5
	#define		LCD_6		6
	#define		LCD_7		7
	#define		LCD_8		8
	#define		LCD_9		9
	#define		LCD_A		10
	#define		LCD_B		11
	#define		LCD_C		12
	#define		LCD_d		13
	#define		LCD_E		14
	#define		LCD_F		15

	#define		LCD_Space	16
	#define		LCD_V		17
	#define		LCD_n		18
	#define		LCD_o		19
	#define		LCD_T		20
	#define		LCD_M		21
	#define		LCD_P		22
	#define		LCD_L		23
	#define		LCD_c		24

	#define		Dot_A		25
	#define		Dot_B		26
	#define		Dot_C		27
	#define		Dot_D		28
	#define		Dot_E		29
	#define		Dot_F		30
	#define		Dot_G		31

/*************************************************************
			P0
*************************************************************/
	sbit	P_DO72130		=	P0^0;
	sbit	P_CLK72130		=	P0^1;
	sbit	P_DI72130		=	P0^2;
	sbit	P_CE72130		=	P0^3;
	sbit	P_SDA			=	P0^4;
	sbit	P_SCK			=	P0^5;
	sbit	P_AD_Ctrl		=	P0^6;
	sbit	P_LoudLed		=	P0^7;

/*************************************************************
			P2
*************************************************************/
	sbit	P_RedLed		=	P2^7;
	sbit	P_GreenLed		=	P2^6;
	sbit	P_BlueLed		=	P2^5;

/*************************************************************
			P1
*************************************************************/
	sbit	P_18B20			=	P1^4;

/*************************************************************
			P3
*************************************************************/
	sbit	P_ADIn			=	P3^2;
	sbit	P_Remote		=	P3^3;
	sbit	P_Cs1621		=	P3^4;
	sbit	P_Clk1621		=	P3^5;
	sbit	P_Dat1621		=	P3^6;
	sbit	P_Buzz			=	P3^7;

/*************************************************************
		bdata max16 bytes ( 20h-3fh )
*************************************************************/

/*************************************************************
		data max24+80=104 bytes ( 08h-1fh & 30h-7fh )
*************************************************************/
	uchar	data	Disp_Buf0[8]		;
	uchar	data	Disp_Char_Buf[4]	;
	uchar	data	Temp_Result[2]		;

 	uchar	data	Pulse2WideTmp;//节拍
 	uchar	data	Pulse1WideTmp;//音符

	bit		F_Temp_100	;

	uchar	code	Char_Word_Tab[]=
	{
	/*BAegf_xxxx,Bdcba_xxXx,*/
	  B0101_0000,B1111_0000,//0		LCD_0		0
	  B0000_0000,B0110_0000,//1     LCD_1		1
	  B0110_0000,B1011_0000,//2     LCD_2		2
	  B0010_0000,B1111_0000,//3     LCD_3		3
	  B0011_0000,B0110_0000,//4     LCD_4		4
	  B0011_0000,B1101_0000,//5     LCD_5		5
	  B0111_0000,B1101_0000,//6     LCD_6		6
	  B0000_0000,B0111_0000,//7     LCD_7		7
	  B0111_0000,B1111_0000,//8     LCD_8		8
	  B0011_0000,B1111_0000,//9     LCD_9		9
	  B0111_0000,B0111_0000,//A     LCD_A		10
	  B0010_0000,B1111_0010,//B     LCD_B		11
	  B0101_0000,B1001_0000,//C     LCD_C		12
	  B0110_0000,B1110_0000,//D     LCD_D		13
	  B0111_0000,B1001_0000,//E     LCD_E		14
	  B0111_0000,B0001_0000,//F     LCD_F		15
	/*BAegf_xxxx,Bdcba_xxXx,*/
	  B0000_0000,B0000_0000,//space LCD_Space	16
	  B0101_0000,B1110_0000,//U/V   LCD_V		17
	  B0101_0000,B0111_0000,//-     LCD_n		18
	  B0110_0000,B1100_0000,//o     LCD_o		19
	  B0000_0000,B0001_0010,//T     LCD_T		20
	  B0101_0000,B0111_0010,//M     LCD_M		21
	  B0111_0000,B0011_0000,//P     LCD_P		22
	  B0101_0000,B1000_0000,//L     LCD_L		23
	  B0110_0000,B1000_0000,//c     LCD_c		24
	/*BAegf_xxxx,Bdcba_xxXx,*/
	  B0000_0000,B0001_0000,//-     Dot_A		25
	  B0000_0000,B0010_0000,//-     Dot_B		26
	  B0000_0000,B0100_0000,//-     Dot_C		27
	  B0000_0000,B1000_0000,//-     Dot_D		28
	  B0100_0000,B0000_0000,//-     Dot_E		29
	  B0001_0000,B0000_0000,//-     Dot_F		30
	  B0010_0000,B0000_0000,//-     Dot_G		31
	};

	uchar	code	Char_Byte_Tab[]=
	{
	  /*Bdcba_xegf*/
	    B1111_0101,//0		LCD_0		0
	    B0110_0000,//1      LCD_1		1
	    B1011_0110,//2      LCD_2		2
	    B1111_0010,//3      LCD_3		3
	    B0110_0011,//4      LCD_4		4
	    B1101_0011,//5      LCD_5		5
	    B1101_0111,//6      LCD_6		6
	    B0111_0000,//7      LCD_7		7
	    B1111_0111,//8      LCD_8		8
	    B1111_0011,//9      LCD_9		9
	    B0111_0111,//A      LCD_A		10
	    B1100_0111,//b      LCD_B		11
	    B1001_0101,//C      LCD_C		12
	    B1110_0110,//d      LCD_d		13
	    B1001_0111,//e      LCD_E		14
	    B0001_0111,//f      LCD_F		15
	  /*Bdcba_xegf*/
	    B0000_0000,//space  LCD_Space	16
	    B1110_0101,//U/V    LCD_V		17
	    B0111_0101,//-      LCD_n		18
	    B1100_0110,//b      LCD_b		19
	    B0000_0010,//-      LCD_T		20
	    B0000_0010,//-      LCD_M		21
		B0011_0111,//P      LCD_P		22
		B1000_0101,//u      LCD_L		23
	    B1000_0110,//c      LCD_c		24
	  /*Bdcba_xegf*/
	    B0001_0000,//-      Dot_A		25
	    B0010_0000,//-      Dot_B		26
	    B0100_0000,//-      Dot_C		27
	    B1000_0000,//-      Dot_D		28
	    B0000_0100,//-      Dot_E		29
	    B0000_0001,//-      Dot_F		30
	    B0000_0010,//-      Dot_G		31
	};

	uchar	code	Lcd_Flag_Tab[][2]=
	{//	Buf(n),dot
		0,	B0000_0001,	//	LCD_Flag_X1		0
		0,	B0000_0010,	//	LCD_Flag_X2		1
		0,	B0000_0100,	//	LCD_Flag_Bal	2
		0,	B0000_1000,	//	LCD_Flag_FAD	3
		0,	B1000_0000,	//	LCD_Flag_A		4
		1,	B0000_0001,	//	LCD_Flag_MP		5
		1,	B0000_0010,	//	LCD_Flag_X		6
		1,	B0000_0100,	//	LCD_Flag_AM		7
		1,	B0000_1000,	//	LCD_Flag_FM		8
		3,	B0000_1000,	//	LCD_Flag_P1		9
		4,	B0000_1000,	//	LCD_Flag_T		10
		5,	B0000_0001,	//	LCD_Flag_X3		11
		5,	B0000_0010,	//	LCD_Flag_X4		12
		5,	B0000_0100,	//	LCD_Flag_MHZ	13
		5,	B0000_1000,	//	LCD_Flag_KHZ	14
		6,	B0001_0000,	//	LCD_Flag_AUX	15
		6,	B0010_0000,	//	LCD_Flag_COL	16
		6,	B0100_0000,	//	LCD_Flag_PC		17
	};

	//===================================================
	uchar	code Temp_Table[]	=
	{
		0,
		625*1/100	,
		625*2/100	,
		625*3/100	,
		625*4/100	,
		625*5/100	,
		625*6/100	,
		625*7/100	,
		625*8/100	,
		625*9/100	,
		625*10/100	,
		625*11/100	,
		625*12/100	,
		625*13/100	,
		625*14/100	,
		625*15/100	,
	} ;

	/******************************************
		; Delay
	******************************************/
	void	Delay_10us(void)
	{
			nop	;
			nop	;
			nop	;
			nop	;
			nop	;
			nop	;
	}

//-----------------------------------------
	void	Delay_100us(uchar count)
	{
		uchar	i	;
		uchar	j	;
		for	(i=0;i<count;i++)
		{
			for	(j=0;j<10;j++)
			{

⌨️ 快捷键说明

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