液晶显示设计
更新时间:2024-06-25 12:41:01 阅读量: 综合文库 文档下载
生产实习总结报告
基本项目 单片机最小系统板 扩展项目 LCD1602液晶显示 姓
名
学 号 院 别 专 业 班 级 完成时间
扩展项目 基于单片机的1602LCD显示
目 录
1. 方案设计………………….……………………………………..2
1.1系统分析…………………………………………………….….2 2. 系统设计………………………………………………………...2
2.1 硬件设计………….……………………………………….....2
2.1.1 主控制器AT89S52………...…………………………..…3 2.1.2 时钟电路………………………………………………..…4 2.1.3复位电路………………………………………………...…4 2.1.4 LCD1602显示电路…………………………………..……4 2.2 软件设计………………………………………………...…...7
2.2.1主程序………………………………………………..….….7 2.2.2流程图………………………………………………..……..7 3. 系统测试…………………………………………………….…..7 4. 总结……………………………………………………………...7
参考文献……………………………………………………………7 附录1 原理图…………………………………………………….9 附录2 源程序……………………………………………………10
1
1 方案设计
1.1系统分析
根据系统功能要求,可将系统组成结构分成两大部分: (1)单片机控制部分——单片机控制部分是在核心板上实现。 (2)液晶显示部分——液晶显示部分由扩展板实现。
单片机核心板 1602LCD
图1 系统组成结构图
2 系统设计
主要包括硬件设计和软件设计
2.1 硬件设计
2.1 .1主控制器AT89S52
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。使用Atmel 公司高密非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时
器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止
2
2.1.2 时钟电路
图2时钟电路
2.1.3 复位电路
图3复位电路
3
2.1.4 LCD1602显示电路
Lcd1602能够同时显示16x02即32个字符,采用标准的16脚接口,其中:
包括8根数据线,3根控制线(rs,rw,e),电源地,电源以及液晶驱动电压引脚。
LCD1602引脚功能说明:
引脚 1 2 符号 VSS VDD 功能说明 一般接地 接电源(+5V) 液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比3 V0 度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 4 RS RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 E(或EN)端为使能(enable)端,下降沿使能。 低4位三态、 双向数据总线 0位(最低位) 低4位三态、 双向数据总线 1位 低4位三态、 双向数据总线 2位 低4位三态、 双向数据总线 3位 高4位三态、 双向数据总线 4位 高4位三态、 双向数据总线 5位 高4位三态、 双向数据总线 6位 高4位三态、 双向数据总线 7位(最高位)(也是busy flag) 背光电源正极 背光 电源负极 4
5 6 7 8 9 10 11 12 13 14 15 16
R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BLA BLK
寄存器选择控制表 RS 0 0 1 1 R/W 0 1 0 1 操作说明 写入指令寄存器(清除屏等) 读busy flag(DB7),以及读取位址计数器(DB0~DB6)值 写入数据寄存器(显示各字型等) 从数据寄存器读取数据 注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0. busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。
LCD1602驱动电路原理图如下:
图3 LCD1602驱动电路
5
2.2软件设计
2.2.1主程序
此程序所需实现的基本功能主要有:
在液晶芯片显示 1.“湖南理工学院”2.“www.hnist.cn”3. “2011-5-20”。
主要通过89S52单片机对液晶lcd1602的读写来实现(程序清单详见)。
(说明:液晶太小,所以“湖南理工学院”这六个字在一个区域循环显示。) 2.2.2流程图
起 始 初始化液晶 调用显示字符串程序 显示字符串(网址和日期) 调用汉字显示程序 显 示 汉 字 (依次闪现六个汉字) 图8 流程图
6
3系统测试
我们最终采用跳线连接单片机核心板和LCD1602液晶,下载程序液晶显示达到效果,但1602不带汉字库需自行编写,显示字符是5×8的点阵。字符和字符之间,还有一个点的空间,不适合显示汉字。调试的过程就是程序与硬件相结合的过程。必须相互匹配,才能调试成功。 4 总结
本次实习的过程主要可分为以下几个部分。分别是焊接核心板,程序编写,系统测试与调试。
1. 焊接:焊点要适中,焊接时间要适宜,不然容易烧毁元器件和板上的铜线。
2. 程序编写:程序编写需要了解各个接口的作用,在此基础上外加时序和各个汉子和字符的显示程序,尤其汉字的拼写与最终显示的方式有一定的难度。
3. 系统测试:这里主要是程序的测试。程序写好后,需要通过一步步验证,自己的想法与结果是否一致,需要逐个验证。
4. 系统调试;系统调试是最重要的环节,他涉及到程序的各个部分及硬件端口的接线。调试的过程就是程序与硬件相结合的过程。必须相互匹配,才能调试成功。
参考文献
[1]张毅刚等.单片机原理及接口技术.人民邮电出版社,2010. [2]王东峰等.单片机C语言应用100例[M].电子工业出版社,2009. [3]陈海宴.51单片机原理及应用[M].北京航空航天大学出版社,2010. [4]刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007. [5]钟富昭等.8051单片机典型模块设计与应用[M].人民邮电出版社,2007. [6]李平等.单片机入门与开发[M].机械工业出版社,2008.
7
附录1 原理图
8
附录2 源程序 #include
#define uchar unsigned char #define uint unsigned int sbit rs=P2^4; sbit en=P2^6; sbit wr=P2^5;
/*湖南理工学院——汉子图形编码*/
/*******************************************/ /******************湖***********************/ uchar code CGCODE1[]={
0x00,0x04,0x02,0x01,0x00,0x04,0x02,0x01, 0x00,0x04,0x04,0x04,0x1F,0x04,0x04,0x04, 0x00,0x00,0x01,0x02,0x04,0x08,0x00,0x00, 0x1F,0x11,0x11,0x11,0x11,0x1F,0x00,0x00, 0x00,0x1F,0x11,0x11,0x11,0x11,0x1F,0x11, 0x00,0x0E,0x0A,0x02,0x0E,0x08,0x0A,0x0E, 0x11,0x1F,0x11,0x11,0x13,0x11,0x00,0x00, 0x0E,0x0A,0x08,0x0E,0x02,0x0A,0x0E,0x00};
/******************南***********************/ uchar code CGCODE2[]={
0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x07, 0x04,0x04,0x04,0x1F,0x04,0x04,0x04,0x1F, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04, 0x11,0x0A,0x1F,0x04,0x0E,0x04,0x04,0x04, 0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x1C, 0x00,0x0E,0x0A,0x02,0x0E,0x08,0x0A,0x0E, 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x0C, 0x0E,0x0A,0x08,0x0E,0x02,0x0A,0x0E,0x00};
9
/******************理***********************/ uchar code CGCODE3[]={
0x00,0x1F,0x04,0x04,0x04,0x04,0x04,0x1F, 0x00,0x1F,0x15,0x15,0x1F,0x15,0x15,0x1F, 0x04,0x04,0x04,0x05,0x06,0x0C,0x18,0x00, 0x04,0x04,0x0E,0x04,0x04,0x04,0x1F,0x00, 0x00,0x0E,0x11,0x11,0x01,0x01,0x06,0x04, 0x00,0x0E,0x0A,0x02,0x0E,0x08,0x0A,0x0E, 0x0C,0x10,0x10,0x11,0x11,0x0E,0x00,0x00, 0x0E,0x0A,0x08,0x0E,0x02,0x0A,0x0E,0x00};/
/******************工***********************/ uchar code CGCODE4[]={
0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0x04,0x04,0x04,0x04, 0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00, 0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00, 0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00, 0x00,0x0E,0x0A,0x02,0x0E,0x08,0x0A,0x0E, 0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00, 0x0E,0x0A,0x08,0x0E,0x02,0x0A,0x0E,0x00};
/******************学***********************/ uchar code CGCODE5[]={
0x00,0x00,0x00,0x08,0x04,0x02,0x0F,0x10, 0x00,0x00,0x00,0x08,0x04,0x02,0x1F,0x00, 0x03,0x00,0x00,0x07,0x00,0x00,0x00,0x00, 0x1F,0x01,0x04,0x1F,0x04,0x14,0x0C,0x04, 0x00,0x00,0x00,0x02,0x04,0x08,0x1F,0x02, 0x00,0x0E,0x0A,0x02,0x0E,0x08,0x0A,0x0E, 0x18,0x00,0x00,0x1C,0x00,0x00,0x00,0x00, 0x0E,0x0A,0x08,0x0E,0x02,0x0A,0x0E,0x00};/
10
/******************院***********************/ uchar code CGCODE6[]={
0x00,0x1E,0x11,0x11,0x12,0x1C,0x12,0x11, 0x00,0x03,0x01,0x0F,0x18,0x10,0x07,0x00, 0x11,0x11,0x19,0x15,0x13,0x10,0x10,0x10, 0x0F,0x02,0x02,0x02,0x06,0x0C,0x08,0x10, 0x00,0x00,0x10,0x1E,0x01,0x03,0x1C,0x00, 0x00,0x0E,0x0A,0x02,0x0E,0x08,0x0A,0x0E, 0x1E,0x10,0x10,0x10,0x11,0x11,0x19,0x0e, 0x0E,0x0A,0x08,0x0E,0x02,0x0A,0x0E,0x00};
/*********** 网址和日期——显示 ************/ uchar code web[]={%uchar code time[]={\
/**************** 延时程序 ***************/ void delay(uint t) { uint x,y; for(x=0;x for(y=0;y<110;y++); } /**************向1602写指令***************/ void write_com(uchar com) { rs=0; P0=com; delay(5); en=1; delay(5); en=0; } 11 /**************向1602写数据***************/ void write_date(uchar dat) { rs=1; P0=dat; delay(5); en=1; delay(5); en=0; } /**************程序初始化***************/ void init() { wr=0; en=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } /**********写入并显示***********/ void display(uchar p[]) { uchar i; write_com(0x40);//将自定义字符写入CGRAM for(i=0;i<64;i++)//循环64次写入 { write_date(p[i]); } write_com(0x80);//写入初始地址 write_date(0x00); write_com(0x80+1);//写入初始地址 write_date(0x01); 12 write_com(0x80+0x40);//写入初始地址 write_date(0x02); write_com(0x80+0x41); write_date(0x03); write_com(0x80+2);//写入初始地址 write_date(0x04); write_com(0x80+3);//写入初始地址 write_date(0x05); write_com(0x80+0x42);//写入初始地址 write_date(0x06); write_com(0x80+0x43); write_date(0x07); delay(1000); } /*********主函数********/ void main() { uchar i; init(); rs=0; wr=0; write_com(0x80+0x04); for(i=0;i<13;i++) { write_date(web[i]); } write_com(0x80+0x44); for(i=0;i<14;i++) { write_date(time[i]); } while(1) { display(CGCODE1); 13 } } display(CGCODE2); display(CGCODE3); display(CGCODE4); display(CGCODE5); display(CGCODE6); 14
正在阅读:
液晶显示设计06-25
一年级下册_百数表08-19
连锁快餐厅选址10要素07-21
马家店小学课题申请 - 评审书 - 图文06-13
2019中考英语写作优秀范文02-23
基于Libero的数字逻辑设计仿真及验证实验实验报告(全)09-11
关于春天的好词好句02-22
砼06-30
中国轴承制造10强企业08-07
泰坦尼克号经典部分台词(英汉对照)10-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 液晶显示
- 设计
- 工商管理毕业论文1
- 2012年成人高考专升本《大学语文》真题-中大网校 - 图文
- 2010高考二轮专题突破训练二:识记现代汉字的字形
- 医学统计学课后习题答案
- 《商业银行数据中心监管指引》
- 2018新版部编人教版二年级下册语文全册教案教学设计
- 常见项目管理模式(IPMT、PMT、PMC、EPC)简介
- 名师课堂教学实录:《老王》课堂实录(肖培东)
- 加强乡镇纪检组织建设工作方案
- 工作服管理制度
- 森林草原防火工作制度
- 污水处理厂项目工程进水泵房施工方案
- 去年的树 - 简案
- 论文
- 初级会计资格第一章资产不定项选择(2016-03-06)
- oracle练习题-答案
- 2018年人教版初中英语九年级下册Unit14 单元测试题及答案
- 基于Matlab的模糊PID双闭环直流调速系统的仿真(精)
- 生物医学研究的统计学方法 课后答案(思考与联系)
- 关于授予本科毕业生成人高等教育学士学位工作细则