12864.c
来自「单片机写的程序都含有Protues仿真结果」· C语言 代码 · 共 94 行
C
94 行
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
sbit E=P3^4;
sbit RS=P3^2;
sbit RW=P3^3;
sbit L=P3^1;
sbit R=P3^0;
sbit Busy=P2^7;
void init12864(void);
void writer_command(uchar command);
void writer_Data(uchar Data);
void delay(uint timer);
void check_busy();
void display(uchar page,uchar col,uchar *temp);
void init12864(void)
{
writer_command(0x3f);
writer_command(0xc0);
writer_command(0xb8);
writer_command(0x40);
}
void check_busy(void)
{
E=1;
RS=0;
RW=1;
P2=0xFF;
while(!Busy);
}
void writer_command(uchar command)
{
check_busy();
E=1;
RW=0;
RS=0;
P2=command;
E=1;
E=0;
}
void writer_Data(uchar Data)
{
check_busy();
E=1;
RW=0;
RS=1;
P2=Data;
E=1;
E=0;
}
void display(uchar page,uchar col,uchar *temp)
{
uchar j;
L=1;
R=0;
if(col>=0x80)
{
R=1;
L=0;
col-=0x40;
}
writer_command(page);
writer_command(col);
for(j=0;j<16;j++)
writer_Data(temp[j]);
writer_command(page+1);
writer_command(col);
for(j=16;j<32;j++)
writer_Data(temp[j]);
}
uchar code zhou[]={0x00,0x00,0x00,0xFF,0xFE,0x82,0x92,0x92,
0xFE,0xFE,0x92,0x92,0x82,0xFE,0xFF,0x02,
0x00,0x80,0x70,0x3F,0x0F,0x00,0x3F,0x1E,
0x12,0x12,0x3E,0x5F,0x42,0xFF,0x7F,0x00
};
uchar code yuan[]={0x00,0x20,0x20,0x22,0x22,0xE2,0xE2,0x22,
0x22,0xE2,0xE2,0x22,0x22,0x22,0x20,0x20,
0x00,0x40,0x60,0x30,0x1C,0x0F,0x03,0x00,
0x00,0x3F,0x7F,0x40,0x40,0x40,0x70,0x70
};
void main()
{
P2=0x00;
init12864();
display(0xb8,0x40,&zhou);
display(0xb8,0x50,&yuan);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?