51单片机学习笔记【五】——1602液晶屏
2015-07-21 15:22
567 查看
一.1602液晶屏基础
1.LCD1602简介
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x11的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。本次使用型号为SMC1602A LCM的液晶屏。2.LCD1602接口信号说明
3.控制接口说明
4.指令说明
初始化过程
第一步:写指令38H,显示模式设置;第二步:写指令08H,显示关闭;
第三步;写指令01H,显示清屏;
第四步:写指令06H,显示光标移动设置;
第五步:写指令0CH,显示光标开及光标设置
二.实验例程
1.电路原理图
2.实验说明
本实验通过在1602液晶屏上显示两行字母学习LCD液晶屏的使用方法,接线为JP11接JP12,并插上LCD1602液晶屏,实验中为不影响实验需要把红外遥控模块拆下。3.程序源代码
[code]/************************************** > File Name: LCD1602实验 > Author: pengshp > Mail: pengshp3@outlook.com > Date: 2015年 7 月 21 日 ***************************************/ #include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit RD_RS=P2^6; sbit LCDE_E=P2^7; sbit WR_RW=P2^5; uchar code table1[]="STC-51 MCU"; uchar code table2[]=" pengshp "; uchar i,j; uchar num; void Delay(uint x) { for(i=x;i>0;i--) { for(j=120;j>0;j--) { } } } /*写命令函数*/ void write_com(uchar com) { RD_RS=0; WR_RW=0; LCDE_E=0; P0=com; LCDE_E=1; Delay(5); LCDE_E=0; } /*写数据函数*/ void write_data(uchar dat) { RD_RS=1; WR_RW=0; LCDE_E=0; P0=dat; LCDE_E=1; Delay(5); LCDE_E=0; } /*初始化函数*/ void intt() { write_com(0x38);//显示模式 write_com(0x08);//显示关闭 write_com(0x01);//显示清屏 write_com(0x06);//显示光标移动 write_com(0x0F);//显示开及光标设置 } void main() { intt(); for(num=0;num<10;num++) { write_data(table1[num]); Delay(300); } write_com(0x80+0x40);//第二行显示 for(num=0;num<9;num++) { write_data(table2[num]); Delay(10); } while(1); }
相关文章推荐
- 【玩转cocos2d-x之十八】仿《中国好学霸》文字拖拽和定位
- STM32如何添加需要的库到工程
- Android网络架构之———OkHttp+Volley+Gson
- 5个可用提高Godaddy主机速度的第三方CDN加速服务商
- IOS消息推送之APNS
- LeetCode 6 - ZigZag Conversion
- VS2010程序打包操作(超详细的)
- 【玩转cocos2d-x之十七】cocos2d-x中文显示
- 【玩转cocos2d-x之十六】滚动字幕和公告
- HDU_2899_StrangeFuction
- Animations--动画基础
- ref和out的使用与区别
- 朴素贝叶斯分类器的应用
- SDNU 1142.Hello World!【山东省第一届ACM】【7月21】
- jstl标签库
- OSC上关于Jfinal的提问整理
- 【玩转cocos2d-x之十五】关卡选择的设计
- IOS合并lib(.a)库的终极可用方法(可用于解决duplicate symbol静态库冲突)
- HBase高性能复杂条件查询引擎(转)
- jquery.validate详解二