?? max195.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 + -