嵌入式系统电子钟毕业论文

上传人:1888****888 文档编号:36930612 上传时间:2021-11-01 格式:DOC 页数:30 大小:210.52KB
收藏 版权申诉 举报 下载
嵌入式系统电子钟毕业论文_第1页
第1页 / 共30页
嵌入式系统电子钟毕业论文_第2页
第2页 / 共30页
嵌入式系统电子钟毕业论文_第3页
第3页 / 共30页
资源描述:

《嵌入式系统电子钟毕业论文》由会员分享,可在线阅读,更多相关《嵌入式系统电子钟毕业论文(30页珍藏版)》请在装配图网上搜索。

1、内蒙古科技大学本科生毕业设计(论文)摘 要 嵌入式计算机系统的出现,是现代计算机发展史上的里程碑事件,嵌入式系统诞生于微型计算机时代,与通用计算机的发展道路完全不同,形成了独立的单芯片的技术发展道路。由于嵌入式系统的诞生,现代计算机领域中出现了通用计算机和嵌入式计算机的两大分支。不可兼顾的技术发展道路,形成了两大分支的独立发展道路:通用计算机按照高速,海量的技术发展;嵌入式计算机系统则为满足对象系统嵌入式智能化控制要求发展。由于独立的发展分工,20世纪末,现代计算机的两大分支都得到了迅猛的发展。 1978年Intel公司开发出比8086性能更出色的8088处理器,并成功将其销售给IBM全新个人

2、计算机部门,使得8088成为全新热销的IBM PC的大脑。从8088开始,个人计算机的概念开始在全世界范围内发展起来。标志着一个新时代的开始。虽然处理器的发展速度非常迅猛,但是作为里程碑式的8088,仍然作为实验工具被使用。本文就是基于8088处理器的电子钟的开发。本文利用Protel绘制原理图,使用微机原理仿真试验箱,利用系统提供的8253计数器/定时器,中断器8259,6个LED实现了电子钟的基本功能,在电子钟上显示时,分,秒,并具有设置时间,计时,闹钟的功能。使用汇编语言进行编程。关键词: 8088处理器,电子钟,8253计数器/定时器,8259中断器AbstractThe embede

3、d computer systems appearance is a milestone in the history of computer.The embeded system is born in the microcomputer time. Its development is different from the general computer.It develops the technique of the single chip. The embeded system makes the computer development into two different bran

4、ches. General computer develops the technique of high speed and massive memory. Embeded system develops the technique to satisfy the development of the intellectualization control.As a result of the development ,both of the branches have developed fast till 20th century. In 1978 Intel Corporation de

5、veloped 8088 processors. The 8088 processor is more superior than the 8086 processor. The Intel Corporation sold the 8088 processor to the PC department of IBM. Then the concept of PC started to develop all over the world. Even the development of processors is fast, the classical 8088 processor is s

6、till used in the experiments. This paper is about the development of eletron clock based on the 8088 processor.This paper ueses Protel to draw the schematic diagram and uses the microcomputer simulation texting box including the 8253 counter/timer,8259 interrupter and six LEDs to realize the basic f

7、unction of electron clock. The electron clock can display the hour , the minute and the second. It can set the time and count .It can also have the function of alarm clock. This paper uses compiling language to program.Key words: electron clock, 8088 processor, 8253 counter/timer,8259 interrupter目 录

8、摘 要1Abstract1引 言1第一章 系统概述111 需求分析112 模块设计1第二章 系统使用芯片简述32.1 达爱思仪器简介32.2 8253计数器/定时器简述32.2.1 内部结构32.2.2 工作方式52.2.3 控制字92.3 8259A中断器102.3.1 内部结构112.3.2 编程结构122.4 8255并行口132.4.1 内部结构132.4.2 工作方式162.4.3 控制字162.5 键盘接口182.5.1 键盘结构182.5.2 键盘识别18第三章 实现电子钟系统203.1 使用Protel绘制原理图203.2 硬件连接203.3 软件编程21第四章 系统测试与结果

