ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:35.41KB ,
资源ID:4319931      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4319931.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机接口秒表设计精品.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机接口秒表设计精品.docx

1、微机接口秒表设计精品微机接口秒表设计-精品2020-12-12【关键字】方案、思路、方法、运行、传统、地方、作风、认识、问题、系统、有效、继续、整体、现代、配合、执行、保持、提升、发展、加深、建立、掌握、了解、特点、稳定、地位、需要、氛围、环境、体系、能力、方式、作用、标准、结构、任务、速度、增强、检验、分析、形成、拓展、丰富、严格、开展、管理、服务、指导、帮助、支持、解决、完善、方向、巩固、加强、实现、提高、多方面、衷心、核心、有效性1 前言 随着科学技术的发展和现代生产力的提高,各种竞技体育都在追求更高, 更快,更强,而唯有精确的时钟才能反应出竞技体育的准度与精度。数字化给人们的生产和生活

2、带来了极大的方便,它几乎取代了传统的机械时钟,使得其准确度更高、实用性更强。因此电子秒表使其功能更加丰富,使用更佳便利。 1943年美国为解决复杂的导弹计算而开始研制电子计算机。1946年2月,世界上第一台数字式计算机ENIAC在美国宾夕法尼亚大学研制成功。在其后的60多年里,计算机经历了迅猛的发展,得到了广泛的普及应用,对整个社会的进步和科学的发展产生了极其深远的影响。通常按照电子计算机采用的电子期件不同将电子计算机的发展氛围四个阶段,习惯上称为四代。CPU即属于第四代。按照微型计算机的CUP字长和功能划分,又经历了六代的演化。第一代4位和低档8位微处理器,代表作品4004/4040/800

3、8;第二代中高档8位微处理器,代表作品Z80、I8085、MC6800;第三代16位微处理器,代表作品8086、8088、80286;第四代32位微处理器,代表产品80380、80486;第五代超级32位奔腾处理器;第六代64位高档微处理器。 本设计介绍的是应用8086,8253等芯片设计出电子秒表,实现秒表的基本功能。2 整体设计方案 本设计的整体思路是:利用 8254用试验箱上的数码管模拟一个秒表,要求具有一般秒表的功能。 2.1 设计方案方案一:软件定时 软件定时是根据所需要的时间常数来设计一个延时子程序,该程序中的指令和安排循环次数来实现软件定时。图2.1 方案一方框图方案二:硬件定时

4、基于8253和8259A中断技术的电子秒表利用了可编程计数器/计数器为主要硬件。图2.2 方案二方框图2.2 方案比较软件定时的优点是节省硬件。主要缺点是执行延时程序期间,微处理器一直被占用,降低了微处理器的利用率。软件定时不能单独的使用,他必须在一个硬件平台上运行,所以单纯的软件的定时硬件兼容性较差。基于8253和8259A中断技术的电子秒表利用了可编程计数器/计数器为主要硬件。在硬件电路连接完成后,有软件直接初始化定时器8253,并启动定时器工作开始计时,当再次收到脉冲信号时,产生一个中断,自动产生一个规定的时间输出(分-秒-毫秒)。这种方法的优点是定时器不占用微处理器的时间,大大的提高微

5、处理器的利用率。并且利用定时器产生的终端信号,在多任务的分时系统中用来作为中断信号实现程序的切换,建立多作业环境。同时硬件开销不大、功能较强、使用灵活,而且操作十分方便只需要按下按钮产生一个脉冲信号就可以实现计时。2.3 方案选择通过比较我们得出,硬件计时方案大大优于软件计时方案。故本次设计采用方案二硬件计时方案。3单元模块的设计 3.1各单元模块的功能介绍及电路设计秒表电子系统主要有8086CPU,8253、8255A、8259A等部分组成。其框图如图3.1所示。图3.1 秒表方框图3.1.1 脉冲信号中断定时模块8253产生定时脉冲信号,定时脉冲信号让8259A产生中断信号中断服务程序进行

