本帖最后由 krystalky 于 2017-1-17 13:30 編輯
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcd_rs=P2^6;
sbit lcd_rw=P2^5;
sbit lcd_e=P2^7;
sbit lcd_psb=P3^2;
uchar code dis[64][16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0D,0x06,0x01,0x01,0x0F,0x01,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x0F,
0x1F,0x1F,0x39,0x02,0x06,0x06,0x01,0x01,0x03,0x03,0x07,0x0F,0x1D,0x39,0x19,0x01,
0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x54,0x94,0xBF,0x14,0x10,
0xFF,0x11,0x52,0x30,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x08,0x98,0x69,0x38,0x48,0x88,0x88,0x49,0x38,0x08,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,
0x0E,0x0E,0x0E,0x0E,0x1E,0x1E,0x3C,0x38,0x3B,0x3B,0x3F,0x7E,0xFC,0xFC,0xFC,0xFC,
0xFC,0xFC,0xD4,0xF4,0xF0,0xD0,0xD8,0xD8,0xF8,0xFC,0xFE,0xDD,0xDC,0xFF,0x79,0x7F,
0x6F,0x7F,0x3F,0x3F,0x1A,0x19,0x08,0x0C,0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0xE0,0x00,0x40,
0x80,0x80,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0xC2,0xD1,0x37,0x20,0x00,0x40,0x9C,0x54,0x54,0x5D,
0x40,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x38,0xF8,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC3,0xBF,0xFF,0x7B,
0xFD,0xE7,0xFB,0xF7,0x73,0xBC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,
0x80,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x07,0x07,0x07,0x07,0x0F,0x1B,0x2F,0x3F,0x3F,0x7F,0xEA,0xFC,0xDC,0xB8,0xF8,0xC0,
0xA0,0xFC,0xF8,0x80,0x00,0x00,0x00,0x03,0x03,0x02,0x04,0x07,0x0C,0x07,0x07,0x07,
0x06,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x08,0x08,0xC8,0xFB,0xC8,0x08,0x08,
0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7E,0x7D,0xBD,0x75,
0xD5,0xA4,0xD9,0xC4,0xF0,0xF8,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0xF8,0xD8,0x7A,0x3F,0x07,0x0F,0x02,0x00,0x00,
0x80,0x80,0x80,0x30,0xF0,0xF8,0x3C,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x40,0x80,0x00,0x80,0x00,0x40,
0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0xF8,0xB8,0x76,
0xBC,0xBF,0x5E,0x3F,0x3F,0x0D,0x05,0x0E,0x1D,0x1F,0x1E,0x19,0x18,0x18,0x13,0x11,
0x03,0x03,0x03,0x03,0x07,0x05,0x07,0x0A,0x1B,0x2E,0xBC,0xDF,0x6C,0xFC,0x0C,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x80,0x80,0xC0,0xC0,0x40,0x80,0x40,0xC0,0xA0,0xE0,0xE0,0xE0,0xE0,0xE0,
0xE0,0xC0,0xC0,0x80,0xC0,0xC0,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar *address;
void delay_1ms(uint x) //1ms
{
uint i,j;
for(j=0;j<x;j++)
for(i=0;i<112;i++);
}
void lcd_wcmd(char cmd) //寫指令數據到lcd
{
lcd_rs=0;
lcd_rw=0;
lcd_e=0;
P0=cmd;
delay_1ms(5);
lcd_e=1;
delay_1ms(5);
lcd_e=0;
}
void lcd_wdat(char dat) //寫顯示數據到lcd
{
lcd_rs=1;
lcd_rw=0;
lcd_e=0;
P0=dat;
delay_1ms(5);
lcd_e=1;
delay_1ms(5);
lcd_e=0;
}
void init_picture()
{
lcd_wcmd(0x36);
lcd_wcmd(0x36);
lcd_wcmd(0x3e);
lcd_wcmd(0x01);
}
void show_pic(uchar *address)
{
uchar i,j;
for(i=0;i<32;i++)
{
lcd_wcmd(0x80+i);
lcd_wcmd(0x80);
for(j=0;j<16;j++)
{
lcd_wdat(*address);
address++;
}
}
for(i=0;i<32;i++)
{
lcd_wcmd(0x80+i);
lcd_wcmd(0x88);
for(j=0;j<16;j++)
{
lcd_wdat(*address);
address++;
}
}
}
void main()
{
init_picture();
show_pic(dis[64][16]);
while(1)
{}
}
|