?? 0801用控燈試轉.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 + -