9、分析244.1 调试结果描述244.2 测试结果分析24结束语25参考文献1引 言嵌入式计算机系统的出现,是现代计算机发展史上的里程碑事件,嵌入式系统诞生于微型计算机时代,与通用计算机的发展道路完全不同,形成了独立的单芯片的技术发展道路。由于嵌入式系统的诞生,现代计算机领域中出现了通用计算机和嵌入式计算机的两大分支。不可兼顾的技术发展道路,形成了两大分支的独立发展道路:通用计算机按照高速,海量的技术发展;嵌入式计算机系统则为满足对象系统嵌入式智能化控制要求发展。由于独立的发展分工,20世纪末,现代计算机的两大分支都得到了迅猛的发展。第一章 系统概述11 需求分析 研究与学习微机原理与接口技术在

10、实际中的应用,利用实验室现有的实验仪器和软件资源,进行实时调试,提高系统的适应性,灵活性。提高学生实际应用微计算机开发设计系统的能力,使理论设计得到实践的检验。 需求分析简单的来说就是分析出系统要做一件什么事情。本文要求掌握8259中断器,8253计数器/定时器的接口方法和应用编程,开发出相应的综合性设计项目。对上述的“需求”进行分析之后, 本文利用达爱思教仪即Dias-958H+试验箱实现电子钟功能。本系统应做到的以下几点:(1) 显示时间显示时,分,秒。(2) 设置时间利用键盘手动设置时间。(3) 自动计时自动计时并能实时显示。(4) 闹钟功能设定时间到点报时。12 模块设计 通过需求分析

11、的归纳,本系统各个模块设计如下:1. 显示时间在LED上显示时,分,秒,初始时显示全零,时分秒都以两位数表示,中间以-隔开。 2. 设置时间 这一部分是对时间进行设置。这部分功能是提供给用户使用。按下小键盘上的A键,从键盘输入想要设置的时间,时间格式为时,分,秒,中间以隔开。3 自动计时 按下键盘上的B键,系统开始计时,如果秒值为60,分值加一,否则秒值加一,如果分值为60,时值加一,否则,分值加一。当时值为24时,时值归零,否则,时值加一。当按下键盘上的C键时,停止计时。按下D键时,显示器熄灭。4. 闹钟功能按下键盘上的E键,关中断,输入要设置的闹钟时间,按下B键,开中断,继续计时,当到达闹

12、钟时间时,蜂鸣器响一下。第二章 系统使用芯片简述2.1 达爱思仪器简介 Dais958H+型仿真实验系统,它是及微机原理8086/8088、单片机原MCS-51、MCS-96为一体的三合一仿真系统,系统提供丰富的软硬件资源。集成8088处理器,8259中断器,8253计数器/定时器,8255并行口,LED显示器,小键盘等等。2.2 8253计数器/定时器简述2.2.1 内部结构 8253的基本功能:1:含有3个独立的16位计数器,能够进行3个16位的独立计数。2:每一个计数器具有六种工作方式。3:能进行二进制、十进制计数(减法计数)。所谓十进制计数,是指BCD码计数,每个计数器可表示4位十进制

13、数的BCD码,每来一个计数脉冲时,按照十进制数减一规律进行计数。例如,当前的计数值为1000 0100 0000 0000 (8400),来一个计数脉冲后,变为1000 0011 1001 1001(8399)。4:计数频率为02MHz.5:可作计数器或定时器。8253为24引脚,双列直插封装。其引脚排列与内部结构如图 所示。由图可看出,8253的内部结构由数据总线缓冲器,读、写控制逻辑,3个独立的计数器三部分组成。1:数据总线缓冲器这是一个三态8位双向缓冲器,D7D0同系统数据总线相连。CPU通过执行输入/输出指令来实现对缓冲器发送或接受数据。8253的控制字也是通过该缓冲器传送的。2:读/

14、写控制逻辑读/写控制逻辑用来管理数据信息和控制字的传送,它接收来自CPU地址总线和控制总线的有关信号,向3个独立的计数器的控制部件发送命令。对8252进行控制的信号有:A1,A0:片内寄存器选择信号。CS:片选信号,低电平有效。RD:读信号,低电平有效WR:写信号,低电平有效。控制信号CS,RD,WR以及A1,A0的组合可以实现对三个计数器和控制寄存器的读写操作。3:计数器三个计数器中每一个都有三条信号线:CLK:计数输入用于输入定时基准脉冲或计数脉冲。OUT:输出信号以相应的电平指示计数的完成或输出脉冲波形。GATE:选通输入,用于启动或禁止计数器的操作,以使计数器和计数器输入信号同步。每个

