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

📄 0801用控灯试转.c

📁 st7066控制器
💻 C
字号:
 //------------------------------------------------------------
            
     //------------------------------------------------------------
#include<reg51.h>
#include<absacc.h>
#include<INTRINS.H>
#define uchar unsigned char
sbit rs=P2^0;
sbit rw=P2^1;
sbit e=P3^7;
sbit lg=P2^2;
sbit aa=P3^4;
 sbit ls=P2^7;
 sbit rd=P3^7;
uchar s[5]={0x47,0x4f,0x4f,0x44,0x00};

delay(uchar time)//延时函数
{ while(time>0)
  {time--;}
}

delay1(uchar k)//延时函数
{   uchar i = k;
    int j;
    while(i--)
    {
        j=7269;
        while(
        
        j--);
    }
	  }
enrw()//写使能
{rs=0;
 rw=0;
 e=0;
 delay(15);
 e=1;
}

write_data(uchar c)//写数据
{
 P0=c;
 rs=1;
 rw=0;
 e=0;
 delay(15);
 e=1;
 }

write_cmd(uchar m)//写命令,注意与写数据的区别
{ P0=m;
  enrw();
 } 


   
 /*=======================================================
显示光标定位
=======================================================*/
void Disp_XY( char posx,char posy) {

uchar mp;

    mp = posx & 0x0f;
    posy &= 0x01;
    if ( posy )mp |= 0x40;
   mp |= 0x80;
   write_cmd( mp);
}

 
 /*=======================================================
按指定位置显示数出一个字符
=======================================================*/
void DispOneChar(uchar x,uchar y,uchar Wdata) {

    Disp_XY( x, y );                // 定位显示地址
   write_data( Wdata );            // 写字符
}

void Display1( uchar dd ) {
uchar i;

    for (i=0;i<8;i++) {
        DispOneChar(i,0,dd);
        dd &= 0xff;
       
    }
}



void init_lcd(void)//初始化
{

 enrw();
 P0=0x32;
write_cmd( P0);
  delay(5);

  enrw();
 P0=0x32;
 write_cmd( P0);
 //功能设定
  delay(5);
   
    //打开显示开关
enrw();
P0=0x0c;
write_cmd( P0);
 delay(5);

 enrw();
  P0=0x01;//清屏幕
  enrw();
write_cmd( P0);
 delay(5);

  enrw();
 P0=0x38;//数据长度为8位,双行显示,5*7字符。
write_cmd( P0);
 delay(5);

 enrw();
 P0=0x06;//地址计数递增,显示屏不移动
write_cmd( P0);

}



position(uchar row,uchar colum)//写位置
{uchar p;
  if(row==1)
    p=0x80+colum-1;   
  else
    p=0xc0+colum-1;   
    write_cmd(p);
}





display(uchar *s)//写字符串,简单的指针应用
{
 for(;*s!='\0';s++)
  write_data(*s);
}



void main(void)
{ 
uchar temp= 255;

 init_lcd(); while(1){
if((aa&0xff)==0){
 
while(1)
{if((aa&0xff)==0){
 position(1,1);
display("XXXXXXXXXXXXXXXX");
  delay1(5);}
if((aa&0xff)==0){
 position(1,1);

display("ABCDEFGHJHIJKLMN");
  delay1(5);}
 if((aa&0xff)==0){
position(1,1);
display("****************");
   delay1(5); }
  }}
else
 {
 position(1,1);
display("XXXXXXXXXXXXXXX");
  delay1(5);
 position(1,1);
display("ABCDEFGHJHIJKLMN");
  delay1(5);
position(1,1);
display("****************");
   delay1(5);}
}}

⌨️ 快捷键说明

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