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

📄 adpan.c

📁 PIC18系列单片机
💻 C
字号:
#include <pic.h>
#define	lcdrs	RB0
#define	lcdrw	RB1
#define	lcde	RB2
#define	uchar	unsigned	char
#define	uint	unsigned	int

__CONFIG(0x3f3a);
void delay(uint m)
{
   uint i,j;
   for(i=0;i<m;i++)
   {
      for(j=0;j<100;j++);
   }
}
void wcomm(uchar m)
{ 
	lcdrs=0;
	lcdrw=0;
	lcde=1;
	PORTD=m;
	delay(10);
	lcde=0;
	delay(200);
}
 void wdata(uchar m)                                  
{ 
 lcdrs=1;
 lcdrw=0;
 lcde=1;
 PORTD=m;
 delay(10);
 lcde=0;
 delay(200);
}
void LCD_init(void)
{
	wcomm(0x38);//  RS设定显示模式
	delay(1500);
	wcomm(0x38);//  RS设定显示模式
	delay(1500);
	wcomm(0x38);//  RS设定显示模式
	delay(1500);
	wcomm(0x01);//清除
	wcomm(0x02);//光标复位
	wcomm(0x06);//输入方式设置
	wcomm(0x14);//移动与显示位
	wcomm(0x0c);//显示开关控制
}

void	LCD_char(uchar	i,uchar	k)
{	if(i>15)
	{
		wcomm(0xc0+i-0x10);
	}
	else wcomm(0x80+i);
	wdata(k);
}
unsigned int AD_READ(void)//
{
	unsigned int x;
	TRISA0=1;//RA0为输入口
	ADON=1;
	CHS0=0;CHS1=0;CHS2=0;//选通道0
	ADCS1=1;ADCS0=0;//采样频率为fsoc/4/32

	ADCON1=0x8e;
	ADGO=1;
	while(ADGO);
	x=ADRESH*256+ADRESL;
	return(x);
}
void interrupt INTER(void)
{
	if(TOIF)
	{
		TOIF=0;
	}
}
void Time0Init(void)
{
	OPTION=0x30;
	TMR0=0x00;
	TOIE=1;//允许time0中断
	ei();
}
void main(void)
{
	uint m;
	float x;
	TRISB0=0;
	TRISB1=0;
	TRISB2=0;
	TRISD=0X00;
	TRISB4=0;
	TRISC2=1;
	TRISE=0x00;
	TRISA4=1;
	RE2=1;
	RE2=0;
   LCD_init();
   while(1)
   {
	m=AD_READ();
	x=100.0*(float)m/1024.0*5.0;
	m=x;
	LCD_char(1,0x30+m/100);
	m=m%100;
	LCD_char(2,'.');
	LCD_char(3,0x30+m/10);
	LCD_char(4,0x30+m%10);
	if(RA4)
	RE2=1;
	else RE2=0;
//	while(1);
   }   
}

⌨️ 快捷键说明

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