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

📄 ads7841.h

📁 P98v51RD2 source codes for all the peripherals
💻 H
字号:
/*
 * Filename : ads7841.h
 * Hardware : Controller  -> P89V51RD2
 *            XTAL        -> 18.432 MHz
 *            Mode        -> 6 Clock/MC
 * I/O      : DCLK	P3.3
 *            CS	P3.4
 *            DIN	P3.5
 *            DOUT	P3.7
 * Compiler : SDCC            
 * Author   : sci-3d@hotmail.com
 * Date		: 01/08/06
 */

#define DCLK	P3_3 /* DCLK pin */
#define CS		P3_4 /* CS pin */
#define DIN		P3_5 /* DIN pin */
#define DOUT	P3_7 /* DOUT pin */

int analog(char ch)
{
	unsigned char i, crt_byte;	/* Variable for counter */
	unsigned int dat;			/* Variable for storing analog value */
	
	switch(ch)							/* Check selected channel for reading */
	{
		case 0 :	crt_byte = 0x97;	/* Select analog channel 0 */
					break;
		case 1 :	crt_byte = 0xD7;	/* Select analog channel 1 */	
					break;
		case 2 :	crt_byte = 0xA7;	/* Select analog channel 2 */
					break;
		case 3 :	crt_byte = 0xE7;	/* Select analog channel 3 */
					break;
		default:	crt_byte = 0x97;	/* Select analog channel 0 */
					break;
	}

	dat = 0;
	DCLK = 0;	/* Clear DCLK pin */
	DIN = 0;	/* Clear DIN pin */
	CS = 0;		/* Clear CS pin */
	
	for(i=0; i<8; i++)				/* Loop to send control byte for ADS7841 */
	{
		DIN = crt_byte & 0x80; 		/* Send data bit to ADS7841 */

		DCLK = 0;					/* Clear clock pin */
		DCLK = 1;					/* Set clock pin */
			
		crt_byte = crt_byte<<1;  	/* Shift bit once next time */
	}

	DCLK = 0;						/* Clear clock pin */
	DCLK = 1;						/* Set clock pin */

	for(i=0; i<12; i++)				/* Loop to read 12-bit digital value from ADS7841 */
	{
		DCLK = 0;					/* Clear clock pin */
		DCLK = 1;					/* Set clock pin */

		dat = dat<<1;    			/* Shift bit once to store data next bit */
		dat = dat | DOUT; 			/* Read data bit from DOUT pin */
	}

	for(i=0;i<4;i++)				/* Generate rising edge clock for success frame */
	{
		DCLK = 0;					/* Clear clock pin */
		DCLK = 1;					/* Set clock pin */
	}

	CS = 1;							/* Set CS pin */

	return dat;						
}

⌨️ 快捷键说明

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