![单片机课程设计(论文)基于LCD液晶显示器课程设计_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/1e6df1d8-e63f-48c2-b405-6b385f227a14/1e6df1d8-e63f-48c2-b405-6b385f227a141.gif)
![单片机课程设计(论文)基于LCD液晶显示器课程设计_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/1e6df1d8-e63f-48c2-b405-6b385f227a14/1e6df1d8-e63f-48c2-b405-6b385f227a142.gif)
![单片机课程设计(论文)基于LCD液晶显示器课程设计_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/1e6df1d8-e63f-48c2-b405-6b385f227a14/1e6df1d8-e63f-48c2-b405-6b385f227a143.gif)
![单片机课程设计(论文)基于LCD液晶显示器课程设计_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/1e6df1d8-e63f-48c2-b405-6b385f227a14/1e6df1d8-e63f-48c2-b405-6b385f227a144.gif)
![单片机课程设计(论文)基于LCD液晶显示器课程设计_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/1e6df1d8-e63f-48c2-b405-6b385f227a14/1e6df1d8-e63f-48c2-b405-6b385f227a145.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要在日常生活中,我们对液晶显示(LCD)并不陌生LCD智能显示模块不但可以显示字符,汉字和图形,同时具有可编程功能,且与单片机接口比较方便,如液晶显示模块已作为很多电子产品的通用器件,如在计算器,万用表,电子表及很多家用电子产品中都可以看到,显示的主要是数字,专用符号和图形。在单片机系统中应用中用液晶显示作为输出器件有很多优点,如显示质量高,不闪烁;数字接口式,使得和单片机的接口更加简单可靠,操作方便;体积小,重量轻;而且相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动TC上,因而耗电量比其它显示器要少得多。关键字:单片机 专用字符 液晶显示器(LCD1602) 目 录摘要1第一章
2、绪论11.1 课题背景21.2 课题设计目标21.3 课题设计的主要工作3第二章 硬件设计42.1 LCD1602 简介52.1.1 LCD1602引脚功能72.2 IIC总线102.2.1 IIC总线的特点112.2.2 IIC协议总线信号时序92.2.3 IIC总线器件寻址方式72.3 系统电路图7第三章 软件设计73.1 系统框图73.2 程序清单7第四章 调试7第五章 总结7参考文献7致 谢71绪论1.1课题背景当今时候是一个信息化的时代,信息的重要性不言而喻的,获取手段显得尤其重要。人们所接受的信息有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。在当代显
3、示技术中,主流的有LED显示屏和LCD液晶显示,而在这些显示技术中,尤其以液晶显示器LCD(Liquid crystal display)为代表的平板显示器发展最快,应用最广。LCD是典型的发光器件,它一材料科学为基础,综合利用了精密机械,光电及计算机技术,并正在微机械,微光学,纤维光学等前沿领域研究基础上,向高集成化,智能化方向发展。液晶显示技术发展迅猛,市场预测表明,液晶显示平均年销售呈增长10%13%,不久的将来有可能取代CRT,成为电子信息产品的主要显示器件,另外,液晶显示器对空间电磁辐射的干扰不敏感,且在紧凑的仪器空间不需要专门的屏蔽保护,因而课大大简化仪器的结构和制造成本,在各种便
4、携式仪器,仪表将会越来越广泛的应用。特别是在电池供电的单片机产品中,液晶显示更是必选的显示器件。1.2课题设计目标本设计是基于AT89C51芯片单片机为主控芯片,结合1602液晶显示模板等外围电路,通过软件程序,来实现液晶显示英文字母和数字。本次设计的目的在于利用单片机和LCD1602来显示英文字母和数字。1.3课程设计的主要工作(1)对系统的各个模块的各个功能进行深入分析和研究,在对课题所采用的方案进行可行详细的研究后设计具体功能电路。(2)熟悉所选芯片的功能并完成具体电路设计。(3)对系统的最终指标进行测试,针对系统的不足,进行分析并提出一些改正方法。2 单片机的概述目前单片机渗透到了我们
5、生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及远程控制玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域中的机器人、智能仪表、医疗器械了。单片机具有结构简单、控制功能强、可靠性高、体积小、价格低等优点,因而在许多行业都得到了广泛应用,并且在诸多领域中都发挥了无可比拟的巨大作用。2.1单片机的定义和特点2.1.1单片机的定义单片机即单片微型计算机,是把中央处理器、存储器、定时/计数器、
6、输入输出接口都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。单片机也被称为微控制器(Microcontroller),是因为它最早被用于工业控制领域。单片机的芯片内仅由CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。2.1.2单片机的特点单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。单片机应用在检测、控制领域中,具有如下特点:1、体积小、控制功能强、成本低。因而可以方便地组装各种智能式控制设备和仪器,做
7、到机、电、仪一体化。2、易扩展。很容易构成各种规模的应用系统,为应用系统的设计和生产带来极大方便。3、可靠性好、使用温度范围宽。在各种恶劣的环境下都能可靠的工作,这是其他机种无法比拟的。4、种类多,型号全。很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。5、低功耗。现在新型单片机的功耗越来越小,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA降到µA级,工作频率从十几兆可编程到几十千赫兹。特别是很多单片机都设置了多种工作方式,这些工作方式包括等
8、待、暂停、睡眠、空闲、节电等。6、可以采用C语言开发环境,具有友好的人机互交环境。大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。2.1.3单片微型计算机简介单片微型计算机(Single Chip Micro Computer)简称单片机,它是一种把组成微型计算机的各功能部件:中央处理单元CPU、一定容量的随机存储器RAM和只读存储器ROM、I/O接口电路、定时器/计数器以及串行口等制作在一块芯片中的计算机,从而实现微型计算机的基本功能5。单片机具有结构简单、控制功能强、可靠性高、体积小、价格低等特点,在家用电器、智能化仪器、工
9、业控制以及火箭导航尖端技术领域都发挥着十分重要的作用6。单片机的内部结构示意图如下图2.2所示。 单片机 接口电路及外设等 + + 软 件 单片机应用系统 图2.2 单片机内部结构示意图 图2.3 单片机应用系统组成示意图单片机实质上是一个芯片,在实际应用中通常很难直接把单片机和受控对象进行电气连接,而是必须外加各种扩展接口电路以至外部设备,连同受控对象和单片机程序软件构成一个单片机应用系统。单片机应用系统是以单片机为核心,配以输入、输出、显示、测量和控制等外围电路和软件能实现一种或多种功能的实用系统。单片机应用系统的组成示意图如上图2.3所示7。2.2单片机的发展现状和发展趋势2.2.1单片
10、机的发展现状单片机技术在不断的发展,它反映在内部结构、功率消耗、外部电压等级以及制造工艺上。在这几方面,较为典型地说明了数字单片机的技术水平。在目前,用户对单片机的需要越来越多,但是,要求也越来越高。下面分别就这三个方面说明单片机的技术进步状况。 1、内部结构的进步 单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器,比较器,A/D转换器,D/A转换器,串行通信接口,Watchdog电路,LCD控制器等。有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN。例如,Infineon公司的C 505C,C515C,C167CR,C167CS-32FM,8
11、1C90。因此,这类单片机十分容易构成网络。特别是在控制,系统较为复杂时,构成一个控制网络十分有用。 为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了专门用于变频控制的脉宽调制控制电路,这些单片机有Fujitsu公司的MB89850系列、MB89860系列;Motorola 公司的MC68HC08MR16、MR24等。在这些单片机中,脉宽调制电路有6个通道输出,可产生三相脉宽调制交流电压,并内部含死区控制等功能。 特别引人注目的是:现在有的单片机已采用所谓的三核(TrCore)结构。这是一种建立在系统级芯片(System on a chip)概念上的结构
12、。这种单片机由三个核组成:一个是微控制器和DSP核,一个是数据和程序存储器核,最后一个是外围专用集成电路(ASIC)。这种单片机的最大特点在于把DSP和微控制器同时做在一个片上。这是目前单片机最大的进步之一。这些单片机都是高档单片机,MCU都是32位的,而DSP采用16或32位结构,工作频率一般在60MHz以上。 2、功耗、封装及电源电压的进步 现在新的单片机的功耗越来越小,特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。而单片机的封装水平也大大提高,随着贴片工艺的出现,单片机也大量采用了各种合符贴片工艺的封装方式出现,以大量减少体积。在这种形势中
13、,Microchip公司推出的8引脚的单片机特别引人注目。这是PIC12CXXX系列。它含有0.52K程序存储器,25128字节数据存储器,6个I/O端口以及一个定时器,有的还含4道A/D ,完全可以满足一些低档系统的应用。扩大电源电压范围以及在较低电压下仍然能工作是今天单片机发展的目标之一。目前,一般单片机都可以在3.35.5V的条件下工作。而一些厂家,则可以生产出在2.26V的条件下工作的单片机。 3、工艺上的进步 现在的单片机基本上采用CMOS技术,但已经大多数采用了0.6um以上的光刻工艺,有个别的公司,如Motorola公司则已采用0.35um甚至是0.25um技术。这些技术的进步大
14、大地提高了单片机的内部密度和可靠性。2.2.2单片机的发展趋势单片机在目前的发展形势下,表现出几大趋势:1、可靠性及应用越来越水平高,和互联网连接已是一种明显的走向;2、所集成的部件越来越多,NS(美国国家半导体)公司的单片机已把语音、图像部件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了。如果从功能上讲它可以讲是万用机。原因是其内部已集成上各种应用电路;3、功耗越来越低和模拟电路结合越来越多。随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:单片机与微机系统之间的距离越来越小,甚至难以辨认。2.3编程语言的选择在
15、1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。在众多的程序设计语言中,C语言简洁紧凑,语言表达能力强,其结构化的流程控制有助于编制结构良好的程序。C语言程序经编译后生成的目标程序代码效率高,几乎可以与汇编语言媲美。C语言既具备高级语言使用方便、接近自然语言和数学语言的特性,同时也具备对计算机硬件系统的良好操纵和控制能力。C语言可移植性好,一个C语言源程序可以不做改动,或者稍加改动,就可以从一种型号的计算机移转到另外一种型号的计算机上编译运行。因此,C语言被广泛应用于各类系统软件和应用软件的
16、开发。所以本系统以C语言进行软件设计,增加了程序的可读性和可移植性,便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁了。2.4 主控单片机80C51是一种高性能CMOS8位微处理器,俗称单片机,它带有4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组
17、合在单个芯片中,ATMEL的80C51是一种高效微控制器, 80C2051是它的一种精简版本。80C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案8。80C51引脚即外观如图2.4所示。图2.4 80C51引脚外观图2.5 80C51接口说明Vss(20脚):接地。VCC(40脚):主电源+5V。XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚):接外部晶体的另一端。在片内它是个振荡电路反相放大器输出端,振荡电路的频率是晶体振荡频率。若需
18、采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。RST(9脚):单片机刚刚接上电源时,其内部各寄存器处于随机状态,在该脚输入24个时钟周期宽度以上的高电平将使单片机复位。PSEN(29脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。CPU在向片外存储器取指令期间,PSEN信号在12个时钟周期中两次生效。不过,在访问片外数据存储器时,这两次有效PSEN信号不出现。PSEN端同样可驱动8个LSTTL负载。我们根据PSEN、ALE和XTAL2输出端是否有信号输出,可以判别80C51是否在工作。ALE/(30脚):地址锁存控制信号(A
19、LE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。EA/VPP(31脚):当EA端输入高电平时,CPU从片内程序存储器地址0000H单元
20、开始执行程序。当地址超出4KB时,将自动执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时,此引脚用于施加编程电压VPP。输入/输出引脚:(1) P0.0P0.7 (39脚32脚)。(2) P1.0P1.7 (1脚 8 脚)。(3) P2.0P2.7 (26脚21脚)。(4) P3.0P3.7 (10脚17脚)。80C51单片机P3口的第二功能如表2.1所示。表2.1 80C51单片机P3口第二功能引脚号第二功能P3.0RXD(串行输入线)P3.1TXD
21、(串行输出线)P3.2(外部中断0输入线)P3.3 (外部中断0输入线)P3.4T0(定时器0外部计数脉冲输入)P3.5T1(定时器1外部计数脉冲输入)P3.6(外部数据存储器写选通信号输出)P3.7(外部数据存储器写选通信号输出)一个1LCD1602显示系统由单片机80C51,LCD1602模块,单片机的时钟复位电路和P0口的上拉电阻组成。2.6本章小结本章主要介绍了单片机的定义和特点,重点描述了单片机发展现状和未来的发展趋势,最后简单地介绍了选择的编程语言。3设计要求和方案论证3.1 设计要求(1)设计键盘,键盘功能包括模式选择输入。 (2)选择LCD1602显示器,不同方式显示内容。(3
22、)设计单片机及相应的外围接口实现LCD显示驱动模块的电路设计。(4)编制相应的控制软件,完成Proteus软件仿真和实物。3.2 单片机芯片的选择方案和论证方案一:8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还需要另外购买其他的芯片,从而造成成本比较高,且性价比低。方案二:80C51芯片内部有ROM,且片内ROM全部采用Flash ROM,它能够在3V的超低压工作,与51系列单片机完全兼容。AT89C51是一种带4K字节FLASH存储器( FPEROMFlash Programmable and Erasable Read Only Memory)的低
23、电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。因此,本设计选择80C51芯片。3.3 显示模块选择方案和论证方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显
24、示。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。 方案三:采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。所以在此设计中采用1602液晶显示屏。3.4电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用STC89C52作为主控制芯片,LCD1602作为显示模块。3.5本章小结 本章主要介绍了系统要实现的功能和万年历系统硬件平台的选择,比较了主控模块,时钟模块,显示模块,温度
25、采集模块中不同器件的优劣,最后确定了电路设计的整体方案。这也是完成设计的先决条件。4硬件模块设计4.1 LCD显示模块4.1.11602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm4.1.2在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口液晶显示器都是数
26、字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。4.1.3 LCD1602引脚功能LCD1602引脚如图2.1所示图2.1 LCD1602引脚图1602点阵字符液晶模块(LCM)引脚及功能:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3
27、VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表10-13:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,
28、当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。4 .1.4 LCD1602显示模指令集(1)清屏功能:清DDROM值和AC值(2)归位功能:光标复位,光标返回到地址00H(3)输入方式设置功能:设置光标,画面移动方式。其中:I/D=1:数据读写操作后,AC 自加一;I/D=0:数据读写操作后,AC 自减一;S=1:数据读写操作,画面平移;S=0:数据读写操作,画面不动;(4)显示开关控制功能:设置显示、
29、光标和闪烁开关。其中: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 位数据接口;DL=0,4 位数据接口;N=1,两行显示;N=0,一行显示;F=1,5*10 点阵显示;F=0,5*7 点阵显示。(7)CGRAM 地址设置功能:设置CGRAM 地址,A5A0=03FH。(8)DDRAM 地址
30、设置功能:设置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)读数据功能:根据最近设置的地址性质,从CGRAM 或DDRAM 数据读出。4.1.5 基本操作时序表读写操作时序如图10-55和10-56所示:图10-55 读操作时序图10-56 写操作时序4.1
31、.6LCD1602显示电路4.2 矩阵键盘4.2.1矩阵键盘扫描原理方法一: 逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过接收到的数据是哪一位为0来判断是哪一个按键被按下。方法二: 行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时,说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。4.2.2 矩阵键盘工作原理在一般应用
32、中,键盘按其接线方法有:直接式键盘、行列式键盘(又称矩阵键盘)、串转并键盘等;在实验箱中,采用4×4的行列式键盘,即键盘排列为4行、4列,共16个按键。 4×4 键盘的电路图如图 2-1 所示,分别定义这 16 个按键盘为 KEY116。图 2-1 4×4 键盘电路图图中 C1C4 为 4×4 键盘的列扫描线,L1L4 为 4×4 键盘的行扫描线。 行列式键盘的操作一般完成两个任务,一是检测是否有键被按下,二是识别被按下的键是哪一个。一般会采用行列扫描法,可以同时完成上述两项任务。基本的扫描原理是: 先使行扫描线输出高电平,然后读取列扫描线的状
33、态,得到与按键横向位置对应的4位列码;如果是有键被按下时,则对应的列扫描线必然会被读回高电平,如果是无键盘按下时,则读取的列码必定全是0。这也就可以判断有无按键的按下了。 一旦检测到有键按下时,还需要有一个延时的消除抖动的操作,以消除按键时带有的抖动信号;一般延时在15ms左右即可。延时后,如还能检测到有按键按下,则可确定当前是有键按下,可进入获取键值的操作。 获取键值时,采用行列依次扫描的方法。首先使第一行扫描线输出高电平,其它的行扫描线输出低电平,然后读取列扫描线的状态,得到列码;如果本行无键按下,则得到的列码为全0,并扫描下一行;如本行有键按下,则会读取到对应的列码值,并退出扫描,进行键
34、值计算。当第一行扫描没有检测到按键时,则扫描下一行,即使第二行扫描线输出高电平,其它行扫描线输出低电平,其它与前面所述类似。 在行列扫描时,可以用一个变量记录下当前扫描的行号,在计算键值时可以利用此行号以及列码得知是哪一行、哪一列上的按键按下了。如:当 S5 按下时,应该检测出第二行扫描时读到有效的列码 0001(C4C1)。4.2.3 键盘电路的设计键盘可分为两类:编码键盘和非编码键盘。编码键盘是较多按键(20个以上)和专用驱动芯片的组合,当按下某个按键时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件干预。通用计算机使用的标准键盘就是编码键盘。在智能仪器中,使用并行接口芯
35、片8279或串行接口芯片HD7279均可以组成编码键盘,同时还可以兼顾数码管的显示驱动,其相关的接口电路和接口软件均可在芯片资料中得到。当系统功能比较复杂,按键数量很多时,采用编码键盘可以简化软件设计。非编码键盘成本低廉。从成本角度出发,本设计选用的是非编码键盘。如图4.2.3 图4.2.3 6*6矩阵键盘电路 5 软件设计5.1 LCD1602的软件规划LCD1602显示的程序主要包括以下功能模块: 1、读键程序、判键程序段等部分; 2、基于LCD液晶显示屏的显示模块; 3、主模块,为系统的初始化5.2 键盘扫描的程序设计 键盘扫描子程序,首先读出P1的低四位,然后读出P1口的高四位。然后键
36、值并显示缓存。然后将键如的值转换为ASCII码然后就可以软件来设置硬件按键各个键代表的内容。 读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。第一次所有行线均输出低电平,从所有读入键盘信息(列信息);第二次所有列线均输出低电平,从所有行线读入键盘信息(行信息)。数字键按下则将相应的数字送入缓存区,功能键按下则执行相应的程序。 5.3 显示模块的程序设计显示模块程序首先要对显示模块进行初始化;然后控制光标的位置;定义液晶显示的控制端口,用指令完成;然后设置清屏、关闭显示、归位、开显示、显示位置的首地址等等。显示模块的流程图如图5.3所示:5.4系统总框图开 始LCD初始化写第
37、一行代买是否写完写第二行代买停在这里显示是否写完N整个屏幕向右移NY6 系统仿真Proteus内容全面包括其能实验的内容包括软件部分的汇编、C51 等语言的调试过程,也包括硬件接口电路中的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,因此采用Proteus 仿真软件进行实验教学,克服了用单片机实验教学板教学中硬件电路固定、学生不能更改、实验内容固定等方面的局限性,可以扩展学生的思路和提高学生的学习兴趣。6.1 仿真环境介绍Proteus是目前最好的模拟单片机外围器件的工具,它可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,L
38、ED,AD/DA,部分SPI器件,部分IIC器件)14。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。KeilC51是美国KeilC S
39、oftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC5软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。6.2 仿真过程与结果测试利用以上两种软件,就可以进行仿真了。这里以一个LCD1602字符显示为例说明。6.2.1 绘制电路图运行PROTEUS的I
40、SIS程序后,进入该仿真软件的主界面。在工作前,要设置VIEW菜单下的捕捉对齐和SYSTEAM下的颜色、图形界面大小等项目。通过工具栏中的P (从库中选择元件命令)命令,在PICK DEVICES窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,将电路图绘制完毕。6.2.2 HEX文件的生成利用KEIL51生成HEX文件。具体方法如下:(1) 打开单片机软件开发系统KEIL uVision,单击“uVision”菜单中的“PROJECT”,在此下拉菜单中单击“NEW PROJECT”后。弹出“CREAT NEW PROJECT”对话框。键入新建项目名称。(2) 键
41、入新建项目名并单击“确定后”,在弹出的“SELECT DEVICE”对话框中选择合适的单片机型号,如80C51。(3) 单击“uVision”菜单中的“FILE”,在此下拉菜单中选择“NEW”后,打开一个空的文本编辑口,在此窗口总键入程序,创建新的源程序“一个LCD1602字符显示.C”(如是汇编语言程序的话为“一个LCD1602字符显示.ASM)文件。(4) 在左边的“PROJECT”窗口的“FILE”页中单击文件组,再单击鼠标右键后,在弹出的窗口中选中“ADD FILES TO GROUP” “SOURCE GROUP1”选项,将“一个LCD1602字符显示.C”程序导入到“SOURCE
42、GROUP 1”中。(5) 在“PROJECT”下拉菜单中,选择“OPTIONS FOR TARGET”对话框,在此对话框中“OUTPUT”选项卡中的“CREAT HEX FILE”选项。(6) 在“PROJECT”下拉菜单中,选择“REBUILD ALL TARGET FILES”项。若程序编译成功,将生产“一个LCD1602字符显示.HEX”文件。6.2.3 调试与结果 在PROTEUS ISIS编辑窗口中,单击鼠标右键选中单片机80C51并单击鼠标左键,弹出“EDIT COMPONET”对话框,在此对话框的“CLOCK FREQUENCY”栏中设置单片机晶振频率为12MHz,在“PROG
43、RAM FILE”栏中单击浏览选中KEIL生成的HEX文件15。单击运行,就可以看到仿真的结果了。本设计中显示的是“welcome!”的字样,下图4.1为显示“welcome!”字样。4.3 小结采用PROTEUS进行单片机仿真,可以大大缩短单片机的开发周期。它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。本系统仿真结果,满足设计需求。实际操作灵活,使用方便。7 仿真结果和实物验证7.1动态显示系统仿真电路图7.1.1移动显示仿真结果图实物验证7.1.2滚动显示实物验证7.2 6*6矩阵键盘显示系统电路仿真结果9 总 结通过本次课程设计,我熟悉
44、和掌握了IIC 的原理及其应用,能够初步使用LCD1602 显示字符等。本课题的程序设计是基于C语言的,C 语言具有方便,快速,高效。当然本设计也存在不足之处,由于LCD1602 只能显示字符,而不能显示汉字和图片,如果想要显示汉字和图片的话,需要用到12832 等的LCD 模块,这是本设计的一大缺陷。另外,这次课题中的程序设计中,对时序要求很严格,尤其是IIC。通过本次课程设计,我有熟悉和掌握了单片机开发软件Keil和仿真软件Proteus。参考文献: 1 楼然苗单片机课程设计指导M北京:北京航空航天大学出版社,2007 2 何立民单片机实验与实践教程M北京:北京航空航天大学出版社,2004致 谢在这次课程设计的撰写过程中,我得到了许多人的帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来就业市场的变化及职业定位分析
- 现代建筑设计与智能化技术的融合实践
- 生态文明产业园的教育培训与人才培养策略
- 团委国庆节观影活动方案
- 术后康复神经外科手术患者的居家照护
- Unit 2 Wildlife Protection Reading and Thinking 第二课时说课稿-2024-2025学年高一英语人教版(2019)必修第二册
- 2024秋八年级历史上册 第一单元 中国开始沦为半殖民地半封建社会 第3课 太平天国运动说课稿 新人教版001
- 2024年五年级英语上册 Unit 6 My e-friend第1课时说课稿 牛津译林版
- 《100 以内的加法和减法(二)-进位加》(说课稿)-2024-2025学年二年级上册数学人教版001
- 2024年一年级品生下册《春天在哪里》说课稿 山东版
- 抖音丽人行业短视频直播项目运营策划方案
- 精神病服药训练
- (2024年)知识产权全套课件(完整)
- 2024-2030年中国城市轨道交通行业发展现状分析及市场供需预测报告
- 预防静脉血栓疾病知识讲座
- 《社区康复》课件-第十一章 其他疾病的社区康复实践
- 2024年专升本考试-专升本考试(机械设计基础)笔试历年真题荟萃含答案
- 药物过量的护理查房
- 部编版五年级语文下册第七单元大单元教学设计
- 松茸推广引流方案
- 项目式学习:教师手册
评论
0/150
提交评论