15、计数器中有四个寄存器:1) 6位的控制寄存器,初始化时,将控制字写入该寄存器。2) 16位的计数初值寄存器,初始化时写入该计数器的初始值,其最大初始值为0000H.3) 16位的减一计数器,计数初值由计数初值寄存器送入减法计数寄存器,当计数输入端输入一个计数脉冲时,减法计数寄存器内容减一。4) 16位的输出锁存器用来锁存计数执行部件的内容,从而使CPU可以对此进行读操作。2.2.2 工作方式计数启动方式:软件启动:GATE端为高电平 置入计数初值后的第2个CLK脉冲的下降沿。硬件启动:GATE端有一个上升沿 对应CLK脉冲的下降沿8253有6种工作方式,在不同的工作方式下,计数器的启动方式,G

16、ATE端输入信号的作用以及OUT端的输出波形都有所不同。1) 方式0(计数结束产生中断) 软件启动,不自动重复计数,装入初值后,输出端变低电平,计数结束输出高电平。波形示意图如下:在计数过程中可改变计数值,若为8位数,则在写入新的计数初值后,减一计数器将按新的计数初值重新开始计数:若为16位数,则在写入低字节后,减一计数器停止计数,而在写入高字节后,减一计数器才按照新的计数初值开始计数。在计数过程中,可由GATE位低电平来控制减一计数器暂停计数,直到GATE又变成高电平,减一计数器又继续计数。但GATE信号的变化不影响OUT的变化。方式0是专为工作在中断方式而设计的,计数结束中断的OUT信号可

17、通过8259A作为CPU的中断请求信号,使用时要注意,若计数初值为n,要经过n+1个CLK脉冲信号OUT才由低电平变为高电平。2) 方式1(可编程的单脉冲触发器)硬件启动,不自动重复计数,装入初值后,输出端变高,计数过程中输出低电平,结束后又变高。波形图如下:当计数器记到0之后,可用GATE脉冲再次启动,重发单拍脉冲,而不用给计数初值寄存器送入计数值。计数器又从原计数初值重新开始计数。计数过程中,可通过GATE脉冲再次启动,但不改变输出低电平状态,减一计数器将重新按计数初值开始计数,直到再次计数到0后,输出才变高。3) 方式2(分频器)软硬件启动,自动重复计数。装入初值后,输出端变高,计数到最

18、后一个脉冲时输出低电平。波形图如下:方式2如同一个n分频计数器,若计数初值为n,则每到n个时钟CLK脉冲就输出一个脉冲。因此,这种方式可以作为一个脉冲分频器或用于产生实时中断。计数过程中,可用门控脉冲GATE重新启动计数。当GATE变低时,现行计数暂停,变高后,下一个CLK输入脉冲使减一计数器恢复计数初值重新开始计数,所以可用一个外部控制逻辑来控制GATE,从而达到同步计数的作用。4) 方式3(方波发生器)软硬件启动,自动重复计数。装入初值后输出端变高,输出对称方波。波形图如下:计数值为偶数计数值为奇数在计数过程中,可以改变计数初值,新的初值写入也分两种情况讨论:一种是GATE为高电平时在计数

19、执行过程中新值写入,并不影响现行计数过程,只是在下一个计数过程中按新值进行计数。第二种是在计数执行过程中加入一个GATE负脉冲信号,停止现行计数过程,在门控信号上升沿后的第一个时钟周期的下降沿按新值开始计数。5) 方式4(软件触发的选通信号发生器)软件启动,不自动重复计数。装入初值后输出端变高,计数结束后输出一个CLK宽度的低电平。波形图如下:在计数过程中GATE变低,则停止计数,待GATE变高时,减一计数器重新从技术初值开始计数。在计数过程中,改变技术初值是立即有效的,他将立即按新的计数值继续重新开始计数。如果计数值是双字节,则在写入第一个字节时停止计数,在写入第二个字节后,按照新计数值开始

