电子秒表

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电子秒表

概述

此电子秒表,是在TND-MD教学系统上实现的,其计时精确度为0.01s。所使用的芯片主要有8253定时计数器、8255A并行接口电路芯片、8259A中断控制器等。通过系统中的开关键KK1和KK2可实现开始计时,暂停计时,继续计时,清零功能,用系统中的四片七段数码管将计得的时间以XXXX(秒百分秒,其中秒占两位,百分秒两位)的形式显示给用户。计时准确度与现实时间相符。

一、设计要求

按一下kk1开关启动,再按暂停,按kk2清零,周而复始。最小计时单位0.01S,即可显示XXXX(秒百分之一秒)。设计要求如下:

(1)由键盘和8255作为输入部分

(2)用七段数码管或液晶显示屏来显示时间

(3)由8253和8259构成计时信号,通过中断完成启动计时、停止计时和动态刷新显示。

二、设计思想

1、为了试验秒表的准确计时功能,此秒表精确到了0.01s,为了得到0.01s的时间脉冲,使用8253芯片来产生,又由于可以系统自动产生1.1932MHZ的时钟频率,因此可以通过设定计数初值为2E9c,并设定8253工作在方式3来获得所需的周期为10ms的时间脉冲

软件操作:首先向8253的控制端口43H输入控制字B6H来设置计数器2计时,工作在方式3,循环计数,产生10ms的时间脉冲,然后再像计数器2端口42H输入计数初值2e9cH,先写入低八位数据,再写入高八位数据

硬件操作:唐都仪器8253芯片的CLK接bus总线上的OPCLK系统时钟信号,频率为1.1932MHZ,GATE门信号接+5v电源,out引脚接8259芯片的IRQ7

2、为了驱动数码管,需使用8255芯片,通过设定控制字,用其PB端口来驱动段,PA 端口来驱动位,

软件操作:向8255的控制端口63H输入控制字81H,使其三个端口都工作在方式0,PA(60H)端口的低四位用来驱动数码的位,PB端口(61H)用来驱动数码管的段,然后用E命令重新开辟一块内存区域,用来存放数码管0-9的字模3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

硬件操作:唐都仪器上的8255芯片的PA0~PA3引脚接数码管的X4~X1引脚,PB0~PB7引脚接数码管的0~DP引脚

3、为了能够实现系统的中断调用,需使用8259芯片的IRQ2,IRQ6,IRQ7引脚,其中断向量分别为:0AH,0EH,0FH把三个中断服务程序的的入口地址分别填入这三个中断向量所指向的内存地址,IRQ2接KK1控制秒表的启动和暂停,IRQ6接KK2控制秒表的复位

软件操作:IRQ2的中断向量乘以四得:0028H,然后向这个地址填入IRQ2服务程序的入口地址(mov [0028],IRQ2),然后向002a地址填入中断向量表的段地址:0000H,IRQ6的中断的首地址为:0038H,填入中断服务程序入口地址mov [0038],IRQ6,填入段地址mov [003a],0000H,IRQ7中断的首地址:003cH,填入中断服务程序入口地址:mov [003c],IRQ7,t 填入段地址:mov [003e],0000H..

三、设计所用芯片及工作原理

1、8255芯片工作原理

接口电路在CPU和I/O设备之间起着信号的变换和传输的作用。任何接口电路与CPU 之间的信息传输方式都是并行的,即CPU与接口电路之间以数据字节/字为单位传送信息。接口电路与I/O设备之间的信息传送方式,有并行和串行两种,相应的接口电路称为并行接口和串行接口。8255将一个8位的输入输出双向数据端口扩展为端口A,端口B,端口C 3个八位I/O双向传输端口,另加一个控制端口,因而其内部含有4个端口寄存器,3个I/O 端口都有不同的工作方式,端口A可以工作在方式0,1,2;端口B只能工作在方式0,1;端口C工作在方式0,他们与I/O端口间的数据传输都是并行方式。

2、8259芯片工作原理

1) 外部事件触发中断控制器8259A的某个中断请求引脚IRQX,其状态锁存在中断

请求寄存器IRR中。

2) 8259A判定中断屏蔽寄存器IMR是否允许此中断请求,若允许则做优先权判定。

3) 若同时有几个中断源发出请求,8259A优先权判定电路会检测出当前优先级最高

的中断请求位,获取相应的中断向量值N,并置位芯片内部中断服务寄存器ISR

4) 8259A向CPU发中断请求信号INTR

5) 如果CPU标志寄存器FLAGS中的中断允许标志位I置位,则CPU执行完当前

一条指令后响应该中断并送出应答信号INTA。

6) 中断控制器8259A收到该应答信号后立即将对应该中断源的中断向量号N送到系

统数据总线上。

7) CPU读入中断向量号N后查找中断向量表既可以转向相应的中断服务程序入口

地址开始执行中断事务处理。

8) CPU 完成中断服务后,向8259A 送中断结束命令EOI ,使中断服务寄存器ISR

复位,从而结束本次中断,为下次中断做好准备

3、8253芯片工作原理

CLK 信号进行“减1计数”。首先CPU 把“控制字”,写入“控制寄存器”,把“计数初始值”

写入“初值寄存器”,然后, 定时/计数器按控制字要求计数。计数从“计数初始值 开始,每当CLK 信号出现一次,计数值减1

,当计数值减为0时,从OUT 端输出规定的信号(具体形式与工作模式有关)。当CLK 信号出现时,计数值是否减1(即是否计数),受到“门控信号”GATE 的影响,一般,仅当GATE 有效时,才减1.门控信号GATE 如何影响计数操作,以及输出端OUT 在各种情况下输出的信号形式与定时/计数器的工作模式有关。

四、系统接线图

8253接线图

8255接线图

相关文档
最新文档