硬件课程设计电子日历时钟.doc

上传人:文库蛋蛋多 文档编号:4150335 上传时间:2023-04-07 格式:DOC 页数:50 大小:2.19MB
返回 下载 相关 举报
硬件课程设计电子日历时钟.doc_第1页
第1页 / 共50页
硬件课程设计电子日历时钟.doc_第2页
第2页 / 共50页
硬件课程设计电子日历时钟.doc_第3页
第3页 / 共50页
硬件课程设计电子日历时钟.doc_第4页
第4页 / 共50页
硬件课程设计电子日历时钟.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《硬件课程设计电子日历时钟.doc》由会员分享,可在线阅读,更多相关《硬件课程设计电子日历时钟.doc(50页珍藏版)》请在三一办公上搜索。

1、 计算机科学与技术学院硬件课程设计报告姓 名: 学 号: 专 业: 计算机科学与技术学院信息安全 班 级: 设计题目: 电子日历时钟系统 指导教师: 2013年 12月 20日课程设计指导教师评阅书指导教师评语:成 绩: 指导教师签字: 年 月 日摘 要 电子日历时钟是日常生活中最常见的时间工具,其功能是为用户提供准确的时间及日期显示、闹钟提醒等。本次课程设计我们主要通过使用LCD液晶显示屏显示时间,脉冲是通过可编程8253芯片来提供的,其时间是通过8255来控制显示的,4*4数字键盘将要修改的时间提供给8255芯片,然后8255芯片控制LCD液晶显示屏修改显示的时间。流程报告中有以下几个方面

2、:任务设计与要求、总体方案、硬件设计、软件设计、实验成果、结论及实验体会。关键词:电子日历时钟系统;8253芯片;8255芯片;LCD液晶显示屏目 录1 设计任务与要求 1.1 提出问题 1.2 分析问题 1.3 解决问题 2 总体方案 2.1 总体方案概述 2.2 8255芯片简介 2.3 8253芯片简介 2.4 74LS273芯片简介2.5 液晶屏LCD简介2.6 软件功能模块图 3硬件设计 3.1 电路连接图 3.2 实物连接图 4 软件设计 4.1 原理流程图 4.2 软件设计模块4.3 软件设计问题分析 4.4 主体流程图 5实验成果 5.1 程序清单与注释 5.2 程序调试与分析

3、 5.3 键盘操作详解 5.4 实验结果6结论 7体会8参考文献1 设计任务与要求1.1提出问题电子时钟日历是采用数字电路实现对年、月、日,时、分、秒、星期,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、实时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。通过对一个学期的微机原理与接口技术的学习,我们可以利用我们所学过的知识来实现电子时钟日历

4、的工作过程。我们选择LCD显示, 8254定时功能、8255基本输入输出的功能来实现数字电子时钟日历的设计。1.2分析问题(1)明确课题对程序功能,运算精度等方面的要求及硬件条件(2)把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3)存储器资源分配(4)编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5)对程序进行汇编,调试和修改,直到程序运行结果正确为止。 设计一个电子时钟,主要以单片机和液晶显示屏LCD为硬件基础,载入用汇编语言编写的程序,加入8253和8255设计出功能完善的电子时钟。该电子时钟通过按键可切换显示时间与日期、月份、日期、年份星期等时间及整点报时

5、的功能。1.3解决问题 电子时钟主要由显示模块、修改时间模块和时钟运算模块三大部分组成。其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。这样,才能循环记时。 利用8253可编程定时/计数器、8255可编程并行接口芯片和LCD显示屏设计一个电子时钟日历的电路,并编制一程序使得该万年历能正常运行。万年历除了能够完成正常的计时、日历、显示功能外,还必须具备正常日期、星期、时间设定功能等。绘制相应的硬件电路原理图并完成接线。编制相应控制程序实现电子钟的计时、显示等功能。控制程序设计规范,应有

6、适当的注释,表达清楚。万年历的显示是由LCD显示屏来显示的。利用8253做定时器,运用其两个端口进行级联,可以输出周期为一秒的脉冲,对其产生的周期脉冲送入8255进行检测,每当检测到有信号,也就是时间过去了一秒钟。采用8255芯片,利用LCD显示时间,将8255的两个输出端口A口与B口实现其位选与段选。在主程序中要分别对8253、8255进行初始化编程。8253的通道0工作于方式2,通道1工作于方式3,对通道0输入频率为1MHz的时钟信号,使通道0和通道1级联,对8253初始化编程,使其输出周期为一秒的信号。时、分、秒分别对应6个存储单元,分别存放时、分、秒的个位和十位。当有一秒的周期信号产生

