標題:
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) //延時函數(shù)
{
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; //液晶數(shù)據(jù)口
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);//加死循環(huán)里 反復循環(huán)
}
復制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1