6、定时服务,下面根据语接口电路图说明其作用。8253接口如图3.2所示。图3.2 8253接口电路3.1.2 8255A与8086的连接8253A的管脚包括D7D0,他们分别与CPU的AD0都AD7相连。读写控制线WR,RD,以及与CPU地址线相连的片选信号CS,端口地址控制管脚A0和A1。这两个端口地址显得组合,在这次是与8086CPU的I/O口AD9和AD10相连。所以8253A的端口选择就受到CPU的AD9和AD10的组合状态控制来提供。图3.3 8255A与8086连接电路3.1.3 USB电源模块在本设计中,了使电路简单,该模块主要是为系统提供电源,因为CPU8086等需要供电5V,而

7、外围电路可以用5V电源。电路可以由电源变压器T、电桥U、电容C以及芯片7805组成。电源是由电源变压器T降压后送入电桥U整流再经C滤波,然后由CW7805稳定后提供给电路工作。由于我们需要在通过计算机下载程序,而USB输出电压也刚好是5V,所以我们为了方便采用USB供电。如图所示:图3.4 USB供电原理图3.1.4 LED驱动电路模块8255A芯片是电路的核心元件,利用8255A驱动数码管显示时、分、秒。从而能够对秒,毫秒,分等时间单位进行精确记时。电路如图3.5所示:图3.5 LED与8255A连接电路图3.2电路参数的计算和元器件的选择3.2.1 8253可编程定时器/计数器 (一)82

8、53定时/计数器的引脚及功能8253是NMOS工艺制成,采用单一+5V电源,24引脚双列直插式封装,外部引脚如下所示:图3.6 8253元器件1、8253与CPU的接口引线D7D0:双向数据线:可直接与数据总线相连,用于传递各种数据信息/WR:写信号,输入,低电平有效,用于控制CPU对8253的写操作/RD:读信号,输入低电平有效。用于控制CPU对8253的读操作A1、A0:地址线,输入信号/CS:片选信号,输入信号,低电平有效。当/CS为0时,8253被选中,允许CPU对其进行读/写操作2、8253与外设的接口引线CLKOCLK2:时钟输入信号;GATE0GATE2:门控输入信号;OUT0O

9、UT2:计数输出端3、定时与计数方式(二)内部结构数据总线缓冲器 读/写逻辑电路 控制字寄存器 计数器(三)8253方式控制字定时/计数器8253的每个计数通道根据CPU发命令写入控制寄存器的控制字确定工作方式和计数格式。8253控制字的格式如下所示:D7D6D5D4D3D2D1D0SC1SC0RW1RW0M2M1M0BCD表3.1 8253 控制字D7、D6:计数器选择位SC1、SC0。8253的3个计数器相互独立,并且都有一个控制寄存器。但这三个控制寄存器占用同一个端口地址,即A1A0=11D5、D4:读/写指示位RW1、RW0。CPU向某个计数器写入初值和读取它们的当前值时不同的格式D3

10、、D2、D1:工作方式选择位M2、M1、M0。8253有6种工作方式,选择哪种工作方式由M2、M1、M0编码确定DO:数值计数格式,用来选择计数格式。DO=O,计数器按二进制格式计数;D0=1,计数器按BCD码格式计数3.3特殊器件的介绍3.3.1 8255A并行接口(一)8255A的引脚及功能 8255A是一个采用NMOS工艺制造的40个引脚的双列直插式组建, 其外部引脚如下图所示:图3.7 8255A元器件 功能:8255A具有面向主机系统总线和面向外设两个方向的连接能力,即通过8255A,CPU可直接同外设相连接,负责CPU和外设之间的数据传送。1、面向系统总线的信号线D0D7:双向数据

11、线;CPU通过它向8255A发送命令、数据;8255A通过它向CPU回送状态、数据/CS:选片信号线,该信号线低电平有效,由系统总线经I/O地址译码器产生A1、A0:芯片内部端口地址信号线,与系统地址总线地位相连/RD:读信号线,该信号低电平有效,CPU通过执行IN指令,发读信号将数据或状态信号从8255A读至CPU/WR:写信号线,该信号低电平有效,CPU通过执行OUT指令,发写信号,将命令或数据写入8255ARESET:复位信号线,该信号高电平有效。2、面向I/O设备的信号线PA0PA1:端口A的输入/输出线、PBOPB7:端口B的输入/输出线、PC0PC7:端口C的输入/输出线,这24根