20、计数。利用方式4可以完成定时功能,定时时间为n个CLK周期,这种工作方式也可完成计数功能,将计数脉冲从CLK输入,使减一计数器减到0,由OUT输出负脉冲表示计数次数到,当然也可利用OUT作为中断请求信号,工作方式4和工作方式0很相似。5)方式5(硬件触发选通信号发生器)硬件启动,不自动重复计数。波形图如下:当门控信号GATE上升沿到来后,开始计数。在计数过程中,又来一个门控信号的上升沿,立即终止现行的计数过程,在下一个时钟的下降沿又从初值开始计数,如果在计数过程结束后来一个门控信号上升沿,计数器也会在下一个时钟的下降沿从上一个初值开始减一计数,即只要门控信号的上升沿到来,就会马上触发下一个技术

21、的过程。2.2.3 控制字8253只有一个控制字,其格式和含义如下图所示 D7,D6两位用来选择计数器,D5,D4两位用来规定读写格式,D3,D2,D1三位用来选择工作方式,D0用来表示使用二进制表示还是使用十进制表示。 8253的控制寄存器和3个计数器分别具有独立的编程地址,并且控制字本身的内容又确定了所控制的寄存器序号,所以对8253的编程没有太多严格的顺序规定,使用非常灵活。但是,编程有3条原则必须严格遵守:1)在选择任何一种工作方式下,都必须先向8253写入控制字,控制字还起复位作用,它使OUT端变为工作方式中规定的状态和对计数初值寄存器清零。2)对计数器设置初值前必须先写控制字。计数

22、初值设置时,要符合控制字中的格式规定,控制字中一旦规定,具体初始值设定时就要一致。3)读取当前计数值时,必须设置锁存操作控制字。由于8253对外的数据线只有8根,对16位计数器进行写入或读取当前计数值时,需要分两次进行。由于两次读之间存在时间间隔,这期间可能恰好有计数脉冲,所以读出的值带有随机性,为了使CPU能获得计数器某一时刻准确的值,8253设置了锁存操作。当控制字的D5,D4位为00时,表示锁存。当锁存命令到来时,减一计数器记到某一个值,因为锁存器是跟随减一计数器工作的,所以,锁存器中为同一个值,此时,这一数值被锁住,当CPU将此锁定值之后,锁存器自动失锁,于是又跟随计数器变化。 2.3

23、 8259A中断器8259A是一种可由软件进行控制的中断控制器。8259A使用于各种不同环境,具有很强的中断管理功能。8259A主要功能有:1) 每片8259A可管理8级优先权中断源,在基于不增加其他电路的情况下,通过8259A的级联,最多可管理64级优先级的中断源。2) 对任何一个级别的中断源都可以单独进行屏蔽,使该级中断请求暂时被禁止,直到取消屏蔽时为止。3) 向CPU提供可编程的标识码,对于8086-Pentium的CPU来说就是中断类型码。4) 具有六种中断优先权管理方式,即全嵌套方式,特殊全嵌套方式,自动循环方式,特殊循环方式,特殊屏蔽方式,中断查询方式,这些管理方式均可通过程序动态

24、的进行变化。5) 具有三种中断结束方式,即自动中断结束方式,一般的中断结束方式和特殊的中断结束方式。6) 8259A用NMOS工艺制作,只需要一组+5V电源。2.3.1 内部结构8259A是Intel公司生产的具有28个引脚的双列直插式芯片,其引脚如图所示:D0-D7:这是8条数据引脚,在系统中,他们和数据总线相连,从而实现和CPU的数据交换,在较大的系统中,一般使用总线驱动器(即缓冲方式),这时,D0-D7与总线驱动器相连,在小系统中,则D0-D7直接与数据总线相连。INT:它和CPU的INTR中断请求端相连,用来向CPU发中断请求。INTA:它用来接受来自CPU的在中断应答信号,低电平有效

