标题:
C8051F410单片机的lcd1602应用源程序
[打印本页]
作者:
whs0102
时间:
2018-6-3 22:23
标题:
C8051F410单片机的lcd1602应用源程序
单片机源程序如下:
#include "C8051F410.h"
//#include <INTRINS.H>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="DIAN YA:";
uchar code table1[]="Have A Good Time";
uchar n;
sbit lcdrs=P0^5;
sbit lcden=P0^7;
void delay(unsigned int ms) //延时函数
{
unsigned char j=0;
unsigned int i=0;
unsigned int k=128;
j=OSCICN&0x07;
k=k>>j;
k=1500/k;
while(ms--)
{
for(i=0;i<k;i++);
}
}
/*void delay_1ms(void)
{
unsigned int idata i;
for(i=0;i<3;i++);
}
void delay(unsigned int z)
{
unsigned int idata i;
for(i=0;i<z;i++)
{
delay_1ms();
}
} */
void init_410()
{
OSCICN=0x87;
P0MDOUT = 0xff; //液晶控制端口
P2MDOUT = 0xFF; //液晶数据口
XBR1 = 0x40; //使能
PCA0MD &= ~0x40; //关看门狗
}
void write_com(uchar com)
{
lcden=0;
lcdrs=0;
P2=com;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void write_data(uchar date)
{
lcden=0;
lcdrs=1;
P2=date;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void init_1602()
{
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);//0x07全屏移动
write_com(0x01);
}
void main()
{
init_410();
init_1602();
write_com(0x80);
for(n=0;n<8;n++)
{
write_data(table[n]);
//delay(5);
}
write_com(0x80+0x40);//第二行地址
for(n=0;n<16;n++)
{
write_data(table1[n]);
// delay(5);
}
/* for(n=0;n<16;n++)
{
write_com(0x18);
delay(100);
}
// } */
while(1);//加死循环里 反复循环
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1