AT89C51单片机液晶显示程序(c语言编写)

更新时间:2023-08-17 08:34:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于AT89C51单片机的性质 让此单片机控制的液晶显示器 (c语言编写) 文档中有图(proteus仿真图) keil编写

仿真图接线方式

C语言程序

#include<reg51.h>

#include<intrins.h>

sbit rs=P2^0;

sbit rw=P2^1;

sbit ep=P2^2;

unsigned char code dis1[]={""}; unsigned char code dis2[]={"0571-85956028"}; void delay(unsigned char ms)

{

unsigned char i;

while(ms--)

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

{_nop_(); _nop_();_nop_();_nop_(); }

}

}

bit lcd_bz()

{bit result;

rs=0;

rw=1;

基于AT89C51单片机的性质 让此单片机控制的液晶显示器 (c语言编写) 文档中有图(proteus仿真图) keil编写

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

result=(bit)(P0&0x80); ep=0;

return result;

}

void lcd_wcmd(unsigned char cmd) { while(lcd_bz());

rs=0;

rw=0;

ep=0;

_nop_();

_nop_();

P0=cmd;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

void lcd_pos(unsigned char pos) { lcd_wcmd(pos|0x80); }

void lcd_wdat(unsigned char dat) { while(lcd_bz());

rs=1;

rw=0;

ep=0;

P0=dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

基于AT89C51单片机的性质 让此单片机控制的液晶显示器 (c语言编写) 文档中有图(proteus仿真图) keil编写

_nop_();

_nop_();

ep=0;

}

void lcd_init()

{ lcd_wcmd(0x38); delay(1);

lcd_wcmd(0x0c); delay(1);

lcd_wcmd(0x06); delay(1);

lcd_wcmd(0x01); delay(1);

}

void main(void)

{ unsigned char i; lcd_init();

delay(10);

lcd_pos(0x01); i=0;

while(dis1[i]!='\0') {lcd_wdat(dis1[i]); i++;

}

lcd_pos(0x42); i=0;

while(dis2[i]!='\0') {lcd_wdat(dis2[i]); i++;

}

while(1); }

本文来源:https://www.bwwdw.com/article/8faj.html

Top