#include <reg52.h>
#include "delay.h"
#define LCDPORT P0
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
sbit SCL = P2^0;
sbit SDA = P2^1;
bit ack = 0;
#define SUCC 0
#define ERR 1
#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0
void lcd_write(unsigned char byte, unsigned char flag)
{
if(flag)
{
RS = 1;
}
else
{
RS = 0;
}
RW = 0;
E = 1;
LCDPORT = byte;
delay_us(5);
E = 0;
}
void lcd_init()
{
delay_ms(16);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x38, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x08, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x01, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x06, LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x0C, LCD_WRITE_COM);
delay_ms(5);
}
void lcd_elec()
{
lcd_write(0x40, LCD_WRITE_COM);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x48, LCD_WRITE_COM);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x1, LCD_WRITE_DATA);
lcd_write(0x50, LCD_WRITE_COM);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(0x58, LCD_WRITE_COM);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(0x60, LCD_WRITE_COM);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x1e, LCD_WRITE_DATA);
lcd_write(0x1e, LCD_WRITE_DATA);
lcd_write(0x1e, LCD_WRITE_DATA);
lcd_write(14 + 0x80, LCD_WRITE_COM);
lcd_write(0x4, LCD_WRITE_DATA);
lcd_write(0x68, LCD_WRITE_COM);
lcd_write(0x1e, LCD_WRITE_DATA);
lcd_write(0x1e, LCD_WRITE_DATA);
lcd_write(0x1e, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(0x10, LCD_WRITE_DATA);
lcd_write(14 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x5, LCD_WRITE_DATA);
delay_ms(2);
}
//ÆðʼÐźÅ
void iic_start()
{
SDA = 1; //SDAÏȸ³Öµ£¬ÎªÁ˱£Ö¤SCLΪ¸ßµçƽÆڼ䣬SDAÖ»ÓÐÒ»´Î²¨Ðα仯
SCL = 1;
delay_us(1);
SDA = 0;
delay_us(1);
SCL = 0; //ǯס×ÜÏß
}
//ÖÕÖ¹ÐźÅ
void iic_stop()
{
SDA = 0;
SCL = 1;
delay_us(1);
SDA = 1;
delay_us(1);
SCL = 0;
}
//Ö÷»ú·¢ËÍÊý¾Ý£¬Ð´Ó¦´ð
void iic_send_byte(unsigned char byte)
{
unsigned char i;
for(i = 0; i < 8; i++)
{
SDA = byte & 0x80; //·ÇÁãÖµ£¬SDA = 1£»ÁãÖµ£¬SDA = 0£»
SCL = 1; //·¢ËÍÖµ
delay_us(1);
SCL = 0; //ÈÃÖµÄܹ»±ä»¯µ½ÏÂÒ»¸ö
byte <<= 1; //×óÒƶÁÊý
}
SCL = 1; //ͨͨÀ¸ß£¬È»ºóÒÔ±ãÅжÏSDA»á²»»á±ä³É0£¬»á²»»áÓÐÓ¦´ð
SDA = 1;
delay_us(1);
if(0 == SDA)
ack = 1; //ÓÐÓ¦´ð
else
ack = 0; //ûÓÐÓ¦´ð
SCL = 0; //ǯס×ÜÏߣ¬ÈÃSDAÊÍ·Å£¬±ä³É1
}
//Ö÷»ú½ÓÊÕÊý¾Ý£¬¶ÁÓ¦´ð
unsigned char iic_rcv_byte()
{
unsigned char i;
unsigned char temp = 0;
unsigned char a;
SDA = 1;
for(i = 0; i < 8; i++)
{
SCL = 0; //ǯס×ÜÏß
delay_us(1);
SCL = 1; //¶ÁÖµ
if(SDA)
{
a = 0x01;
}
else
a = 0;
temp |= (a << (7 - i));
delay_us(1);
}
SCL = 0;
return temp;
}
//ÓÐÓ¦´ð
void iic_ack()
{
SDA = 0;
SCL = 1;
delay_us(1);
SCL = 0;
}
//ÎÞÓ¦´ð
void iic_noack()
{
SDA = 1;
SCL = 1;
delay_us(1);
SCL = 0;
}
//´«ËÍÒ³
unsigned char AT24C02_send_str(unsigned char devaddr, unsigned char roomaddr, unsigned char *s, unsigned char num)
{
unsigned char i;
iic_start();
iic_send_byte(devaddr);
if(0 == ack)
return ERR;
iic_send_byte(roomaddr);
if(0 == ack)
return ERR;
for(i = 0; i < num; i++)
{
iic_send_byte(*s);
if(0 == ack)
return ERR;
s++;
}
iic_stop();
return SUCC;
}
//¶ÁÈ¡×Ö·û´®
unsigned char AT24C02_rcv_str(unsigned char devaddr, unsigned char roomaddr, unsigned char *s, unsigned char num)
{
unsigned char i;
iic_start();
iic_send_byte(devaddr);
if(0 == ack)
return ERR;
iic_send_byte(roomaddr);
if(0 == ack)
return ERR;
iic_start();
iic_send_byte(devaddr + 1); //¿ªÊ¼¶ÁÖµ ±ä³É1
for(i = 0; i < num - 1; i++)
{
*s = iic_rcv_byte();
iic_ack();
s++;
}
*s = iic_rcv_byte();
iic_noack();
iic_stop();
return SUCC;
}
void lcd_dis_char(unsigned char x, unsigned char y, unsigned char byte)
{
if((x > 15) || (y > 1))
{
return;
}
if(0 == y)
{
lcd_write(0x80 + x, LCD_WRITE_COM);
}
else
{
lcd_write(0x80 + 0x40 + x , LCD_WRITE_COM);
}
lcd_write(byte, LCD_WRITE_DATA);
}
void display_str(unsigned char x, unsigned char y, unsigned char * string)
{
if((x > 15) || (y > 1))
{
return;
}
if(0 == y)
{
lcd_write(0x80 + x, LCD_WRITE_COM);
}
if(1 == y)
{
lcd_write(0x80 + 0x40 + x , LCD_WRITE_COM);
}
while( (*string) != '\0' )
{
lcd_write(*string, LCD_WRITE_DATA);
string++;
}
}
unsigned char AD_read()
{
unsigned char temp;
iic_start();
iic_send_byte(0x90);
if(0 == ack)
return ERR;
iic_send_byte(0x40);
if(0 == ack)
return ERR;
iic_start();
iic_send_byte(0x90 + 1);
if(0 == ack)
return ERR;
temp = iic_rcv_byte();
iic_noack();
iic_stop();
return temp;
}
void main()
{
unsigned char test;
unsigned int vol;
unsigned char cen;
lcd_write(0x70, LCD_WRITE_COM);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_write(0x1f, LCD_WRITE_DATA);
lcd_init();
lcd_elec();
while(1)
{
test = AD_read();
vol = test / 255.0 * 5.0 * 100;
cen = test / 255.0 * 100;
lcd_dis_char(0, 0 , (vol / 100 + 0x30));
lcd_dis_char(1, 0 , '.');
lcd_dis_char(2, 0 , (vol % 100) / 10 + 0x30);
lcd_dis_char(3, 0 , vol % 10 + 0x30);
if(cen / 100 != 0)
{
lcd_dis_char(0, 1 , (cen / 100 + 0x30));
lcd_dis_char(1, 1 , (cen % 100) / 10 + 0x30);
lcd_dis_char(2, 1 , cen % 10 + 0x30);
lcd_dis_char(3, 1 , '%');
}
else if(cen / 100 == 0 && cen / 10 != 0)
{
lcd_dis_char(0, 1 , ' ');
lcd_dis_char(1, 1 , cen / 10 + 0x30);
lcd_dis_char(2, 1 , cen % 10 + 0x30);
lcd_dis_char(3, 1 , '%');
}
else if(cen / 100 == 0 && cen / 10 == 0)
{
lcd_dis_char(0, 1 , ' ');
lcd_dis_char(1, 1 , ' ');
lcd_dis_char(2, 1 , cen % 10 + 0x30);
lcd_dis_char(3, 1 , '%');
}
if(cen == 0)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x0, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x1, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 0 && cen <= 10)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 90 && cen <= 100)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
}
else if(cen > 10 && cen <= 20)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 20 && cen <= 30)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 30 && cen <= 40)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 40 && cen <= 50)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 50 && cen <= 60)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 60 && cen <= 70)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 70 && cen <= 80)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
else if(cen > 80 && cen <= 90)
{
lcd_write(4 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(4 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(5 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(6 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(7 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(8 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(9 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(10 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(11 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(12 + 0x80, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(12 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x6, LCD_WRITE_DATA);
lcd_write(13 + 0x80, LCD_WRITE_COM);
lcd_write(0x2, LCD_WRITE_DATA);
lcd_write(13 + 0x80 + 0x40, LCD_WRITE_COM);
lcd_write(0x3, LCD_WRITE_DATA);
}
delay_ms(20);
}
}
// void add()
// {
//
//
//
//
//
// lcd_write(4 + i + 0x80, LCD_WRITE_COM);
// lcd_write(0x6, LCD_WRITE_DATA);
// lcd_write(4 + i + 0x80 + 0x40, LCD_WRITE_COM);
// lcd_write(0x6, LCD_WRITE_DATA);
// delay_ms(255);
// }
单片机==AD-DA_调整电池(27)
最新推荐文章于 2024-07-08 18:05:12 发布