//***************************************************************** /* 程序功能:显示两行字符并且整屏左移 (程序使用在接口为4位的1602液晶) 涉及芯片:1602液晶显示器 */ //***************************************************************** #include#define uint unsigned int #define uchar unsigned char sbit rs=P2^0;//数据/命令选择端(H/L) sbit rw=P2^1;//读/写选择端(H/L) sbit en=P2^2; //使能选择端 uchar code mingzi[]="Gui fa zhi !_! "; //定义数据mingzi【】 uchar code num[]="tel:18778434282 "; //定义数组num【】 void delay(uint time)//延时函数(运行的时间与晶振有关系) { uint i,j; for(i=time;i>0;i--) for(j=110;j>0;j--); } void write_com(uchar mingling)//命令输入函数 { uchar gao,di; //定义高、低四位 gao=mingling&0xf0;//分出高四位 di=(mingling<<4)&0xf0;//分出低四位 //==========================================读走高四位 P2=gao;//让数据(mingling)高四位有效 rs=0;//rs端为低电平时,为接收命令 delay(5); en=1; //en一个高脉冲读走高四位数据(mingling) delay(5); en=0;//把使能端拉回低电平 //============================================读走低四位 delay(5); P2=di;//让数据(mingling)低四位有效 rs=0;//rs端为低电平时,为接收命令 delay(5); en=1 ;//en一个高电平读走低四位命令(mingling) delay(5); en=0;//把使能端拉回低电平 } void write_date(uchar shuju)//数据输入函数 { uchar gao,di; gao=shuju&0xf0;//分出高四位 di=(shuju<<4)&0xf0;//分出低四位 //=======================================读走高四位 P2=gao;//让数据(shuju)高四位有效 rs=1;//rs端为高电平时,为接收数据 delay(5); en=1;//en一个高电平读走低四位数据 (shuju) delay(5); en=0;//把使能端拉回低电平 //============================================读走低四位 delay(5); P2=di;//让数据(shuju)低四位有效 rs=1;//rs端为高电平时,为接收数据 delay(5); en=1;//en一个高电平读走低四位数据(shuju) delay(5); en=0;//把使能端拉回低电平 } void chushihua() { rw=0;//把数据/命令选择端先置为零 en=0;//把使能端先置为零 write_com(0x28);//设置16*12显示,5*7点阵,4位数据接口 write_com(0x01);//清屏 write_com(0x0c);//显示开启,不显示光标 write_com(0x06);//整屏不移动 } void main()//主函数 { uint i,j; chushihua();//对液晶初始化 while(1)//死循环 { write_com(0x80); for(i=0;i<16;i++) { write_date(mingzi[i]); } write_com(0x80+0x40); for(j=0;j<16;j++) { write_date(num[j]); } write_com(0x18);//写控制字,在英文文档里介绍。0x18为左移,0x1c为右移 } }
上一篇:I2C总线AT24C02读写程序
下一篇:传感器课程设计心得
推荐阅读最新更新时间:2024-03-16 13:05
设计资源 培训 开发板 精华推荐
- 我的老天,发现我的2440 BSP是4.2转5.0的,而在调的SDIO驱动是5.0的;请帮忙选择方案:是重新选一个完全5.0的BSP,还是改这个5.0的SDIO
- 谈谈 common.reg platform.reg project.reg 的关系
- 赠送板子、显示屏、IC
- CCS5 c2000 launchpad程序写入问题
- ECU 的 CAN 刷新简介 -- 欢迎灌水
- 电子学圣经:Paul Horowitz的《The Art of Electronics》
- 【颁奖礼】我用“ADI实验室电路“讲故事
- ADC不能连续转换
- 谁有 MEMORY STICK规范?
- WINCE编译不了,说找不到recorder.exe