7、时,将秒的个位加1,判断是否到10,如到了则十位加1,个位清零;再判断十位是否到了6,如十位到了6则十位清零,分的个位加1,同理对分、时作相应处理。LCD显示屏将显示作为子程序,将时、分、秒、年、月、日对应存储单元的内容分别取出并转换成相应的代码,利用缓冲区和延时子程序进行显示。时间的设定则是由8255基本输入输出功能来实现,利用课本中键盘接口电路,来对时间对年月日、时分秒以及星期的设定,然后利用LCD显示屏将设定好的时间显示。报时的功能是用74LS273芯片及蜂鸣器来实现整点报时。2 总体方案2.1总体方案概述本实验采用LCD液晶显示屏作为实验芯片。采用8255来控制LCD的显示时间,用82

8、53来定时刷新显示的时间。并使用74LS273芯片及蜂鸣器来实现整点报时。在本实验中,先采用8253提供一个1秒的脉冲给8255,然后8255在定时的控制LCD显示屏显示的时间。在修改显示屏的时间,用4*4的数字键盘将要修改的时间提供给8255,让后再让8255控制LCD显示屏显示的时间。其中,时间是用24小时制,年月日的形式输出的。2.2 8255芯片简介 2.2.1 8255引脚图解,如图2-1 图2-1 8255引脚图 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵

9、活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。1)与CPU连接部分 根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、

10、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB:编号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。2)与外设接口部分 根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:(1)A口:编号为P

11、A0PA7,用于8255向外设输入输出8位并行数据。(2)B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。(3)C口:编号为PC0PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。3)控制器 8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:(1)A组控制器:控制A口与上C口的输入与输出。(2)B组控制器:控制B口与下C口的输入与输出。2.2.2 8255的命令字D7 D6 D5 D4 D3

12、 D2 D1 D0D7:特征位 D6D5:A组方式00=方式0 ,01=方式1,1X=方式2D4: A口0=输出,1=输入 D3:C口C7C4 0=输出,1=输入D2:B组方式0=方式0,1=方式1D1: B口0=输出,1=输入D0:C口C3C0 0=输出,1=输入D7位为“1”时,为方式选择控制字的标识位。D6、D5位决定A端口的工作方式。D4位决定A端口工作在输入还是输出方式。D3位决定C端口高4位PC7PC4是作为输入端口,还是作为输出端口。D2位用来选择B端口的工作方式。D1位决定B端口作为输入还是输出端口。D0位决定C端口低4位PC3PC0作出为输入,还是输。2.1.3 8255作方

13、式 3种工作方式可用软件编程对控制口设置来指定。三种基本的工作方式为: 方式0基本的输入输出,方式1选通输入输出方式, 方式2双向传送方式。1) 工作方式0(基本输入输出方式)功能:方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,无锁存,C口还具有按位将其各位清0或置1的功能。常用于与外设无条件的数据传送或接收外设的数据。2) 工作方式1(选通输入输出方式) A口借用C口的一些信号线用作控制和状态信号,组成A组,B口借用C口的一些信号线用作控制和状态信号,

14、组成B组。在方式1下,C口的某些位被占用。方式1的输出: 当A口工作于方式1且用作输出口时,C口的PC7线用作输出缓冲器满OBF信号,PC6用作外设收到数据后的响应信号ACK,PC3用作中断请求输出信号线INTR。 当B口工作于方式l且用作输出口时,C口的PC1线用作输出缓冲器满OBF信号,PC2用作外设收到数据后的响应信号ACK,PC0用作中断请求输出信号线INTR。3) 工作方式2 (双向输入输出方式)功能:方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。2.2.3 8255与键盘连接方

15、式如图2-2图2-2 8255与键盘连接方式图2.3 8253芯片简介2.3.1 8253芯片内部结构如图2-3 图2-3 8253芯片内部结构框图 Intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输

16、出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。 执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。2.3.2 8253芯片工作原理 8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数

17、就成为定时。一、8253内部结构8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。1.数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。2.读/写控制 读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片

18、的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1和A0来选择。如表所示。3.通道选择(1) CS#片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。(2) RD#、WR#读/写控制命令,由CPU输入, 低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中, 或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。4.计数通道02 每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完

19、全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000H0FFFFH,最大计数值是0000H,代表65536。 采用BCD码计数时,写入的初值范围为00009999,最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。(特别说明:8253计数器的值先减1再判断是否为0,为0就中断了,所以最大初始值为0,这样减1以后,不为0,所以为最大的,取决于CF标志位) 当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端

20、输入, 每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”, 待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK输入的时钟频在12MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。 而后者是内时钟脉冲进行减“1”计数。作计数器时, 要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时, 计数器的初值即