12、信号线均可用来连接I/O设备,通过它们传送数字量信息或开关量信息(二)内部结构数据总线缓冲器 读/写控制逻辑 A组和B组控制电路 数据端口A、B、C(三)8255的工作方式方式0基本输入/输出方式;方式1选通输入/输出方式;方式2双向输入/输出方式。3.3.2 8086的引脚功能特点介绍Intel 8086拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器(包含了堆栈指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K 8 位元的输出输入(或32K 16 位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一

13、个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。 Intel 8086有四个 内存区段(segment) 寄存器,可以从索引寄存器来设定。区段寄存器可以让 CPU 利用特殊的方式存取1 MB内存。8086 把段地址左移 4 位然后把它加上偏移地址。大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各分段有重叠。尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制分段,使在编程中使用指针 (如C 编程语言) 变得困难。它导致指针的高效率表示变得困难,且有可能产生两个指向同一个地方的指针拥有不同的地址。更坏的是,这种方式产生要让内存扩充到大于 1 MB 的困难。而 8

14、086 的寻址方式改变让内存扩充较有效率。8086处理器的时钟频率介于4.77MHz(在原先的IBM PC)和10 MHz之间。 8086 没有包含浮点指令部分(FPU),但是可以通过外接数学辅助处理器来增强浮点计算能力。Intel 8087 是标准版本。图3.8 8086引脚结构图8086微处理器结构(1)总线接口单元 (BIU)总线接口部件由下列各部分组成: 4个段地址寄存器; CS16位的代码段寄存器; DS16位的数据段寄存器; ES16位的扩展段寄存器; SS16位的堆栈段寄存器; 16位的指令指针寄存器IP; 20位的地址加法器; 6字节的指令队列缓冲器。(2)执行单元EU 执行部

15、件由下列几个部分组成: 8个通用寄存器:即AX、BX、CX、DX, BP, SP, SI, DI ;其中,4个数据寄存器:AX、BX、CX、DX;2个地址指针寄存器:BP, SP;2个变址寄存器:SI, DI; 标志寄存器FR; 算术逻辑单元ALU。(3)BIU和EU的管理 BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。 EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。 在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入队列中后,EU才继续执行指令。3

16、.4各单元模块的连接3.4.1 8086和8253/8259A的连接利用了8253产生定时脉冲信号定时脉冲信号让8259A产生中断信号中断服务程序进行定时服务。图3.9 驱动与8086连接图4软件设计4.1 软件设计原理及使用工具 计算机系统是由硬件和软件两部分组成。硬件系统是指由中央处理器、内存储器、输入/输出接口和外部设备等部分组成的物理设备。软件是为实现或完成用户的某种要求和目的按规定的计算机能够运行的指令编写的程序,是控制计算机完成指定工作任务的二进制代码集,这个代码集称为计算机指令或计算机语言。8086最常用的计算机语言是汇编语言。用程序和8086共同实现按键的功能,使管脚电平变化,

17、进而触发相应的功能。汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点。但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植。 汇编语言的特点: 1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。 2.保持了机器语言的优点,具有直接和简捷的特点。 3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。 4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 5.经常与高级语言配合使用,应用十分广泛。 4.2 软件设计流程图这是一个利用微机原理与

18、接口技术完成秒表的设计方案,该方案主要是选择8253A的计数器2进行100ms的定时,其输出于OUT2与8259的IRQ7相连,当定时到100ms的时候产生一个中断信号,在中断服务程序进行时,分,秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接七段数码管的段选信号,C口上面接一个按键,实现时钟与秒表的转换以及清零的功能。时,分,秒的数值通过对8255的编程可以显示在七段数码管上面。因此可以利用8086等器件的功能来完成设计。利用这个设计来实现一下功能: (1) 能显示实时时间(利用8253的计数器来计算)。(2) 当按下按键时,数码管显示1/100的秒表计时。(3)

19、 第二次按下按键“1”时,应该是实现秒表的清零。EMU8086是学习汇编必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。该软件包含了学习汇编语言的全部内容。Emu8086集源代码编辑器,汇编反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,此外,还有循序渐进的教程。 图 4.1 流程图5系统调试5.1 调试Proteus是英国Labeenter electronics公司研发的EDA工具软件。Proteus不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,更是目前世界最先进、最完整的多种型号微控

20、制器系统的设计与仿真平台。它真正实现了在计算机上完成从原理图设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证到形成PCB的完整电子设计与研发过程。Proteus产品系列也包含了革命性的VSM技术,可以对基于微控制器的设计连同所有的外围电子器件一起仿真。由于我们的设计外围电路比较简单实现的功能叶不是很复杂,所以在Proteus仿真时我们是将主程序直接下载到芯片中仿真,主要是验证是否采集到温度还有温度是否显示正确。仿真可以在实物没有出来前进行先期的验证。最后加上我们的扩展功能一起仿真调试。在仿真过程中为了先检验程序的有效性和正确性,我们先用了Proteus进行软件仿真,但是因为Pr

21、oteus软件的元件库本身不包含8086芯片的元件图,所以仿真的时候我们没有使用8086芯片,而是单单验证程序的可行性。6系统功能6.1 系统功能介绍 系统实现秒表的功能,利用8253产生定时脉冲信号定时脉冲信号让8259A产生中断信号中断服务程序进行定时服务,并利用8255A驱动数码管显示时、分、秒。从而能够对秒,毫秒,分等时间单位进行精确记时。7结论 本次设计的是基于8086的秒表设计,是以8086为基本核心元件,针对8253/8259A、8255A等芯片所构成的秒表系统。系统硬件电路简单,调试方便,8086的扩展接口较多,便于在用户需要的时候能够扩展它的功能。而且体积小,使用起来更加方便

22、。 在设计时我们首先对我们需要设计的功能进行了初步定论。再根据我们的构想及查询了许多资料之后,设计出了我们的原理图。根据原理图,我们进行代码设计,在代码设计中,我们出现过几次问题,始终不能让我们的功能达到完善,最后经过我们的努力和老师的指导,我们完成了我们的软件设计与实物制作。8总结与体会通过这次设计,让我们了解了电路设计与实物制作的整个过程,也让我们了解了关于基于8086的原理与设计理念;使我学到了很多新的知识,如:8253A的使用,进一步了解了Protel 99软件、ISIS软件的一些简单功能的使用;同时,也对微机接口这门课学到的知识加以了巩固。对微型处理器有了更深的了解,使我们对8086

23、的引脚功能及如何通过编程来控制8086的引脚输出从而控制我们的LED显示等有了更清楚的认识。本次设计也使我们对电路设计,电路检查等方面的能力有了进一步的加强。通过解决在设计的过程中遇到了种种的问题,使我们的实践能力得到了很大程度的提高,也使我们对电子设计有了浓厚的兴趣,让我受益匪浅。我们还学会了该如何查阅资料和利用参考书。我们在课堂上所学习的知识只是最基本的专业知识,而现在电子科技技术是日新月异,作为信息专业的学生应该时刻关注最新的信息资料,还应该学会把在设计过程中用到的知识有机地结合起来,形成自己的知识体系,然后再灵活地加以运用,让自己的理论与实践能更有效的结合。总之,一次设计除了能加深我们

24、对理论知识的理解,加强我们的动手能力外,还能提升我们多方面的能力,拓展我们的知识面,掌握更多有用的技能,学会如何面对问题以及解决问题,我们很珍惜这样的机会。课程设计的开展有利于我们将理论知识运用于实践,将理论与实践紧密的结合在一起,做到理论与实践皆行。9 致谢接近一个月的课程设计结束了,这次课程设计让我们学到了很多东西。课程设计是对所学知识的综合运用,尤其是这次设计,虽然是用8086进行主要的控制,但是这不仅仅使我们对8086的运用及编程有了更深的理解,也使我们对电路设计,电路检查等方面的能力有了进一步的加强。在这次设计中,我们得到了王老师的悉心指导,她的渊博知识、严格要求、严谨作风都给我们留

25、下了很深刻的印象,将是我们受用一生,在此表示衷心的感谢。另外,在设计中,我们也得到了很多同学的帮助与支持,在此感谢他们。谢谢!10 参考文献1微机原理与接口技术 郭兰英 赵祥模 编著 清华大学出版社2微机原理实验指导 张辉 杨鹏 编著 浙江大学出版社单片机原理及应用3接口技术实验指导 马光荣 刘宋和 编著 中国电力出版社432位微型计算机原理接口技术及应用 冯萍编 清华大学出版社5微型计算机原理与接口技术试验 史新福6微机原理与接口技术谢维成 牛勇 编 华中科技大学出版社7微机接口技术实用教程 秦鹏 王积翔编 清华大学出版社20098微型计算机原理及应用M朱定华编 北京电子工业出版社2003.

26、69微机接口技术实用教程任向民编 清华大学出版社2008.310微机接口技术王成瑞编 高叫京出版社2009.211微机接口技术及其应用 李育贤编 西安电子科技大学出版社2007.612现代微机原理与接口技术杨全胜编 电子工业出版社13微机原理与接口技术厉荣卫编 科学出版社2006.811 附录 原理图:程序软件调试的程序如下:;*根据CHECK配置信息修改下列符号值*IOY0 EQU 0e000H IOY1 EQU 0e040H;*MY8255_A EQU IOY0+00H*4 MY8255_B EQU IOY0+01H*4 MY8255_C EQU IOY0+02H*4 MY8255_MOD

27、E EQU IOY0+03H*4 MY8254_COUNT0 EQU IOY1+00H*4 MY8254_COUNT1 EQU IOY1+01H*4 MY8254_COUNT2 EQU IOY1+02H*4 MY8254_MODE EQU IOY1+03H*4 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTDTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ; TIMETABLE DB 0,0,0,0CLEARKEY DB 0FH

28、STARTKEY DB 6 STOPKEY DB 7 STATUS DB 0 ISRUNING DB 0 WTHOUSAND DB 0WHUNDRED DB 0WTEN DB 0WSEC DB 0WMSEC DB 0DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,MY8254_MODE MOV AL,36H OUT DX,AL MOV DX,MY8254_COUNT0 MOV AL,00H OUT DX,AL MOV AL,54H OUT DX,AL MOV D

29、X,MY8255_MODE MOV AL,81H OUT DX,ALBEGIN: CALL DIS CALL CLEAR CALL CCSCAN JZ NOKEYDOWN JMP GETKEY1 NOKEYDOWN: MOV AH,1 INT 16H JZ KEYSCANEND JMP QUIT KEYSCANEND: CMP ISRUNING,1 JNE BEGIN TIMESTART: MOV AL,B MOV DX,MY8254_MODE OUT DX,AL MOV DX,MY8254_COUNT0 IN AL,DX CMP STATUS,1 JNE NOTSTATUS TEST AL,

30、80H JZ CHANGEWMSEC JMP BEGINNOTSTATUS: TEST AL,80H JNZ CHANGEWMSEC JMP BEGINCHANGEWMSEC: TEST AL,80H JZ CHANGESTATUS MOV STATUS,1 JMP HASCHANGECHANGESTATUS: MOV STATUS,0HASCHANGE: INC WMSEC CMP WMSEC,0AH JNE CHANGESEC MOV WMSEC,0 INC WSEC CMP WSEC ,0AH JNE CHANGESEC MOV WSEC,0 INC WTEN CMP WTEN,0AH JNE CHANGESEC MOV WTEN,0 INC WHUNDRED CMP WHUNDRED,06H JNE CHANGESEC MOV WHUNDRED,0CHANGESEC: MOV SI,0;=存储时间=MOV AL,WHUNDRED

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1