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

📄 text1.c

📁 自己做的单片机Proteus仿真实例
💻 C
字号:
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char

#define	        LCDDATA1	0xbd01//XBYTE[0Xb901]	E1
#define	        LCDDATA0	0xb501//XBYTE[0Xb101]
#define	        LCDORDER1	0x9d00//XBYTE[0X9900]
#define	        LCDORDER0	0x9500//XBYTE[0X9100]

uchar code tab0[]={0x00,0x02,0x02,0xF2,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0x00,
				   0x20,0x20,0x20,0x25,0x29,0x31,0x21,0x21,0x21,0x31,0x2F,0x25,0x20,0x20,0x20,0x00};
uchar code tab1[]={0x40,0x41,0x4E,0xC4,0x00,0x20,0x24,0x24,0x24,0x3F,0x24,0x24,0xE4,0x24,0x20,0x00,
                   0x00,0x00,0x00,0x7F,0x20,0x11,0x01,0x03,0x0D,0x01,0x41,0x81,0x7F,0x01,0x01,0x00};
uchar code tab2[]={0x20,0x22,0x12,0x12,0xFA,0x4E,0x4A,0x4A,0x4A,0x4A,0x4A,0xFA,0x02,0x02,0x00,0x00,
				   0x21,0x11,0xFD,0x4B,0x49,0x49,0xF9,0x20,0x11,0xF9,0x4F,0x49,0x49,0xF9,0x01,0x00};
void write_c1(uchar adata)	
{
   		
   		_nop_();
		XBYTE[LCDORDER1]=adata;
		_nop_();
   		
 }

void write_d1(uchar adata)
 {
   	
   		_nop_();
		XBYTE[LCDDATA1]=adata;
		_nop_();
   	
 }

void write_c2(uchar adata) 
 { 	
    	_nop_();
		XBYTE[LCDORDER0]=adata;
		_nop_();

  }

void write_d2(uchar adata)
 {
   		
		_nop_();
		XBYTE[LCDDATA0]=adata;
		_nop_();
 }



void clear()
{
uchar i,j;
for(i=0xb8;i<=0xbb;i++)
	{
 	 write_c1(i);
     write_c2(i);
 	 for(j=0x00;j<0x3d;j++)
 		{
		 write_c1(j);
         write_c2(j);
		 write_d1(0x00);
         write_d2(0x00);
		 }
	}
}

void main()
{uchar i;

clear();
write_c1(0XAE);//关显示
write_c2(0XAE);

write_c1(0XE2);//复位
write_c2(0XE2);

write_c1(0XA9);//  1/32duty
write_c2(0XA9);

write_c1(0xA1);//正向显示
write_c2(0xA1);

write_c1(0xA4);
write_c2(0xA4);

write_c1(0xe0);
write_c2(0xe0);

write_c1(0xc0);//起始行
write_c2(0xc0);

write_c1(0xee);
write_c2(0xee);

write_c1(0xaf);//开显示
write_c2(0xaf);

write_c1(0xb8);
write_c2(0xb8);

write_c1(0x00);
write_c2(0x00);

for(i=0;i<16;i++)
	write_d1(tab0[i]);
for(i=0;i<16;i++)
	write_d1(tab1[i]); 
for(i=0;i<16;i++)
	write_d1(tab2[i]);

write_c1(0xb9);
write_c1(0x00); 
for(i=16;i<32;i++)
	write_d1(tab0[i]);
for(i=16;i<32;i++)
	write_d1(tab1[i]); 
for(i=16;i<32;i++)
	write_d1(tab2[i]);  
while(1);




}

⌨️ 快捷键说明

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