1、2.3 系统电路图7第三章 软件设计73.1 系统框图73.2 程序清单7第四章 调试7第五章 总结7参考文献7致 谢7第一章 绪论1.1课题背景当今时候是一个信息化的时代,信息的重要性不言而喻的,获取手段显得尤其重要。人们所接受的信息有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。在当代显示技术中,主流的有LED显示屏和LCD液晶显示,而在这些显示技术中,尤其以液晶显示器LCD(Liquid crystal display)为代表的平板显示器发展最快,应用最广。LCD是典型的发光器件,它一材料科学为基础,综合利用了精密机械,光电及计算机技术,并正在微机械,微光学
2、,纤维光学等前沿领域研究基础上,向高集成化,智能化方向发展。液晶显示技术发展迅猛,市场预测表明,液晶显示平均年销售呈增长10%13%,不久的将来有可能取代CRT,成为电子信息产品的主要显示器件,另外,液晶显示器对空间电磁辐射的干扰不敏感,且在紧凑的仪器空间不需要专门的屏蔽保护,因而课大大简化仪器的结构和制造成本,在各种便携式仪器,仪表将会越来越广泛的应用。特别是在电池供电的单片机产品中,液晶显示更是必选的显示器件。1.2课题设计目标本设计是基于AT89C51芯片单片机为主控芯片,结合1602液晶显示模板等外围电路,通过软件程序,来实现液晶显示英文字母。本次设计的目的在于利用单片机和IIC技术来
3、显示英文字母。1.3课程设计的主要工作(1)对系统的各个模块的各个功能进行深入分析和研究,在对课题所采用的方案进行可行详细的研究后设计具体功能电路。(2)熟悉所选芯片的功能并完成具体电路设计。(3)对系统的最终指标进行测试,针对系统的不足,进行分析并提出一些改正方法。1.4 设计要求(1)运行IIC总线技术。(2)循环显示字母。第二章 硬件设计2.1 LCD1602 简介2.1.1 LCD1602引脚功能LCD1602引脚如图2.1所示图2.1 LCD1602引脚图引脚图的功能如表21所示表引脚功能图2.1.2 LCD1602显示模指令集(1)清屏功能:清DDROM值和AC值(2)归位光标复位
4、,光标返回到地址00H(3)输入方式设置设置光标,画面移动方式。其中:I/D=1:数据读写操作后,AC 自加一;I/D=0:数据读写操作后,AC 自减一;S=1:数据读写操作,画面平移;S=0:数据读写操作,画面不动;(4)显示开关控制设置显示、光标和闪烁开关。D 表示显示开关,D=1 为开,D=0 为关;C 表示光标开关,C=1 为开,C=0 为关;B 表示闪烁开关,B=1 为开,B=0 为关。(5)光标、画面位移光标、画面移动。S/C=1 画面移动一个字符位;S/C=0 光标移动一个字符位;R/L=1:右移;R/L=0 左移。(6)功能设置工作方式设置(初始化指令)。DL=1,8 位数据接
5、口;DL=0,4 位数据接口;N=1,两行显示;N=0,一行显示;F=1,5*10 点阵显示;F=0,5*7 点阵显示。(7)CGRAM 地址设置设置CGRAM 地址,A5A0=03FH。(8)DDRAM 地址设置设置DDRAM 地址。N=0,一行显示A6A0=04FH;N=1 两行显示,首行A6A0=02FH,次行A6A0=4067H。(9)读BF 及AC 值读忙BF 和地址计数器AC 的值。BF=1:忙,BF=0:准备好。此时AC 值意义为最近一次地址设置(CGRAM 或DDRAM)定义。(10)写数据根据最近设置的地址性质,数据写入CGRAM 或DDRAM 中。(11)读数据根据最近设置
6、的地址性质,从CGRAM 或DDRAM 数据读出。2.2 IIC 总线IIC 总线是PHILIPS 公司推出的两线式串行总线。用于连接微控制器及其外围设备。IIC 总线产生于在80 年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。2.2.1 IIC 总线的特点(1) 只要求两条总线线路 一条串行数据线 SDA 一条串行时钟线SCL。 (2) 每个连接到总线的器件都可以通过唯一的地址和一直存
7、在的简单的主机从机关系软件设定地址;主机可以作为主发送器或主机接收器。(3) 它是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据被破坏。(4) 串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s 快速模式下可达 400kbit/s 高速模式下可达4Mbit/s 。(5) 片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整。(6) 连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。2.2.2 IIC 协议总线信号时序(1)数据的有效性SDA 线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态只有在 SCL 线
8、的时钟信号是低电平时才能改变。如图2.2 IIC 总线的位传输所示。图2.2 IIC总线的为传输(2)起始和停止条件在 IIC 总线中 唯一出现的是被定义为起始(S)和停止(P )条件(见图2.3)的情况。其中一种情况是在 SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件。当 SCL 是高电平时 SDA 线由低电平向高电平切换表示停止条件。起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态。在停止条件的某段时间后,总线被认为再次处于空闲状态。如果产生重复起始(Sr)条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件(S)和重复起始(Sr)条件在
9、功能上是一样的。因此在本文档的剩余部分,符号(S)将作为一个通用的术语既表示起始条件又表示重复起始条件,除非有特别声明的(Sr)。如果连接到总线的器件合并了必要的接口硬件,那么用它们检测起始和停止条件十分简便。但是,没有这种接口的微控制器在每个时钟周期至少要采样 SDA 线两次来判别有没有发生电平切换。图2.3起始和停止条件(3)总线空闲状态SDA 和SCL 两条信号线都处于高电平,即总线上所有的器件都释放总线,两条信号线各自的上拉电阻把电平拉高。(4)数据传输与应答信号ACK发送到SDA 线上的数据必须是8 位的。每次传输可以发送的数据不受限制。每个字节后必须在时钟的第9 个脉冲期间释放数据
10、总线(SDA 为高),由接收器发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。如图2.4 IIC 总线响应。图2.4IIC总线响应 首先传输的是数据的最高位(MSB)。如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟SCL 保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线SCL 后,数据传输继续。如图2.5 IIC 总线数据传输所示。图2.5IIC总线数据传输2.2.3 IIC 总线器件寻址方式IIC 总线上的器件是共用总线的,因此,主器件在进行数据传输前要选择通信的从器件,即进行总线寻址。总线上的所有器
11、件都有唯一的地址,由器件地址和引脚地址两部分构成,共7 位。引脚地址由IIC 总线外围器件的地址引脚(A2、A1、A0)决定的。数据的传输遵循如图2.6 完整的数据传送所示,在起始条件之后,发送一个7 位的从机地址,紧接着第8 位是数据方向(R/ W),0-表示发送数据(写),1-表示接收数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先产生一个停止条件。在这种传输中,可能有不同的读/写格式结合。如图2.6 IIC 总线完整的数据传输。图2.6 IIC总线的数据传输2.3 系统电路图系统的电路图如2
12、.7 所示: 图2.7 系统电路图运行状况如图2.8:图2.9 运行状态第三章 软件设计3.1系统框图本课题的程序设计是在C 语言的基础之上的,可分为两大模块,分别是:(1)IIC 协议;(2)LCD 显示。程序总体框图如图3.1 所示:图3.1 总程序框图LCD 显示程序框图如图3.2 所示:图3.2LCD显示程序框图3.2 程序清单#include stdio.h#define uint unsigned int #define uchar unsigned charuchar code display_1=good morning; uchar code display_2=miss yousbit lcden=P34;sbit lcdrs=P35; /sbit lcdrw=P36;uchar num;uint i=0; void delayms(uint z) uint x,y;for(x=z;x0;x-) for(y=110;yy-);void write_com(uchar com) lcdrs=0;lcden=0;P0=com;delayms(5);lcden=1;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1