




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LCD1602 液晶显示课程设计第一章 绪论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所示LCD4LM016L(D LU p.CO O LUCfi 密亡:、r-j -n -t r. r p> > >DC 丘山 daaaddaa9»
4、;6L-rsi寸图2.1 LCD1602引脚图引脚图的功能如表2 1所示引脚号符号状态功能Vss电源地2Vdd逻辑电源3VO液晶驱动电源4RS输入寄存器选样1:数据;小指令5R W输入读.写操作选择1:读;S写6E输入使能信号(MDLM0466未用,符号NC)7DBO三态数据总线(LSB)8DB1三态数据总线9DB2三恣数据总线10DBS三态数据总线1DB4三念数据总线12DB5三邊数据总线13DB6三态数据总线14DB7三态数据总线(MSB)表2 1引脚功能图2.1.2LCD1602显示模指令集(1)清屏RSR/WBH7l)R61)115)EUl)B3DK2I)H1DBO000000000I
5、功能:清DDROM值和AC值(2)归位RSR/WDB7DB6DB4DBSDB2OBIDBO0D000fl001*功能:光标复位,光标返回到地址 00H(3)输入方式设置RSR/WDU7DB6l)R5DB4OR3l)B2 l)B1 DBIl00000001/DS功能:设置光标,画面移动方式。其中:l/D=1 :数据读写操作后,AC自加一;l/D=0 :数据读写操作后,AC自减一;S=1:数据读写操作,画面平移;S=0:数据读写操作,画面不动;(4) 显示开关控制KS R/WPI17 DB6 DBS I>B4 l)H3 DB2 DBl DBO功能:设置显示、光标和闪烁开关。 其中:D表示显示
6、开关,C表示光标开关,B表示闪烁开关,(5)光标、画面位移D=1为开,C=1为开,B=1为开,D=0C=0B=0为关;为关;为关。DB7 l)H6 DBS DB4 i)B3 l)B2 DB1 E)BOS C: R L功能:光标、画面移动。其中:S/C=1画面移动一个字符位;S/C=O光标移动一个字符位;R/L=1:右移;R/L=O 左移。(6)功能设置RSR/Wl>B7DB6DH5DB-1DIUDB2DE1I00001DLNF*功能:工作方式设置(初始化指令)其中:DL=1,8位数据接口;DL=0,4位数据接口 ;N=1,两行显示;N=0, 一行显示;F=1, 5*10点阵显示;F=0,
7、5*7点阵显示(7) CGRAM地址设置RSRAVDB7DB6 DBS DB4l)B3DB2L>B!l)B00001A5A4A3A2AAO功能:设置CGRAM 地址,A5A0=03FH(8) DDRAM地址设置RSR/Wl)B7l)B6DBSDIUl)R2DBII) RO001A6A5A4A3A2AiAO功能:设置DDRAM地址其中:N=0,行显示 A6A0=04FH ;N=1 两行显示,首行 A6A0=02FH,次行 A6A0=4067H(9)读BF及AC值RS R/WDB7 DB6 1>B5 DB4 DBS DU2 DB1 DB00 1BFAC6 AC5 AC4 AC3AC2
8、AC1 ACO功能:读忙BF和地址计数器AC的值。其中:BF=1: 忙, BF=0:准备好。此时AC值意义为最近一次地址设置(CGRAM 或DDRAM )定义。(10)写数据RS R/WI)B7 DB6 DBS l)K4 l)B3 DIH I>B1l)B01 0数据功能:根据最近设置的地址性质,数据写入 CGRAM或DDRAM中(11)读数据RS KWDB7 DB6 DBS DB4 DB3DB1 DBU1 1垃il:功能:根据最近设置的地址性质,从 CGRAM或DDRAM 数据读出2.2 IIC总线IIC总线是PHILIPS公司推出的两线式串行总线。用于连接微控制器及其外 围设备。IIC
9、总线产生于在80年代,最初为音频和视频设备开发,如今主要在服 务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询, 以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。2.2.1 IIC总线的特点(1) 只要求两条总线线路一条串行数据线SDA 一条串行时钟线SCL。(2) 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址;主机可以作为主发送器或主机接收器。(3) 它是一个真正的多主机总线,如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁防止数据
10、被破坏。(4)串行的8位双向数据传输位速率在标准模式下可达100kbit/s快速模式下可达400kbit/s高速模式下可达4Mbit/s。(5)片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整。连接到相同总线的IC数量只受到总线的最大电容400pF限制。2.2.2 IIC协议总线信号时序(1)数据的有效性SDA线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变。如图 2.2 IIC总线的位传输所示SDASCLdata line|change|stable:|ufdata|ctata valid|Stowed1图2.2 IIC总线的为传输
11、(2)起始和停止条件在IIC总线中唯一出现的是被定义为起始(S)和停止(P )条件(见图2.3)的情 况。其中一种情况是在 SCL线是高电平时,SDA线从高电平向低电平切换,这 个情况表示起始条件。当 SCL是高电平时 SDA线由低电平向高电平切换表示停 止条件。起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态。 在停 止条件的某段时间后,总线被认为再次处于空闲状态。如果产生重复起始(Sr)条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件(S)和重复起始(Sr)条件 在功能上是一样的。因此在本文档的剩余部分,符号(S)将作为一个通用的术语既表示起始条件又表示重复起始
12、条件,除非有特别声明的 (Sr)。如果连接到总线的器件合并了必要的接口硬件, 那么用它们检测起始和停止条件十分简便。但是,没有这种接口的微控制器在每个时钟周期至少要采样SDA线两次来判别有没有发生电平切换。图2.3起始和停止条件(3)总线空闲状态SDA和SCL两条信号线都处于高电平,即总线上所有的器件都释放总线, 两条信号线各自的上拉电阻把电平拉高。(4)数据传输与应答信号ACK发送到SDA线上的数据必须是8位的。每次传输可以发送的数据不受限制每个字节后必须在时钟的第 9个脉冲期间释放数据总线(SDA为高),由接收器 发送一个ACK(把数据总线的电平拉低)来表示数据成功接收。如图2.4 IIC
13、总线响应。DATA QUTPITTBY RECEIVEDDATA OUTPUT BY TRANSMITTERBcknowlfldgBSQL FROM masterLBJ/STARTcandltlonclock puEsftfbraekriDwIffilgarn nnt图2.4 IIC总线响应首先传输的是数据的最高位 (MSB)。如果从机要完成一些其他功能后(例 如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟SCL 保持低电平迫使主机进入等待状态。当从机准备好接收下一个数据字节并释放时钟线 SCL后,数据传输继续。如图2.5 IIC总线数据传输所示。2DArwntH
14、9;ACKSTART ar reosBtM START csnditiDTTacknciMliBifg&mwHtHiQF fr&rT fwaiver! /? rx rx ft I/a /a /3-sv/aIIfiMXSr I ,QF I LfSTOP orre»alM STARTconditjon图2.5 IIC总线数据传输2.2.3 IIC总线器件寻址方式IIC总线上的器件是共用总线的,因此,主器件在进行数据传输前要选择通信 的从器件,即进行总线寻址。总线上的所有器件都有唯一的地址,由器件地址和引脚地址两部分构成,共7位。引脚地址由IIC总线外围器件的地址引脚(A2
15、、A1、 A0)决定的。数据的传输遵循如图2.6完整的数据传送所示,在起始条件之后,发送一个7位 的从机地址,紧接着第8位是数据方向(R/ W) ,0-表示发送数据(写),1-表示 接收数据(读)。数据传输一般由主机产生的停止位(P)终止。但是如果主机仍希望在总线上通讯,它可以产生重复起始条件(Sr),和寻址另一个从机,而不是首先 产生一个停止条件。在这种传输中,可能有不同的读 /写格式结合。如图2.6 IIC总 线完整的数据传输。1 s ! p :L_J LL_UII1 1l1!START ADDRESSRiW ACKHKTAACKDATAACKSTOPconditioncondithn图
16、2.6 IIC总线的数据传输2.3系统电路图系统的电路图如2.7所示:LCDtWWisd喩讥* sr.raasu:.厂L-ezruraHLklVMUST IPC JjilD nipD> 虬新止古 *: giHi s h 疋元"E ;:7"K: ft£O=T2WffJ? i A# 旺JM PZ3RH HMI3nwi>KLMrK.亠号上号1圭圭:图运行状况如图2.8 :2.7系统电路图C1U1rfTAiimwipAOV:«?ndkfB ranya r'-ir. psiffTF viw l?VTI fi i P m | Wm'i&q
17、uot;图2.9运行状态第三章软件设计3.1系统框图本课题的程序设计是在 C语言的基础之上的,可分为两大模块,分别是:(1)IIC协议;(2)LCD显示。程序总体框图如图3.1所示:图3.1总程序框图LCD显示程序框图如图3.2所示:3.2程序清单#in clude<reg52.h>#in clude<stdio.h>#defi ne uint un sig ned int#defi ne uchar un sig ned charuchar code display_1="good mornin g"uchar code display_2=&qu
18、ot;miss you"sbit lcde n=P3八4;sbit lcdrs=P3A5;/sbit lcdrw=P3A6;uchar num;uint i=0;void delayms( uint z)uint x,y;for(x二z;x>0;x-) for(y=110;y>0;y-);void write_com(uchar com)lcdrs=0;lcde n=0;P0=com;delayms(5);lcde n=0;lcde n=1;delayms(5);lcde n=0;void write_data(uchar date)lcdrs=1;PO二date;del
19、ayms(5);lcde n=0;lcde n=1;delayms(5);lcde n=0;void in it()lcde n=0;write_com(0x38); write_com(OxOf); write_com(0x06);write_com(0x01);void mai n()ini t();lcdrw=0;write_com(0x80+0x1a); while(display_1i!二'0')write_data(display_1i); i+;delayms(5);write_com(0x80+0x5f);for(num=0; num <10; nu m+
20、)write_data(display_2 nu m); delayms(5);for(num=0; num <16; nu m+) write_com(0x18); delayms(100);while(1);* File: mai n.c*功能:向LCD输出HelloWorld*/#i nclude "con fig.h"#define rs (1<<8)#define rw (1<<9)#define en (1<<10)#defi ne busy (1<<7)uint8 txt="HelloWorld&
21、quot;/* 名称:ChkBusy()*功能:检查总线是否忙*/void ChkBusy()IODIR=0x700;while(1)IOCLR=rs;IOSET=rw;IOSET二e n;if(!(IOPIN & busy)break;IOCLR=e n;IODIR=Ox7ff;/* 名称:WrOp()*功能:写函数*/void WrOp(ui nt8 dat)ChkBusy();IOCLR二rs;全部清零IOCLR=rw;IOCLR=0xff;先清零IOSET二dat;再送数IOSET二e n;IOCLR=e n;/* 名称:WrDat()*功能:写数据函数*/void WrDat
22、(ui nt8 dat)ChkBusy();IOSET=rs;IOCLR=rw;IOCLR=0xff;先清零IOSET=dat;再送数IOSET二e n;IOCLR=e n; /* 名称:lcdnit()*功能:led初始化函数*/void lcd_i nit(void)WrOp(Ox38);WrOp(0x06);/ 光标加 1WrOp(OxOc);/ 开显示/* 名称:DisText()*功能:显示文本函数*/void DisText(uint8 addr,uint8 *p)WrOp(addr);while(*p !='0')WrDat(*(p+);/*名称:main()功能
23、:显示文本*/int mai n(void)lcd_i nit();IODIR=Ox7ff;设置为输出IOCLR=Ox7ff;DisText(0x86,txt);while(1);/* 文件信息* 文 件 名:target.c*描述:lpc210x (飞利浦的ARM )目标板特殊的代码,包括异常处理程序和目标板初始化程序*每个工程应当具有这个文件的拷贝,用户根据程序的需要修改本文件。*注意:本文件必须以ARM(32位代码)方式编译,否则,必须更改init.s和vector.s文件*别的C代码不必使用ARM( 32位代码)方式编译*/#define IN_TARGET#i nclude &quo
24、t;con fig.h"/* 函数名称:IRQ_Exception*功能描述:中断异常处理程序,用户根据需要自己改变程序*/void _irq IRQ_Exceptio n(void)while(1);/这一句替换为自己的代码/* 函数名称:FIQ_Exception*功能描述:快速中断异常处理程序,用户根据需要自己改变程序*/void FIQ_Exceptio n(v oid)while(1);/这一句替换为自己的代码/* 函数名称:Targetlnit*功能描述:目标板初始化代码,在需要的地方调用,根据需要改变*/void Target In it(void)/*添加自己的代码*
25、/* 函数名称:TargetResetlnit*功能描述:调用main函数前目标板初始化代码,根据需要改变, 不能删除*void TargetResetl nit(void)/*设置系统各部分时钟*/* PLLCON = 1;#if (Fcclk / 4) / Fpclk) = 1VPBDIV = 0;#en dif#if (Fcclk / 4) / Fpclk) = 2 VPBDIV = 2;#en dif#if (Fcclk / 4) / Fpclk) = 4 VPBDIV = 1;#en dif#if (Fcco / Fcclk) = 2 PLLCFG = (Fcclk / Fosc)
26、- 1) | (0 << 5);#en dif#if (Fcco / Fcclk) = 4PLLCFG = (Fcclk / Fosc) - 1) | (1 << 5);#en dif#if (Fcco / Fcclk) = 8 PLLCFG = (Fcclk / Fosc) - 1) | (2 << 5);#en dif#if (Fcco / Fcclk) = 16PLLCFG = (Fcclk / Fosc) - 1) | (3 << 5); #en difPLLFEED = Oxaa;PLLFEED = 0x55;while(PLLSTAT
27、 & (1 << 10) = 0);PLLCON = 3;PLLFEED = 0xaa;PLLFEED = 0x55;*/*设置存储器加速模块*/MAMCR = 2;/MAMCR 8u2 00 MAM 功能被禁止、01 MAM功能部分使能、10 MAM功能完全使能/* MAMTIM 8u3000= 0保留001= 1一段时间内只有1个处理器时钟(cclk)用于MAM 取指指指指010= 2 段时间内只有011 = 3 段时间内只有100= 4 一段时间内只有2个处理器时钟(cclk)用于MAM取3个处理器时钟(cclk)用于MAM 取4个处理器时钟(cclk)用于MAM10
28、1 = 5 段时间内只有5个处理器时钟(cclk)用于MAM 取110= 6 段时间内只有 6个处理器时钟(cclk)用于MAM 取 指。111 = 7 段时间内只有7个处理器时钟(cclk)用于MAM 取 指。*/#if Fcclk < 20000000MAMTIM = 1;#else#if Fcclk < 40000000MAMTIM = 2;#elseMAMTIM = 3;#en dif#en dif/*初始化VIC */VICI ntEn Clr = 0xffffffff;/清所有中断使能,即关中断 VICVectAddr = 0;/默认向量地址寄存器VICIntSelec
29、t = 0;/1 :对应的中断请求分配为 FIQ。0:对应的中 断请求分配为IRQ。/*添加自己的代码*/#i nclude "rt_sys.h"#in clude "stdio.h"#pragma import(_use_ no_semihost in g_swi)#pragma import(_use_two_regi on _memory)int _rt_div0(i nt a)a = a;retur n 0;int fputc(i nt ch,FILE *f)ch = ch;f = f;retur n 0;int fgetc(FILE *f)f
30、= f;retur n 0;int _sys_close(FILEHANDLE fh)fh = fh;retur n 0;int _sys_write(FILEHANDLE fh, const un sig ned char * buf,un sig ned len, int mode)fh = fh;buf = buf;len =le n;mode = mode; retur n 0;int _sys_read(FILEHANDLE fh, un sig ned char * buf, un sig ned len, int mode)fh = fh;buf = buf;len =le n;mode = mode;retur n 0;void _ttywrch(i nt ch)ch = ch;int _sys_istty(FILEHANDLE fh)fh = fh;retur n 0;int _sys_seek(FILEHANDLE fh, lo ng pos)fh = fh;retur n 0;int _sys_en sure(FILEHANDLE fh) fh = fh; retur n 0;long _sys_fle n(FILEHANDLE fh)fh = fh;retur n 0;int _sys_tmp nam(char * n ame, int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北商贸学院《天然药物化学研究前沿》2023-2024学年第二学期期末试卷
- 玉溪农业职业技术学院《岩土工程测试技术》2023-2024学年第二学期期末试卷
- 徐州工程学院《摄影与影像基础》2023-2024学年第二学期期末试卷
- 长治幼儿师范高等专科学校《智能时代下的创新创业实践》2023-2024学年第二学期期末试卷
- 广州幼儿师范高等专科学校《设计素描》2023-2024学年第二学期期末试卷
- 广东江门幼儿师范高等专科学校《科技论文写作与学术规范》2023-2024学年第二学期期末试卷
- 浙江工商大学《跨国企业经营与管理》2023-2024学年第二学期期末试卷
- 第15课《白杨礼赞》教学设计 2024-2025学年统编版语文八年级上册
- 隆化租房合同范本
- 全国江西科学技术版小学信息技术六年级下册第一单元第1课《控制的概念》教学设计
- 四年级下册劳动《小小快递站》课件
- 中国妊娠期糖尿病母儿共同管理指南(2024版)解读
- 春节促销活动方案(7篇)
- 《股市的基础常识》课件
- 火灾自动报警及其消防联动系统技术规格书
- 设备管理人员安全培训
- 山东省房屋市政工程安全监督机构人员业务能力考试题库-上(单选题)
- 2024年六西格玛黄带认证考试练习题库(含答案)
- 《公务员行测必会考试宝典》大全(分类)-2资料分析类试题库(含答案)
- 2024年山东省(枣庄、菏泽、临沂、聊城)中考语文试题含解析
- 财务审计服务方案投标文件(技术方案)
评论
0/150
提交评论