找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1461|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机控制LM1602 只背光不显示字符

[复制链接]
跳转到指定楼层
楼主
代码如下! 求大佬们帮助!

#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit rs=P3^5;sbit rw=P3^6;sbit e=P3^7;sbit d1=P1^0;sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;uint  addr;uchar num;uchar table;void  delay_50us(uint t);uchar idata table0[]="Huan Ying Cheng Zuo";uchar idata table1[]="Hang Dian Dao Le";uchar idata table2[]="Yin Xiang Cheng Dao Le";uchar idata table3[]="Chuan Mei Dao Le";uchar idata table4[]="Li Gong Dao Le";uchar idata table5[]="Xie Xie Cheng Zuo";void delay_50us(uint t){uchar j;for(;t>0;t--)for(j=19;j>0;j--);}void write_com(uchar com1){e=0;rs=0;rw=0;P0=com1;delay_50us(10);e=1;delay_50us(20);e=0;}void write_data(uchar dat){rs=1;rw=0;P0=dat;delay_50us(10);e=1;delay_50us(20);e=0;}void write(uchar com){uchar j;if(com==0){write_com(0x80);for(j=0;j<9;j++){write_data(table0[j]);delay_50us(5000);}write_com(0x80+0x40+0x03);for(j=9;j<19;j++){write_data(table0[j]);delay_50us(5000);}}if(com==1){write_com(0x80);for(j=0;j<12;j++){write_data(table1[j]);delay_50us(8000);}write_com(0x80+0x40+0x03);for(j=12;j<19;j++){write_data(table1[j]);delay_50us(8000);}}if(com==2){write_com(0x80);for(j=0;j<13;j++){write_data(table2[j]);delay_50us(8000);}write_com(0x80+0x40+0x03);for(j=13;j<20;j++){write_data(table2[j]);delay_50us(8000);}}if(com==3){write_com(0x80);for(j=0;j<12;j++){write_data(table3[j]);delay_50us(8000);}write_com(0x80+0x40+0x03);for(j=12;j<19;j++){write_data(table3[j]);delay_50us(8000);}}if(com==4){write_com(0x80);for(j=0;j<13;j++){write_data(table4[j]);delay_50us(5000);}write_com(0x80+0x40+0x03);for(j=13;j<20;j++){write_data(table4[j]);delay_50us(5000);}}if(com==5){write_com(0x80);for(j=0;j<7;j++){write_data(table5[j]);delay_50us(5000);}write_com(0x80+0x40+0x03);for(j=7;j<17;j++){write_data(table5[j]);delay_50us(5000);}}}void init(void){delay_50us(300);write_com(0x38);delay_50us(100);write_com(0x38);delay_50us(100);write_com(0x38);write_com(0x38);write_com(0x08);write_com(0x01);write_com(0x06);write_com(0x0c);}void key(){if(k1==0){d1=1;delay_50us(5);if(k1==0){num=1;addr=0x05;while(!k1);}write_com(1);}if(k2==0){d1=1;delay_50us(5);if(k2==0){if(num!=0){num--;addr-=100;}while(!k2);}write_com(1);}if(k3==0){d1=1;delay_50us(5);if(k3==0){if(num!=6){num++;addr+=100;}while(!k3);}write_com(1);}}void main(){uchar f;init();addr=200;while(1){    void  key();if(num==1)            write(0);else if(num==2)      write(1);else if(num==3)      write(2);else if(num==4)      write(3);else if(num==5)      write(4);else if(num==6)      write(5);else    write_com(1);while(f==num)key();f=num;}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:743654 发表于 2020-6-3 17:17 | 只看该作者
程序有点乱,再排下版
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表