数字秒表设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
吉林建筑工程学院
电气与电子信息工程学院微机原理课程设计报告
设计题目:数字秒表的设计
专业班级:
学生姓名:
学号:
指导教师:
设计时间:
数字秒表设计报告
一、课程设计目的
通过该设计,掌握8255并行接口芯片、8253定时计数芯片的使用和数码管的使用,并掌握相应的程序设计和电路设计的技能。是对8255并行接口芯片章节理论学习的总结和补充,为后续的硬件课程的学习打下基础。
二、课程设计的内容及要求
利用8253计数器2和计数器1,实现1Hz信号的产生,然后计数器采用硬件触发选通方式计数,CPU读取计数结果,并转换为读秒计数,并把读秒计数的结果用数码管显示出来(2位)。
三、总体设计方案
设计一个利用微机原理与接口技术完成秒表的设计方案, 该方案主要是选择8253A的计数器2与计数器1产生一个1Hz的中断脉冲,其输出端与不可屏蔽中断请求信号端相连接。利用1.19318MHz脉冲方波输入CLK2,设置CLK2的初值为59659,将CLK2的输出端连接到CLK1,设置CLK1的初值为20,将OUT1连接到8086CPU 的NMI端。将NMI端有一个低电平信号输入时,8086CPU将产生中断进行秒计数。8086通过8255A将PA口作为段选信号输出端,将PB口作为片选信号输出端。
图3.1 方案设计框图
此方案的核心内容是利用微机原理与接口技术完成秒表的设计方案,该方案主要是选择8253A的计数器2和计数器1进行1s的定时,其输出于OUT1与8086的NMI相连,当定时到1s的时候产生一个中断信号,在中断服务程序进行秒的计数,并送入相应的存储单元;8255的A口接七段数码管的段选信号,B口接七段数码管的位选信号,秒的数值通过对8255的编程可以显示在七段数码管上面。该方案是利用微机接口技术的典范案例,就可行性而言,也是行之有效的。四、硬件系统设计
8086简介
Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K,8位元的输出输入(或32K,16位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。Intel 8086有四个内存区段(segment)寄存器,可以从索引寄存器来设定。区段寄存器可以让CPU利用特殊的方式存取1MB内存。8086把段地址左移4位然后把它加上偏移地址。而 8086 的寻址方式改变让内存扩充较有效率。8086处理器的时钟频率介于4.77MHz(在原先的IBM PC)和10 MHz之间。8086没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。其I/O分配如下图所示:
图4.1 CPU8086及I/O接口电路图4.2 8086实物图
8255简介
Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种;方式0:基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。方式1:选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0。方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA 口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。
图4.3 8255A接口电路图图4.4 8255内部结构图
图4.5 8086与8255连接图
8253简介
Intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz),8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用:
图4.6 8253引脚图图4.7 8086与8253连接图
一段程序写完成后不能急于上机调试,而是先进行逻辑分析、可行性分析。用EMU8086软件进行调试,不能出现错误,警告可以有,只要不影响生成HEX 文件即可。理解其实现的功能,预想程序应该出现的结果。先进行软件仿真,出现错误马上修改,不断进行。先一个模块一个模块的仿真,准确后再连线总体仿真。仿真完后出现预期的效果后再下载程序到硬件进行验证,往往还有问题,还得反复修改,编译,调试,下载,验证。可以一个模块一个模块的下载调试这样就可以知道问题的所在。采用Proteus和EMU8086结合仿真的可以大大简化软、硬件电路的设计过程。
Proteus是英国Labeenter electronics公司研发的EDA工具软件。Proteus 不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界最先进、最完整的多种型号微控制器系统的设计与仿真平台。它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整电子设计与研发过程。Proteus产品系列也包含了革命性的VSM技术,可以对基于微控制器的设计连同所有的外围电子器件一起仿真。由于我们的设计外围电路比较简单实现的功能叶不是很复杂,所以在Proteus仿真时我们是将主程序直接下载到芯片中仿真,主要是验证是否采集到