25、。RD:读出信号,用来通知8259A将某个内部寄存器的内容送到数据总线上。低电平有效。WR:写入信号,用来通知8259A从数据线上接受数据,这些数据实际上就是CPU往8259A发送的命令字,也就是说,每当8259A接收一个数据,便设置一个命令字。WR是低电平有效。CS:芯片选通信号,通知地址译码逻辑电路与地址总线连接。A0:用来指出当前8259A的哪个端口被访问。一片8259A对应两个端口地址,一个为偶地址,一个为奇地址,并且要求偶地址较低,奇地址较高。每片8259A留出两个I/O端口地址。IR0-IR7:接收中断请求,在含有多片8259A的复杂系统中,主片的IR0-IR7分别和各从片的INT

26、端相连,用来接收来自从片的中断请求。CAS0-CAS2:这三个引脚上的信号用来指出具体的从片,在多片级联时,他们将分别互连起来。SP/EN:当8259A工作于级联模式下,作为输入,用来决定本片时主片还是从片,当值为1时,则为主片,当值为0时,则为从片。当工作于单片模式下,作为输出,由它来控制数据通过总线接收器的传送方向。2.3.2 编程结构 8259A由9个基本部分组成,他们是:1) 数据总线缓冲器是8位三态双向缓冲器,通常和CPU系统总线中D0-D7相连接,在读/写逻辑的控制下实现CPU与8259A之间的信息交换。2) 中断请求寄存器IRR接收外部的中断请求,IRR有8位,他们分别和引脚IR

27、0-IR0相对应,接收到某个引脚的信号后,对应位置1,对这一中断请求作了锁存。有边沿触发方式和高电平触发方式两种。3) 操作命令字寄存器OCW1-OCW3,用于存放操作命令字。操作命令字则是由应用程序设定,用来对中断处理过程作动态控制。,运行过程中可以多次设置,其中的OCW1是8位中断屏蔽寄存器,当它的某位1时,则对应的中断请求就被屏蔽,即对该中断源的有效请求置之不理。4) 8位中断服务寄存器是用来记忆正在处理中的中断级别,它的每位分别与IRR寄存器中的各位相对应。当CPU在为某个中断源服务时,8259A则使相应位置1,当为全0时,表示无任何中断服务。5) 优先级比较器,也称优先级裁决器,用来

28、管理和识别各个中断源的优先级别。6) 控制逻辑。根据优先级裁决器的请求向CPU发出一个中断请求信号,如果CPU的中断允许标志IF为1,那么,CPU执行完当前指令后,就可以响应中断。7) 读写逻辑。根据CPU送来的读写信号和地址信息,通过数据总线缓冲器有条不紊的完成CPU对8259A的所有写操作和读操作。8) 级联缓冲器/比较器。实现多片8259A的级联,只有一个主片,最多有8个从片。9) 初始化命令字寄存器ICW1-ICW4是微机系统启动时由初始化程序设置的,初始化命令字一旦设定,一般在系统工作过程中就不再改变,因此,CPU给8259A编程时,首先要送入初始化命令字,ICW1和ICW2必须送,

29、而ICW3和ICW4由工作方式来选择。2.4 8255并行口2.4.1 内部结构8255为可编程的并行接口芯片,具有40个引脚,双列直插DIP封装,+5V供电,全部信号与TTL电平兼容。引脚图如下:8255的特点有:1)具有三个并行数据传输端口:A口,B口,C口。2)每个端口拥有不同的工作方式:A口具有3种工作方式,B口具有2种工作方式,C口只有1种工作方式。3)每个端口工作在输出方式时,具有锁存功能。4)可以通过编程设置成4位端口,8位端口,12位端口,16位端口,20位端口或24位端口。8255由四部分组成。如图所示1)数据总线缓冲器,这是一个三态双向8位缓冲器,它是8255与CPU系统数

