MAX197的带液晶显示源程序

来源:本站
导读:目前正在解读《MAX197的带液晶显示源程序》的相关信息,《MAX197的带液晶显示源程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MAX197的带液晶显示源程序》的详细说明。

include<reg52.h>

#include<intrins.h>

#include<absacc.h>

#define uint unsigned int

#define uchar unsigned char

#define max197 XBYTE[0xefff]

sbit EN=P2^0;

sbit RS=P2^1;

sbit CS=P2^2;

sbit HBEN=P2^3;

sbit duan=P2^6;

uchar templ,temph,flag;

float dianya;

uint temp,temp1[25];

unsigned long voltage;

void delay(uint i)

{

while(i--);

}

void delay1(uint z)

{

int x,y;

for(x=z;x>0;x--)

for(y=114;y>0;y--);

}

void write_com(uchar com)

{

RS=0;

P1=com;

delay1(5);

EN=1;

delay1(5);

EN=0;

}

void write_data(uchar date)

{

RS=1;

P1=date;

delay1(5);

EN=1;

delay1(5);

EN=0;

}

void iniTIal()

{

EN=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

}

void printc(uchar lcd_data) //输出一个字符到LCD

{

write_data(lcd_data);

}

void prints(uchar *lcd_string) //输出一个字符串到LCD

{

uchar i=0;

while(lcd_string[i]!=0x00)

{

write_data(lcd_string[i]);

i++;

}

}

void setPosiTIon(uchar x) //LCD光标定位到x处

{

write_com(0x80+x);

}

uchar TempBuffer[7];

void IntToStr(uint temp, uchar *str, uchar n)

{

uchar a[7]; char i, j; //取得整数值到数组

dianya=temp/4096.0;

voltage=dianya*100000;

a[0]=voltage/10000;

a[1]=voltage%10000/1000;

a[2]=voltage%1000/100;

a[3]=voltage%100/10;

a[4]=voltage%10;

for(i=0; i<5; i++) //转成ASCII码

a[i]=a[i]+'0';

for(i=0; a[i]=='0' && i<=5; i++);

for(j=5-n; j<i; j++) //填充空格

{ *str=' '; str++; }

for(; i<5; i++)

{ *str=a[i]; str++; } //加入有效的数字

*str='';

}

void iniTIal_max197()

{

//uchar *AD;

// AD=&max197;

//单片机初始化

EA=1;

IT1=1;

EX1=1;

duan=0;

//初始化MAX197

//*AD=0x40;

}

void main()

{

uchar i;

iniTIal();

initial_max197();

//CS=0;

max197=0x40;

setPosition(0x00);

prints("The voltage is :");

while(1)

{

//采集15次;

for(i=0;i<15;i++)

{

flag=0;

max197=0x40;

while(!flag);

HBEN=1;

temph=max197;

_nop_();

HBEN=0;

templ=max197;

temp=temph;

temp<<=8;

temp1[i]=temp|templ;

}

temp=0;

for(i=0;i<15;i++)

{

temp=temp+temp1[i];

}

temp=temp/15;//取平均值

IntToStr(temp,&TempBuffer[0],5);

setPosition(0x40);

printc(TempBuffer[0]);

printc(TempBuffer[1]);

printc('.');

printc(TempBuffer[2]);

printc(TempBuffer[3]);

printc(TempBuffer[4]);

prints("mv");

delay1(500);

max197=0x40;

}

}

void convert() interrupt 2 using 2

{

flag=1;

}

提醒:《MAX197的带液晶显示源程序》最后刷新时间 2024-03-14 01:07:51,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MAX197的带液晶显示源程序》该内容的真实性请自行鉴别。