#include <reg52.h>//包含52单片机头文件
#include <intrins.h>//包含左右移位头文件
#define uchar unsigned char//宏定义无符号整型数
#define uint unsigned int//宏定义无符号短整型数
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit lcdrw=P3^6;
//void init();
void lcd_com(uchar com);
void lcd_date(uchar date);
void lcdinit();
void lcddisp(uchar add,uchar dat);
void delay(uchar);//声明一个子函数
void main ()
{
lcdinit();
lcddisp(7,35);
while(1);
}
/*void init()//初始化
{
EA=1;//开总中断
ET0=1;//开定时器0中断
TH0=(65535-100)/256;//装初值
TL0=(65535-100)%256;
TR0=1;//启动定时器0
TMOD=0x01;
}*/
void lcd_com(uchar com)//写指令
{
P0=com;
lcdrs=0;
lcden=1;
lcden=0;
delay(5);
}
void lcd_date(uchar date)//写数据
{
P0=date;
lcdrs=1;
lcden=1;
lcden=0;
delay(5);
}
void lcdinit()//初始化
{
lcdrw=0;//写
lcd_com(0x38);//设置8位格式2行,5x7点阵
lcd_com(0x0c);//开显示,关光标,不闪烁
lcd_com(0x06);//输入方式,增量不移位
lcd_com(0x01);//清屏
}
void lcddisp(uchar add,uchar dat)//显示
{
uchar shi,ge;
shi=dat/10;
ge=dat%10;
lcd_com(0x80+add);
lcd_date(0x30+shi);
delay(5);
lcd_date(0x30+ge);
}
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>