30、据总线的接口。所有数据的发送与接受,以及CPU发出的控制字和从8255来的状态信息都是通过缓冲器传送的。2)读写控制逻辑。读写控制逻辑由读信号,写信号,选片信号以及端口选择信号等组成。读写控制逻辑控制了总线的开放与关闭的信息传送的方向,以便把CPU的控制命令或输出数据送到相应的端口,或把外设的信息或输入数据从相应的端口送到CPU。3)数据端口A,B,C。8255包括三个8位输入输出端口,每个端口都有一个数据输入寄存器和一个数据输出寄存器,输入时端口有三态缓冲器的功能,输出时端口有数据锁存器功能。在实际应用中,PC口的8位可分为两个4位端口(方式0下),也可分为一个5位(控制)端口和一个3位(控

31、制)端口(供A口,B口方式1下)来使用。4)A组和B组控制电路。控制A,B和C三个端口的工作方式,A组控制A口和C口的上半部(PC7PC3),B组控制B口和C口的下半部(PC2PC0)的工作方式和输入输出,A组,B组的控制寄存器还接收按位控制命令,以实现对PC口的按位置位复位操作。2.4.2 工作方式8255有三种工作方式(方式0,方式1,方式2)可供选择使用,而且三个端口可以同时按照各自选择的工作方式工作,当然8255各端口在正常工作开始前,必须进行初始化设计,确定每个端口按哪种工作方式工作。方式0:基本输入或输出方式,为单向8位端口。多用于同步数据传输场合,无需握手线进行传输,也可用于查询

32、方式,此时往往用C口的某些信号线作为自定义状态线和控制线。8255的三个端口都可工作于方式0。方式1:选通输入或输出方式,为单向的8位端口。只有A口和B口可以工作在方式1状态,而此时C口的某些信号线一定作为A口或B口的联络线,其他非联络线仍可以工作在方式0 输入或输出状态。方式2:双向传输方式,既可以输入又可输出。只有A口可以采用方式2 工作,此时C口中的5根信号线作为A口的联络线,而其余的3根信号线可以做B口方式1时的联络线,或者与B口一起工作在方式0状态。2.4.3 控制字8255在正常工作之前必须进行初始化设置,对所用到的每个端口都要设置具体的工作方式。8255具有2个控制字:方式控制字

33、和C口位控控制字。2个控制字均需要送入控制寄存器口地址中,其区别在于:方式控制字中的D7=1,C口位控控制字中的D7=0。1)方式控制字方式控制字各位定义见图其中D7为方式控制字标志位,用来区别C口位控控制字。D6D5设置A口的工作方式,D4 设置A口处于方式0或者方式1时的传输方向,当处于方式2时此位无效,D3设置C口的高4位传输方向,由于C口只有一种工作方式,因此不需要设置方式,D2设置B口的工作方式,D1设置B口的传输方向,D0设置C口的低4位传输方向。当C 口的信号线作为A口或 B口的联络线时,设置无效。2)C口位控控制字C口位控控制字用于将C口中的某一位清0或置1。C口位控控制字格式

34、定义如下:其中D7为方式控制字标志位,用来区别方式控制字,D6D5D4为无效位,D3D2D1用来选择PC7PC0中之一,D0为0表示清0,为1表示置1。2.5 键盘接口 键盘输入是微机系统最常用的输入方式。键盘可分为编码键盘和非编码键盘。编码键盘内部设有键盘编码器,被按下的键的编号由编码器直接给出对应的ASCII码或其他编码,同时具有防抖动和解决重键 的功能。这种键盘使用方便但是价格昂贵,一般在应用系统中很少采用。非编码键盘用软件来确定按键并计算键值,2.5.1 键盘结构键盘是若干按键的集合,键盘有线性键盘和矩阵键盘两种结构形式。线性键盘由若干个独立的按键组成,通常按键都采用低电平有效,上拉电

35、阻保证了按键断开时,I/O端口线有确定的高电平,每个按键将其一端直接与微机输入端口的一位相连,另一端接地,即完成硬件的连接。一般分为查询方式和中断方式两种,对于查询方式,只要查询该输入端口各位的状态,即可判别是否有键按下,以及查询按下的是哪一个键。事先编制子程序对各键进行定义和功能处理。当有键按下式就进入中断服务程序。矩阵键盘,又叫行列式键盘。用I/O端口线组成行,列结构,按键设置在行列的交叉点上。例如用2*2的行列结构可构成4个键的键盘,4*4的行列结构可构成16个键的键盘。因此按键数量较多时,可以节省I/O端口线。2.5.2 键盘识别在非编码矩阵式键盘中,为了识别键盘上的闭合键,通常采用两