21、定时系数应根据要求定时的时间进行如下运算才能得到: 定时系数=需要定时的时间/时钟脉冲周期设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式;计数/定时:向通道写入计数值,启动计数操作;读取当前的计数值:向指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。计数到:当计数器减1为0时,通过引脚OUTi向外输出“到”的脉冲信号。计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。

22、5.方式选择控制字 8253的初始化编程就是对其工作方式的确定。具体实现就是在8253上电后,由CPU向8253的控制寄存器写入一个控制字,就可以规定8253的工作方式、计数值的长度以及计数所用的数制等,另外根据要求将计数值写入8253的相应通道。8253的一个方式控制字只决定一个技术通道的工作模式。二、8253的通道工作方式 8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:1.方式0:计数结束则中断 工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUTi输出为低电平;若门控信号GATE为高电平,当CPU利

23、用输出指令向该通道写入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数, 直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUTi端输出的高电平一直维持到下次再写入计数值为止。 在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数; 计数值将保持GATE有效时的数值不变, 待GATE重新有效后,减“1”计数继续进行。显然,利用工作方式0既可完成计数功能, 也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从

24、CLKi端输入, 由它对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变, 表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数, 定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi输出正跳变,表示定时时间到。 有一点需要说明,任一通道工作在方式0情况下, 计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。 2.方式1:单脉冲发生器 工作方式1被称作可编程单脉冲发生器。进入这种工作方式, CPU装入计数

25、值n后OUTi输出高电平, 不管此时的GATE输入是高电平还是低电平, 都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUTi输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。 如果在减“1”计数过程中, GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE的上升沿,则从初值开始重新计数, 其效果会使输出的单脉冲加宽,如教材图9-22(b)中的第2个单脉冲。 这种工作方式下

26、,计数值也是一次有效,每输入一次计数值,只产生一个负极性单脉冲。3.方式2:速率波发生器 工作方式2被称作速率波发生器。进入这种工作方式, OUTi输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUTi保持为高电平不变; 待计数值减到“1”和“0”之间, OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLKi周期, 重复周期为CLKi周期的n倍。 如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计

27、数。这样会改变输出脉冲的速率。 如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。4.方式3:方波发生器 工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUTi输出低电平, 装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新

28、置入计数值n,实现循环计数。这时OUTi端输出的周期为nCLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为nCLKi周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。 如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。 从上述各工作方式可看出,GATE作为各通道的门控信号,对于各种不同的工作方式,它所起的作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保证

29、各通道的正常操作。5.读取计数器的当前值直接读计数器:输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定。先锁存再读取:通过方式选择控制字对指定通道(SC1、SC0)的计数值锁入锁存器(RL1RL0=00), 锁存器一旦锁存了当前计数值,就不再随计数器变化直到被读取。读计数器通道(有锁存器)。2.4 74LS273芯片简介(1).1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;

30、 (2).当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上. 图2-4为74LS273的引脚图及其功能。 图2-4 74LS273的引脚图及其功能(3).74ls273管脚功能: 1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。2.5液晶屏LCD简介2.5.1工作原理 简单的来说,屏幕能显示的基本原理就是在两块平行板之间填

31、充液晶材料,通过电压来改变液晶材料内部分子的排在列状况,以达到遮光和透光的目的来显示深浅不一,错落有致的图象,而且只要在两块平板间再加上三元色的滤光层,就可实现显示彩色图象。认识了它的结构和原理,了解了它的技术和工艺特点,才能在选购时有的放矢,在应用和维护时更加科学合理。液晶是一种有机复合物,由长棒状的分子构成。在自然状态下,这些棒状分子的长轴大致平行。LCD第一个特点是必须将液晶灌入两个列有细槽的平面之间才能正常工作。这两个平面上的槽互相垂直(90度相交),也就是说,若一个平面上的分子南北向排列,则另一平面上的分子东西向排列,而位于两个平面之间的分子被强迫进入一种90度扭转的状态。由于光线顺

32、着分子的排列方向传播,所以光线经过液晶时也被扭转90度。但当液晶上加一个电压时,分子便会重新垂直排列,使光线能直射出去,而不发生任何扭转。LCD的第二个特点是它依赖极化滤光片和光线本身,自然光线是朝四面八方随机发散的,极化滤光片实际是一系列越来越细的平行线。这些线形成一张网,阻断不与这些线平行的所有光线,极化滤光片的线正好与第一个垂直,所以能完全阻断那些已经极化的光线。 只有两个滤光片的线完全平行,或者光线本身已扭转到与第二个极化滤光片相匹配,光线才得以穿透。LCD正是由这样两个相互垂直的极化滤光片构成,所以在正常情况下应该阻断所有试图穿透的光线。但是,由于两个滤光片之间充满了扭曲液晶,所以在

