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

📄 lpc935_ad1.c

📁 p89lpc932单片机的A/D转换详细资料和源程序代码
💻 C
字号:
/****************************LPC935_AD1.C*******************************
*程序功能:测试LPC935 AD转换功能
*转换模式:单次转换
*启动方式:定时器0触发
**********************************************************************/
#include "reg935.h"
#define	uchar unsigned char
/* 74HC595控制管脚定义 */
sbit	HC595_CS  = P2^4;
sbit	HC595_CLK = P2^5;
sbit	HC595_DAT = P2^2;

void SendHC595(uchar dat) ;

uchar	result;

void	Timer0_isr()	interrupt 1{
		TH0=0x8A;				//重装T0值,10ms
		TL0=0xD0;
}
void	ADC_isr()	interrupt	14{
		result=AD0DAT0;		//重装
		SendHC595(~result);	//调用显示程序
		ADCON0&=0xF7;			//清除AD转换完成标志
}
main()
{
	P1M1=0x80;		//P1.7设置为仅为输入状态
	P1M2=0x00;
	P2M1=0x00;
	P2M2=0x00;

//------------------------
	ADINS=0x01;		//0000 0001, 选择channel
	ADMODA=0x01;		//0000 0001, 选择转换工作模式,单次转换模式
	ADMODB=0x00; 		//500Khz < ADC CLK < 3.3Mh,,
	ADCON0=0x64;		//选择转换触发模式,定时器触发,0110 0100
//------------------------
	TMOD=0x01;		//T0模式选择:模式1
	TH0=0x8A;
	TL0=0xD0;
	TR0=1;			//打开定时器T0

	ET0=1;			//T0中断使能
	EADEE=1;			//ADC中断使能
	EA=1;

	while(1);
}

/*******************************************************
* 名称:SendHC595()
* 功能:向74HC595发送数据,以驱动LED显示
* 入口参数:data	    要发送的数据
* 出口参数:无
*******************************************************/
void  SendHC595(uchar dat) 
{ uchar i;
  HC595_CS=0;
  for(i=0; i<8; i++)
  { HC595_CLK=0;
    if( (dat&0x80)!=0 )HC595_DAT=1;		//设置数据线
	  else HC595_DAT=0;
	HC595_CLK=1;
	dat=dat<<1;						//移动数据
  }
  HC595_CS=1;							//关闭
}
/******************************************************************************/

⌨️ 快捷键说明

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