36、种方法,一种称为行扫描法,另一种称为行反转法。1)行扫描法行扫描法将按键设置在行,列交点,行,列线分别连接到按键开关的两端。当列线通过上拉电阻接+5V时,被钳位在高电平状态。查询方式的行扫描法是:首先查询是否有键被按下,即通过8255的PA0PA7给键盘上的所有行线置成低电平,然后通过8255的PB0PB7将列线电平状态读入累加器AL中,如果有键按下总会有一根列线电平被拉至低电平,从而使列线输入不全为1,如果有键按下,再检查 键盘中哪一个被按下,即依次给行线送低电平,查所有列线状态,如果全为1,则所按下之键不在此行。如果不全为1,则所按下的键必在此行,而且是在与0电平列线相交的交点上的那个键。

37、键盘上的每个键都有一个键值。键值赋值的最直接办法是将行,列线按二进制顺序排列,当某一键按下时,键盘扫描程序执行到给该行置0电平,读出该列为0电平,这时的行,列数据组合成键值。微机系统工作时,并不经常需要键输入,因此,在查询方式的行扫描中,CPU经常处于空扫描状态。为了进一步提高CPU效率,可以采用中断行扫描法的工作方式。中断方式的行扫描法:列线通过上拉电阻接+5V时,被钳位在高电平状态,8255的B口为输入方式,键盘中有无按键按下通过8255的PA0PA7给所有行线置成低电平。列线电平状态经与非门送入8259A中断申请端IR6,若无键按下时,所有列线电平均为高电平,与非门输出为低电平,如果有键

38、按下,总会有一根列线为低电平,与非门输出低电平变高电平,即发出中断请求 ,若CPU开放外部中断,则响应中断请求,进入中断服务程序。在中断服务程序中除完成键识别,键功能处理外,还须有消除键抖动影响,重键处理等措施。2)行反转法行扫描法要逐行扫描查询,当所按下的键在最后行,则要经过多次扫描才能获得键号。而采用行反转法时,只要经过 两个步骤即可获得按下键的位置。第三章 实现电子钟系统3.1 使用Protel绘制原理图1) Protel99SE介绍Protel99SE是Protel最新完成的视窗环境之印刷电路板设计系统。它凭借着Protel99原有先进的设计平台,带来了更多既强大又有效的新增功能。Pr

39、otel 99 SE是澳大利亚Protel Technology公司研制开发的基于Windows9X2000NT操作系统下的电路设计软件。它是目前国内最流行的电子设计自动化(Electronic Design Automatic,EDA)软件,该软件采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图绘制、印制电路板设计、电路仿真及可编程逻辑器件设计等3.2 硬件连接8255的A端口地址为:B端口地址为:C端口地址为:控制口地址为:8253的控制口地址:8259的控制口地址:线路连接如下:1)8255的D7-D0连系统的

40、D7-D08255的PA7-PA0连LED的DP-A8255的PB7-PB0连LED的Y7-Y08225的IOW,IOR,RESET连系统相应口8255的A1,A0连系统相应口8255的CS连X188255的PC1,PC0连LED的X1,X02)8259的D7-D0连系统的D7-D08259的INTA,INTR连系统INTA,INTR8259的IR0连8253的008259的CS1连系统X20 8259的IOW,IOR连系统IOW,IOR8259的A0接系统A03)8253的D7-D0连系统的D7-D08253的IOW,IOR连系统IOW,IOR8253的A0,A1连系统的A0,A18253的

41、CS接系统的X00、8253的C0接8253的O28253的C2接系统的Q2 串行口选择为:COM13.3 软件编程主程序流程中断处理程序流程 初始化8259,8253,8255各芯片。 检查是否有A键按下,如果有,初始化缓冲区,在LED上显示0000-00。在键盘上输入要设置的时间值。否则检查是否有E键按下,如果有,初始化缓冲区,输入要设置的闹钟时间,然后按B键,恢复计时。如果没有E键按下,检查是否有B键按下,如果有,开中断,计时开始,实时显示时钟值。如果没有,检查是否有C键按下,如果有,关中断,显示全零,如果没有,检查是否有D键按下,如果有,关中断,显示器熄灭。中断程序,实现时钟的加法。时

