基于单片机酒精浓度测试毕业论文 - 图文(8)

2020-05-08 08:58

桂林电子科技大学毕业设计(论文)报告用纸 第 37 页 共 54 页

{ if(k3==0) flg=1; showdata(); Display_List_Char(0,0,lcd_dat+3);

Display_List_Char(1,0,lcd_time);

/************************调时间**************************/ if(k2==0) { do {

Display_One_Char(1,10,'H'); if(k3==0) flg=1; chang_h();

for(g=0;g<100;){delays1(100);g++;} if(k2==0)

{do {

Display_One_Char(1,10,'M'); if(k3==0) flg=1;

chang_m();

for(g=0;g<100;){delays1(100);g++;} if(k2==0) {do {

Display_One_Char(1,10,'S'); if(k3==0) flg=1; chang_s();

}while(flg==0); }

}while(flg==0); }

}while(flg==0);flg=0;

write_lcd_command(0x01); }

for(g=0;g<500;){delays1(100);g++;} } while(flg==0);flg=0; }

/*************检测*******************/ if(k1==0) {

write_lcd_command(0x01); do {

桂林电子科技大学毕业设计(论文)报告用纸 第 38 页 共 54 页

if(k3==0) flg=1;

data_temp=ADconv(); stor[0]=data_temp; xs_int(196*data_temp,1); }while(flg==0);flg=0;

}

/***************存储****************/ if(k2==0)

{

write_lcd_command(0x01); //清屏 do

{

if(k3==0) flg=1;

for(i=0;i<3;) {

// i2c_write(0x00+i,0x63+i/*要存的数据*/); i2c_write(0x00+i,stor[0]/*要存的数据*/); i++; }

_nop_(); i=0;

for(i=0;i<3;)

{

dd=i2c_read(0x00+i);/*读地址数据*/ show[i]=dd; i++; }

Display_List_Char(1,0,show); }while(flg==0);flg=0;

for(g=0;g<500;){delays1(100);g++;} }

/***************************************/ } } }

二:液晶显示程序

#include #include #include #define uchar unsigned char

桂林电子科技大学毕业设计(论文)报告用纸 第 39 页 共 54 页

#define uint unsigned int

#define LCDPORT P0

sbit RS=P2^6; sbit RW=P2^7; sbit EN=P2^0;

uchar LCD_Code2[]

=\

uchar LCD_Code[] =\

/******************************LCD1602驱动程序*************************************/

void lcd_delay(uchar delaytime) { } { } {

while(delaytime)delaytime--;

//RS数据命令选择端,高电平数据,低电平命令

//RW读写选择端,高电平读操作,低电平写操作 //EN使能控制端,E高电平跳变为低电平时LCD执行命令

void write_lcd_command(uchar write_command)

lcd_delay(40);

RS=0; RW=0;

LCDPORT=write_command; EN=1; EN=0;

void write_lcd_data(uchar write_data)

lcd_delay(40); RS=1; RW=0;

LCDPORT=write_data; EN=1;

EN=0; }

void Display_One_Char( uchar x,uchar y,uchar dat) //x表示行,y表示列 {

switch(x) {

case 0: write_lcd_command(0x80+y);

break;

桂林电子科技大学毕业设计(论文)报告用纸 第 40 页 共 54 页

}

void Display_List_Char(uchar x,uchar y,uchar *str) { }

void xs_int(unsigned int shuju,bit t) //显示一个数字 {unsigned char huancun[6]={0}; unsigned char biaozhi=0,i; if (shuju < 10) biaozhi = 1; else if(shuju < 100) biaozhi = 2; else if(shuju < 1000) biaozhi = 3; else if(shuju < 10000) biaozhi = 4; else if(shuju < 65535) biaozhi = 5;

switch(biaozhi)

{case 5:huancun[5] = shuju/10000;

case 4:huancun[3] = shuju000/1000; case 3:huancun[2] = shuju00/100; case 2:huancun[1] = shuju0/10; case 1:huancun[0] = shuju; break;

default:break; }

for(i=6;i>1;i--)

case 1: write_lcd_command(0xc0+y); break; }

write_lcd_data(dat);

switch(x) {

case 0:

write_lcd_command(0x80+y); break;

case 1: write_lcd_command(0xc0+y); break; }

while (*str!='\\0') { }

write_lcd_data(*str); str++;

桂林电子科技大学毕业设计(论文)报告用纸 第 41 页 共 54 页

{if(i==5)Display_One_Char(1,10,'.');

else Display_One_Char(t,15-i,0x30+huancun[i-1]); } Display_One_Char(t,15,'V'); }

void initial_lcd1602(void) {

uchar i; EN=0;

for(i=200;i>0;i--)

lcd_delay(248);

write_lcd_command(0x38);

//0x38命令,双行显示,显示5x7的点阵字符

//初始化LCD1602

for(i=4;i>0;i--) lcd_delay(248); write_lcd_command(0x38); 符 }

for(i=4;i>0;i--) lcd_delay(248);

write_lcd_command(0x0c); for(i=4;i>0;i--) lcd_delay(248);

write_lcd_command(0x06); for(i=4;i>0;i--)

lcd_delay(248);

write_lcd_command(0x01); for(i=4;i>0;i--) lcd_delay(248);

//再写一次0x38命令,双行显示,显示5x7的点阵字

//无光标,不闪烁

//光标右移,文字不移动

//清屏

三:存储程序

#include #include #include #define uchar unsigned char #define uint unsigned int

#define LCDPORT P0

sbit RS=P2^6; sbit RW=P2^7; sbit EN=P2^0;

uchar LCD_Code2[]

//RS数据命令选择端,高电平数据,低电平命令

//RW读写选择端,高电平读操作,低电平写操作 //EN使能控制端,E高电平跳变为低电平时LCD执行命令

=\


基于单片机酒精浓度测试毕业论文 - 图文(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:IAUP暨AUAP高等教育国际化论坛隆重举行

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: