资讯详情

1602液晶显示汉字

此为变态法,操作有待提高

程序代码如下: #include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uchar code line1[] = {"welcome!"}; uchar p[]= //自定义字模数组 { 0x00,0x0f,0x04,0x0f,0x05,0x07,0x00,0x00, 0x0f,0x12,0x1f,0x15,0x1f,0x15,0x1f,0x15, //确 0x04,0x02,0x0e,0x02,0x02,0x03,0x02,0x00, 0x04,0x04,0x04,0x04,0x04,0x0a,0x11,0x00, //认 0x00,0x0f,0x09,0x06,0x06,0x06,0x09,0x00, 0x1f,0x0a,0x0e,0x0e,0x0a,0x1f,0x02,0x02 //取 }; sbit E=P2^7; sbit RW=P2^5; sbit RS=P2^6; busying () { bit result; RS = 0; RW = 1; E = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (bit)(P0&0x80); E = 0; return result; } writeorder (uchar cmd) { while (busying()); RS = 0; RW = 0; E = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); E = 1; _nop_(); _nop_(); _nop_(); _nop_(); E = 0; } writedata (uchar dat) { while (busying()); RS = 1; RW = 0; E = 0; _nop_(); _nop_(); P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); E = 1; _nop_(); _nop_(); _nop_(); _nop_(); E = 0; } delay(uchar i) { while(i--) { uchar j=250; while(j--) { _nop_(); _nop_(); _nop_(); _nop_(); } } } initial () { delay (150); writeorder (0x38); //工作方式:8位、2行、5x7 delay(5); writeorder (0x06); //输入方式:光标右移、屏幕不动 delay(5); writeorder (0x0c); //显示状态:显示开、有光标、不闪烁 delay(5); writeorder (0x01); //清屏 delay(5); } newbyte (void) //设置自定义字符 { uchar i,j,k=0; uchar temp=0x40; for(j=0;j<6;j++) { for(i=0;i<8;i++) { writeorder(temp+i); writedata(p[k]); k++; } temp += 8; } } main (void) { uchar i=0; initial (); newbyte (); writeorder (0x85); //设置第一行显示位置 writedata (0x00); writedata (0x01); writedata (0x02); writedata (0x03); writedata (0x04); writedata (0x05); writeorder (0xc4); //设置第二行显示位置 while(line1[i] != '\0') { // 显示字符"welcome!" writedata(line1[i]); i++; } while (1); }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台