33、光线穿出第一个滤光片后,会被液晶分子扭转90度,最后从第二个滤光片中穿出。另一方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光片挡住。总之,加电将光线阻断,不加电则使光线射出。当然,也可以改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。但由于液晶屏幕几乎总是亮着的,所以只有加电将光线阻。2.5.2 LCD与8255芯片的连接方式如图2-5 图2-5 LCD与8255芯片的连接图2.6软件功能模块图(图2-6)时间预置定时报时定时启动时间修改键盘操作时间显示电子日历时钟系统 图2-6 软件功能模块图图解说明:1.先采用8253提供一个1秒的

34、脉冲给8255,然后8255在定时的控制LCD显示屏显示的时间2.用4*4的数字键盘将要修改的时间提供给8255,让后再让8255控制LCD显示屏显示的时间。材料清单:LCD液晶显示屏(ST7920A控制芯片)*1,8255芯片*1,8253芯片*1,4*4键盘*1,74LS273*1,蜂鸣器*1,导线若干。3 硬件设计3.1电路连接图(图3-1) 图3-1电路连接图3.2实物连接图本实验采用可编程芯片8255,8253作为实验芯片。用LCD液晶显示屏来显示时间,用4*4键盘来修改时间。并且利用74LS273以及蜂鸣器来实现整点报时。本实验的试验箱硬件电路如图3-2。 图3-2实物连接图 4

35、软件设计4.1原理流程图4.1.1“时”加一流程图(图4-1) 图4-1“时”加一流程图上述流程图是对万年历中“时”加一的流程图,年月日以及分秒与之类似,不在重复“时”减一流程图(图4-2) 图4-2 “时”减一流程图上述流程图是对万年历中“时”减一的流程图,年月日以及分秒与之类似,不在重复。4.1.2 键盘原理流程图(图4-3) 图4-3 键盘原理流程图4.2软件设计模块:(1)8255实现键盘扫描判断键是否按下(2)8253 加入1m脉冲5v电压实现脉冲送入8255(3)可通过4*4数字键盘来修改LCD显示屏上的时间(4)LCD显示屏上显示的时间是与现实时间是一致的。(5)74LS273及

36、蜂鸣器实现整点报时。4.3软件设计问题分析软件在设计过程中主要问题就是键盘扫描以及如何加时间、键盘很好的加减时间、月份的30 31 或更特殊的时间的设定。怎样通过编程8255,来接收8253的脉冲,判断脉冲,进而刷新显示的时间;其次就是通过4*4数字键盘的输入给8255芯片,然后使得LCD显示屏上的时间更变。4.4主体流程图(图4-4) 图4-4 主体流程图5实验成果5.1程序清单与注释PORT_A EQU 288HPORT_B EQU 289HPORT_C EQU 28AHPORT_KZ EQU 28BHDATA SEGMENT; 0 1 2 3 4 5 6 7TABLE1 DB 77H,7

37、BH,7DH,7EH,0B7H,0BBH,0BDH,0BEH; 8 9 A B C D E F DB 0D7H,0DBH,0DDH,0DEH,0E7H,0EBH,0EDH,0EEHHZ_SEC02 DW 0A3B0HHZ_SEC01 DW 0A3B0HHZ_MIN02 DW 0A3B0HHZ_MIN01 DW 0A3B0HHZ_HOU02 DW 0A3B0HHZ_HOU01 DW 0A3B0HHZ_TIM DW 0A1C3HHZ_SYM DW 0A1C3HHZ_YEAR02 DW 0A3B0HHZ_YEAR01 DW 0A3B0HHZ_MON02 DW 0A3B1HHZ_MON01 DW 0A

38、3B0HHZ_DAY02 DW 0A3B1HHZ_DAY01 DW 0A3B0HHZ_DATE DW 0A3AFHHZ_WEEK DW 0A3B1HHZ_WEEK01 DW 0D0C7HHZ_WEEK02 DW 0C6DAHHZ_X DW 0A1E1HHZ_W DW 0CDF2HHZ_N DW 0C4EAHHZ_R DW 0C8D5HHZ_L DW 0C0FAHHZ_ADR DB ?DATA ENDSSTACK1 SEGMENT STACKDW 50 DUP(0)TOP_STAC LABEL WORDSTACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,STACK1MOV SS,AXLEA SP,TOP_STACMOV AX,DATAMOV DS,AXMOV DX,PORT_KZ ;8255初始化MOV AL,80HOUT DX,ALCALL CLEAR ;LCD清除CALL FUCTION_A ;日期显示;8253的编程MOV DX,283H

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号