HD44780读写程序

来源:本站
导读:目前正在解读《HD44780读写程序》的相关信息,《HD44780读写程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《HD44780读写程序》的详细说明。
简介:本文主要介绍了HD44780读写程序

#include<reg51.h>

#include<intrins.h>

sbitGND_LCD=P1^7;

sbitrs=P1^0;

sbitrw=P1^1;

sbite=P1^2;

unsignedcharbusy(void);

voidctrl(unsignedchar);

voidwd_h(unsignedchar);

voidwd_l(unsignedchar);

unsignedcharrd(void);

voidwrite(unsignedchar);

voidinit(void);

voidNOP(void);

voiddisp(unsignedchar);

unsignedinttime;

voidint_t0(void)interrupt1{

TL0=TL0+30;TH0=0xfb;

time++;

}

voidwait(unsignedintw){

time=0;

while(time<w){}

}

voidinit(void){

unsignedchari;

P1=0;

for(i=0;i<2;i++){

wd_l(0x30);

wait(5);

}

wd_h(0x20);

ctrl(0x28);

ctrl(0x8);

ctrl(3);

ctrl(6);

disp(0);

ctrl(1);

ctrl(8);

ctrl(0xe);

ctrl(0x80);

}

unsignedcharbusy(void){

P1=0;

return(rd());

}

unsignedcharrd(void){

unsignedchardat0,dat1;

rw=1;

rs=0;

P1=P1|0x78;

e=1;

dat0=P1;

e=0;

e=1;

dat1=P1;

P1=0;

return(((dat0<<1)&0xf0)|((dat1>>3)&0xf));

}

voidctrl(unsignedchardat){

while(busy()>0x7f){};

rw=rs=0;

wd_h(dat);

wd_l(dat);

}

voidwd_h(unsignedchardat){

e=1;

P1=P1|((dat&0xf0)>>1);

e=0;

P1=P1&0x87;

}

voidwd_l(unsignedchardat){

e=1;

P1=P1|((dat&0xf)<<3);

e=0;

P1=0;

}

voidwrite(unsignedchardat){

while(busy()>0x7f){};

rw=0;

rs=1;

wd_h(dat);

wd_l(dat);

}

//===================================================

voiddisp(unsignedchari){

unsignedcharj;

ctrl(1);

ctrl(0x80);

for(j=0;j<6;j++)write(d[i][j]);

write('');

ctrl(0xc0);

write('-');

write('-');

write('-');

write('-');

write('-');

write('-');

write('k');

write('m');

}

提醒:《HD44780读写程序》最后刷新时间 2024-03-14 01:02:53,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《HD44780读写程序》该内容的真实性请自行鉴别。