42、分秒都用高低两位来表示,秒值的低位是9时,再加1后,低位写0。秒值的高位是5,再加一后,高位写0。分值的低位是9时,再加1后,低位写0,高位加1。分值的高位是5,再加1后,高位写0。对于时钟值,要先判断高位,如果高位为2,检查时钟值的地位,如果为3,再加1后,时钟值清零。否则,低位为9,再加1后,地位写0,高位加1。闹钟程序,当前时间值和闹钟时间匹配时,蜂鸣器写1,响一下,否则,蜂鸣器写0。本文定义了4个数据段。AAA1用来存放显示码。BBB1用来显示当前时间。CCC1用来清零。DDD1用来存放闹钟时间。第四章 系统测试与结果分析4.1 调试结果描述 本系统设计实现后进行了为期一周左右的调试。

43、调试包括电路板的调试和汇编程序的调试。下面就系统调试情况作一介绍:(1) 系统对于输入有格式要求,不能输入不正确的时间格式。(2) 系统对于临界值进行了验证。(3) 系统预计各功能的实现。4.2 测试结果分析 测试结果表明,电子钟系统已能初步实现主要功能,但是由于我的能力有限,开发实践经验不足,系统功能不是十分完善,还存在着许多问题,目前通过测试等发现系统存在以下几个问题:1. 由于试验条件的限制,键盘有时候会出现重键的现象。2. 对于多次连续输入错误格式的时间值,系统可能出现异常。3. 当输入闹钟时间时,会关中断,使系统时间比正常的慢一点。 4.由于是教学模拟课题,不能适应实际使用中复杂的需

44、求,只能根据其他一些简单的调查和推测来设定系统的功能和要求,不论是功能和内容都相对简单。尚有不满足要求的地方,一些技术问题也没有克服。结束语 频率计与电子钟系统虽是一个假拟的项目,但是,对于一个尚未毕业的本科生来说,要独自完成这个项目,也是一个不小的挑战。在设计中我体会到了技术应用的重要性。 在整个毕业设计的过程当中,我的导师严谨求实的态度和积极负责的精神让我感到敬佩,对我的宽容与理解,更是使我能安心把毕业设计做好。这不但对我的毕业设计起到了关键的作用,也必将对我将来的工作产生深远的影响。从老师身上,我不仅学会做事,也学会怎么去处事。面对问题,怎么去准备、分析和快而好的去解决。在此,对于老师给

45、予我的关心和帮助表示衷心的感谢! 这里还要感谢毕业设计中的伙伴。他们给了我技术上的帮助和支持,和我一起调试。四年的大学生活,我们不仅是同学,还是朋友。如果没有他们,我的这个设计无法得以顺利完成。在这里,我对他们表示深深感谢! 我更要感谢我的父母,是他们含辛茹苦的工作让我可以没有后顾之忧,从而能够把时间和精力充分投入到毕业设计中,顺利完成我的毕业设计论文。他们是我不断前进的强大动力,我今天所取得的每一点成绩都与他们的培养和教诲息息相关。为此,我要对我的父母致以最诚挚的谢意! 最后,感谢论文评阅组和答辩组的老师们,多谢你们这段时间的辛勤工作以及对本论文的批评指导。谢谢第25页参考文献1 赵国相 于秀峰 . 微型计算机原理与接口计术.北京.科学出版社.20032 赵国相,赵大鹏,张健,徐长春等. 微型计算机原理与汇编语言程序设计.北京.科学出版社.20033 陈连坤.嵌入式系统的设计与开发.北京.清华大学出版社.北京交通大学出版社20054 余春喧80X86/Pentium微机原理及接口技术.北京.机械工业出版社.20075 张伟,王力. 电路设计与制板 Protel 99SE基础教程 北京.6 王成耀.80x86汇编语言程序设计.北京.电子工业出版社. 2004

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!