51单片机实验 2017年12月13日
来源:互联网 发布:上古卷轴5天际捏脸数据 编辑:程序博客网 时间:2024/05/17 22:47
2017年12月15日
1602液晶显示程序
1602液晶屏内部常用的命令定义:
1、0x38:设置16*2显示;5*7点阵;8位数据口连接
2、0x01:清屏
3、0x0f:开显示,显示光标,光标不闪烁
4、0x08:只开显示
5、0x0e:开显示不显示光标
6、0x06:地址加一,当写入数据时光标右移
7、0x02:地址计数器AC=0(此时地址为0x80)光标归原点但DDRAM中断内容不变
8、0x18:光标和显示一起向左移动
#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit lcden=P3^2;//位定义1602液晶使能脚sbit rs=P3^0; //位定义1602液晶数据/命令(H/L)引脚sbit rw=P3^1;//位定义1602液晶读/写(H/L)引脚sbit dula=P2^6;//数码管段选sbit wela=P2^7;//数码管位选uchar table1[]="HELLO QX-MCS51";//第一行要显示的字符uchar table2[]=" QQ:7651719 ";//第二行要显示的字符void delay(uint x)//延时函数,单位us{uint a,b;for(a=x;a>0;a--)for(b=10;b>0;b--); }void delay1(uint x)//延时函数,单位ms{uint a,b;for(a=x;a>0;a--)for(b=100;b>0;b--); }void write_com(uchar com)//向D0~D7输入指令{P2=com; //将8条串口数据线赋给comrs=0;//指令lcden=0; //使能端初始化delay(10); //延时10uslcden=1;//使能端由高电平转向低电平时输入指令delay(10); //延时10uslcden=0;}void write_date(uchar date)//向D0~D7输入数据{P2=date;rs=1; //数据lcden=0; //使能端初始化delay(10); //延时10uslcden=1; //在en使能端由高电平转向低电平之间的时间里向1602输入数据或命令delay(10); //延时10uslcden=0;}void init()//液晶初始化{rw=0;//写dula=0;//关闭段选和位选wela=0;write_com(0x38);//设置16乘2显示,5乘7点阵,8位数据口连接 delay(20);write_com(0x0f); //开显示,显示光标,光标不闪烁 delay(20);write_com(0x06);//地址加1,当写入数据时向右移 delay(20);write_com(0x01); //清屏 delay(20);}void main(){uchar a;init();//液晶初始化函数write_com(0x80+17);//0x80为液晶显示第一行初始地址delay(20); //延时20usfor(a=0;a<14;a++) //a代表table1字符显示的字符数量{write_date(table1[a]);//向1602中输入字符delay(20);//等待20us}write_com(0xc0+17);//液晶第二行初始地址delay(50); //延时50us/*for(a=0;a<14;a++){write_date(table2[a]);//a代表table2中的字符delay(40); //等待40us}*/for(a=0;a<16;a++)//右移16个字符{write_com(0x18); //光标和显示一起向左移delay1(200); //延时200ms }while(1); //循环
}
阅读全文
0 0
- 51单片机实验 2017年12月13日
- 51单片机实验2017年12月4日
- 51单片机实验 2017年11月16日
- 51单片机实验2017年11月17日
- 51单片机实验2017年11月20日
- 51单片机实验 2017年11月22日
- 51单片机实验 2017年11月27日
- 2017年3月9日Java上机实验项目
- 2017年11月19日实验感想
- 2017年12月13日 Spring
- 2017年12月12日 qsort函数理解、多态的实验
- 2013年11月1日单片机C语言总结
- 12月13日
- 2012年09月12日-13日
- 2014年12月13日,14日
- 2017年12月13日的工作总结
- 2017年12月12日
- 2017年4月13日读书笔记
- sourceTree和git和git hub之间的关系以及基本使用(不包含命令行)
- 论文阅读-文本匹配(三)MatchPyramid(构造匹配矩阵)
- 日志系列之接口与实现分离
- Java面试题全集(中)
- 微信公众号开发(一)--公众号关注推送
- 51单片机实验 2017年12月13日
- 在默认hellow world的textview组件上,拖一个按钮组件,这个按钮在textview的正上方很远出,不是紧靠
- [ AC自动机 二进制分组/阈值 ] HDU4787
- LintCode之50 数组剔除元素后的乘积
- [BZOJ4066]简单题(KD-tree)
- ssl2294-打包【dp练习】
- 第八周实践项目4 字符串加密
- 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".
- 三分法求单峰函数极值