#include <reg52.h> #include<intrins.h> typedef unsigned char uchar; typedef unsigned int uint; sbit RS = P3^5; sbit RW = P3^6; sbit EN = P3^4; #define LCD1602_A P0 void delay_ms(uint n) { uint i,y; for(i=n;i>0;i--) { for(y=114;y>0;y--); } } // º¯ÊýÃû£ºÅÐæº¯Êý // º¯Êý¹¦ÄÜ£ºÅжÏÒº¾§ÊÇ·ñ·±Ã¦ void Read_busy() { uchar busy; LCD1602_A = 0xff; RS = 0; RW = 1; do{ EN = 1; busy = LCD1602_A; EN = 0;//ÀµÍʹÄÜ¶Ë ±ãÓÚÏ´ÎʹÓà }while(busy & 0x80);//²»ÎªÁã¾ÍÒ»Ö±Ö´ÐÐ } //º¯ÊýÃû³Æ£ºÐ´ÃüÁî //º¯Êý¹¦ÄÜ£ºÏòLCDÖÐдÈëÃüÁî void Write_cmd(uchar cmd) { Read_busy(); RS = 0; RW = 0; LCD1602_A = cmd; EN = 1; EN = 0; } //º¯ÊýÃû³Æ£ºÐ´Êý¾Ý //º¯Êý¹¦ÄÜ£ºÏòLCDÖÐдÈëÊý¾Ý void Write_dat(uchar dat) { Read_busy(); RS = 1; RW = 0; LCD1602_A = dat; EN = 1; EN = 0; } //º¯ÊýÃû³Æ£ºÏÔʾһ¸ö×Ö·û //º¯Êý¹¦ÄÜ£ºÔÚÖ¸¶¨µÄλÖÃÏÔʾһ¸ö×Ö·û void Dis_onechar(uchar x, uchar y, uchar dat) { if(y) x |= 0x40; x |= 0x80; Write_cmd(x); Write_dat(dat); } //º¯ÊýÃû³Æ£ºÏÔʾһ¸ö×Ö·û´® //º¯Êý¹¦ÄÜ£ºÁ¬ÐøµÄÏÔʾ×Ö·û void Dis_str(uchar x, uchar y, uchar *str)//strÊÇÖ¸Õë±äÁ¿(µØÖ·)*strÊÇÖ¸Õë»òµØÖ·ÀïµÄÄÚÈÝ { if(y) x |= 0x40; x |= 0x80; Write_cmd(x); while(*str != '\0') { Write_dat(*str++);//Ö¸ÏòÏÂÒ»¸öµØÖ· µÄÄÚÈÝ } } //º¯ÊýÃû³Æ£ºLCD³õʼ»¯ //º¯Êý¹¦ÄÜ£º³õʼ»¯LCD void Init_LCD1602() { Write_cmd(0x38);//ÉèÖÃÏÔʾģʽ Write_cmd(0x0c);// ¿ªÏÔʾ ÏÔʾ¹â±ê ¹â±ê²»ÉÁ Write_cmd(0x06);//µØÖ·Ö¸Õë¼ÓÒ» ¹â±ê¼ÓÒ» Write_cmd(0x01);//ÇåÆÁ } void main() { uchar i = 1; uchar *p; p = "Just do it ! "; Init_LCD1602(); while(*p) { Dis_str(i,0,*p); i++; P++; delay_ms(1000); } }
收藏0 举报
void main() { uchar i = 1; uchar code str[]="Just do it ! "; uchar *p = str; Init_LCD1602(); while(*p) { Dis_str(i,0,p); i++; p++; delay_ms(1000); } }
mcu5i51 发表于 2018-12-16 15:16 不对,main中是个循环,p++之后就想像不出显示什么来了;
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
等级类勋章
发帖类勋章
时间类勋章
人才类勋章
17
48
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号