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

📄 max195.c

📁 MAX195的驱动程序,这是最简单和一种接法.16位的AD转换芯片.我的毕业设计时候用的
💻 C
字号:
/***************************************
毕业设计总程序
日期:07。11。25
*****************************************/
#include<reg52.h>  
#include<slcd12864.h>
#include<max531.h>
#include<max195.h>
#define uchar unsigned char
#define uint unsigned int  

sbit red = P3^5;
sbit green=P3^4;  

uint j;

uint  max531_data=0;

uint max195_data0,max195_data1,max195_data2,
       max195_data3,max195_data4,max195_data5,max195_data6;
float  max195_data=0;
							  
const uchar dis_0[]={"毫欧表          "};
const uchar dis_1[]={"量程:4m 欧~400欧"};
const uchar dis_2[]={"现在的电阻值:   "};  
const uchar dis_6[]={"毫欧"};


/*******************************************
显示固定的函数
***********************************************/
void dis()
{
  uchar i;
  write_command(0x80);
  for(i=0;i<16;i++)
  {
    write_data(dis_0[i]);	
  }

  write_command(0x90);
  for(i=0;i<16;i++)
  {
    write_data(dis_1[i]);
	
  }

  write_command(0x88);
  for(i=0;i<16;i++)
  {
    write_data(dis_2[i]);
  }	 
    
  write_command(0x9e);
  for(i=0;i<4;i++)
  {
    write_data(dis_6[i]);
  }	   

}
/**********************************************
 函数:void display()
 功能:显示函数
 ************************************************/
void display()
{
  uchar i;
  float da;
  uint d1;
  uint d2;
  uint d3;

  uint Test;

  uchar dis_3[5];
  uchar dis_4[4]; 
  
  da=max195_data0+max195_data1+max195_data2+max195_data3+max195_data4+max195_data5+max195_data6;
   
  //max195_data=(uint)(da/2);            			  
  //Test=(uint)(20*(max195_data));	   
  //Test=max195_data;

  d1=max195_data0+max195_data1; 
  d1=d1/2;

  d2=(max195_data2+max195_data3);
  d2=d2/2;

  d3=max195_data4+max195_data5;
  d3=d3/2;

  da=(d1+d2+d3);
  Test=(uint)(da/1.301);

  dis_3[0]=Test/10000;
  dis_3[1]=Test%10000/1000;
  dis_3[2]=Test%1000/100;
  dis_3[3]=Test%100/10;
  dis_3[4]=Test%10;
   
 
  dis_4[0]=max531_data/1000;
  dis_4[1]=max531_data%1000/100;
  dis_4[2]=max531_data%100/10;
  dis_4[3]=max531_data%10;

  write_command(0x98);
  for(i=0;i<4;i++)
  {
   write_data(dis_4[i]+0x30);   
  }		

  write_command(0x9b);
  for(i=0;i<5;i++)
  {
   write_data(dis_3[i]+0x30);   
  }	   
} 
/****************************************
函数:void time_0() interrupt 1
功能:中断函数,计到一秒就赋值显示
*****************************************/
void time_0() interrupt 1
{
  TH0=0x3c;
  TL0=0xb0;
  j++;				
  if(j==10)		 //计到100ms
   { 
    TR0=0;  
	display();	
	j=0; 	
   }
}
/************************************************************/
void main()
{ 
  
  lcd_init();
  TMOD=0x01;	//T1计数,T0定时,都工作在方式1
  TH0=0x3c;
  TL0=0xb0;       //50ms中断一次,计数二十次
  ET0=1;
  TR0=0;
  EA=1; 
  dis(); 
  max531_data=1000;	
  while(1)
  {	

   	write_max531(max531_data); 
    max195_data0=max195_change();	
	delay(10000);

	write_max531(max531_data); 
    max195_data1=max195_change();	
	delay(10000);

	write_max531(max531_data); 
    max195_data2=max195_change();	
	delay(10000);

	write_max531(max531_data); 
    max195_data3=max195_change();	
	delay(10000);

	write_max531(max531_data); 
    max195_data4=max195_change();	
	delay(10000);
	
	write_max531(max531_data); 
    max195_data5=max195_change();	
	delay(10000);

	write_max531(max531_data); 
    max195_data6=max195_change();	
	delay(10000);
//TR0=1;
	display();	
    if(max195_data>60000){red=0;green=1;max531_data=20;}
    else{green=0;red=1;max531_data=1000;}  
  }
}

⌨️ 快捷键说明

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