标题:
51单片机控制LM1602 只背光不显示字符
[打印本页]
作者:
qkr
时间:
2020-6-3 10:57
标题:
51单片机控制LM1602 只背光不显示字符
代码如下! 求大佬们帮助!
34B194D1-F9B6-424D-97C3-13F8EBD00325.png
(41.44 KB, 下载次数: 34)
下载附件
2020-6-3 10:56 上传
#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;}
作者:
cheney03
时间:
2020-6-3 17:17
程序有点乱,再排下版
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1