?? guangdian.c
字號(hào):
#include <reg52.h>
#include <absacc.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define D_PORT P1
sbit RS=P3^0;
sbit RW=P3^1;
sbit E=P3^2;
//sbit GD=P3^3;
sbit dj=P2^7;
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
//#define LCD_BUS P1
uchar i,j,ren;
uchar code table0[]="2008-11-12--WED";
uchar code table1[]="22: 58: 55";
void wait_free()
{
unsigned char retb;
do{
D_PORT=0xff;
RS=0;
RW=1;
E=1;
retb=D_PORT;
E=0;
}while((retb&0x80)!=0);
}
void write_commm(unsigned char cmd_dat,bit cd)
{
wait_free();
if(cd)RS=1;
else RS=0;
RW=0;
E=1;
D_PORT=cmd_dat;
E=0;
}
void delay(unsigned int t)
{ unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<10;j++)
;
}
void hzkdis(unsigned char code *s)
{ while(*s>0)
{ write_commm(*s,1);
s++;
delay(500);
}
}
void lcdreset()
{
delay(2000);
write_commm(0x30,0); //選擇基本指令集
write_commm(0x30,0); //選擇8bit數(shù)據(jù)流
delay(5);
write_commm(0x0c,0); //開(kāi)顯示(無(wú)游標(biāo)、不反白)
delay(5);
write_commm(0x01,0); //清除顯示,并且設(shè)定地址指針為00H
delay(5);
write_commm(0x06,0); //指定在資料的讀取及寫(xiě)入時(shí),設(shè)定游標(biāo)的移動(dòng)方向及指定顯示的移位
}
void init()
//GD=0;
EA=1;
EX1=1;
// TMOD=0x90;
// TMOD=0x11;
//TH1=(65536-65534)/256;
// TL1=(65536-65534)%256;
IE1=1;
ET1=1;
IT1=1;
TR1=0;
}
void main()
{
init();
lcdreset();
delay(1000);
write_commm((0x80),0);
for(i=0;i<=16;i++)
{
write_commm(table0[i],1);delay(200);
}
delay(1000);
write_commm((0x90),0); delay(200);
for(j=0;j<9;j++)
{
write_commm(table1[j],1);delay(200);
}
delay(1000);
write_commm(0x0f,0);//開(kāi)光標(biāo)顯示
write_commm(0x98,0);
hzkdis("設(shè)計(jì)創(chuàng)新研究室!"); delay(5000);
write_commm(0x0c,0);//關(guān)光標(biāo)
while(1)
{
;
}
}
void exter1() interrupt 2
{
write_commm((0x88+3),0);delay(100);
ren++;
if(ren==10)ren=0;
write_commm((0x30+ren),1);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -