⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 单片机写的程序都含有Protues仿真结果
💻 C
字号:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchar code hz[];
uchar a,b,c=0xb8,i,j;

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);//取值范围从0页开始 一个八页
	writer_command(0x40);//从0x40列开始	   一共有8列,CS1,CS2分两部分4+4
}
void check_busy(void)
{
	E=1;
	RS=0;
	RW=1;
	P2=0x80;//将DB7置1
	while(!Busy);
}
void writer_command(uchar command)
{
	check_busy();
	E=1;
	RW=0;
	RS=0;
	P2=command;
	E=1;	 //延时大于1000MS
	E=0;
}
void writer_Data(uchar Data)
{
	check_busy();
	E=1;
	RW=0;
	RS=1;
	P2=Data;
	i=1;
	while(i--);//延时大于1000MS
	E=0;
}
void display(uchar page,uchar y,uchar *temp)
{
	uchar j;
	L=1;
	R=0;
	if(y>=0x80)
	{
		R=1;
		L=0;
		y-=0x40;
	}
	writer_command(page);	 //写入第一页  即一个字的上半部分
	writer_command(y);
	for(j=0;j<16;j++)
	  { writer_Data(temp[j]);}
	writer_command(page+1);	//写入第一页 即一个字的下半部分
	writer_command(y);
	for(j=16;j<32;j++)
	   writer_Data(temp[j]);
}

 uchar code wang[]={0x00,0x02,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0xC3,0x82,0x00,0x00,
            	  0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00};/*"王",0*/
 uchar code ming[]={0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0xFF,0x00,0x0,
			  0x00,0x03,0x02,0x02,0x02,0x43,0x20,0x18,0x07,0x01,0x01,0x41,0x81,0x7F,0x00,0x00};/*"明",1*/
 uchar code zhu[]={0x42,0x42,0xFE,0x42,0x42,0x80,0xA0,0x9E,0x88,0x88,0xFF,0x88,0x8C,0x88,0x80,0x00,
			  0x08,0x08,0x07,0x04,0x44,0x20,0x10,0x08,0x06,0x01,0xFF,0x01,0x06,0x38,0x10,0x00};/*"珠",2*/


 uchar code liang[]={0x02,0xF2,0x12,0x12,0x12,0xFE,0x92,0x12,0x12,0xFE,0x12,0x12,0x12,0xFB,0x12,0x00,
                     0x00,0x7F,0x08,0x04,0x03,0x00,0x10,0x09,0x06,0x01,0x01,0x26,0x40,0x3F,0x00,0x00};/*"两",0*/
uchar code ling[]={0x00,0x0C,0x04,0x55,0x55,0x55,0x85,0x7F,0x85,0x55,0x55,0x55,0x05,0x0C,0x04,0x00,
		     0x04,0x04,0x04,0x0A,0x0A,0x09,0x2A,0xCC,0x28,0x19,0x09,0x02,0x06,0x02,0x02,0x00};/*"零",1*/

 uchar code ba[]={0x00,0x00,0x00,0x00,0x80,0x7C,0x08,0x00,0x00,0x7E,0x84,0x00,0x00,0x00,0x00,0x00,
0x20,0x10,0x08,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x18,0x30,0x10,0x00};/*"八",3*/

 uchar code year[]={0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,
                    0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00};/*"年",4*/

void main()
{
	P2=0x00;
	init12864();
	display(0xb8,0x40,&wang);
	display(0xb8,0x50,&ming);
	display(0xb8,0x60,&zhu);
	display(0xbe,0x60,&liang);
	display(0xbe,0x70,&ling);
	display(0xbe,0x80,&ling);
	display(0xbe,0x90,&ba);
	display(0xbe,0xa0,&year);
}












⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -