在航空专业微机原理及课程中的应用_第1页
在航空专业微机原理及课程中的应用_第2页
在航空专业微机原理及课程中的应用_第3页
在航空专业微机原理及课程中的应用_第4页
在航空专业微机原理及课程中的应用_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题 目: Proteus在航空专业微机原理及课程中的应用 学 院: 航空制造工程学院专业名称: 飞行器制造工程班级学号: 10032140学生姓名: 凤少伟指导教师: 肖洁二OO四年五月 Proteus在航空专业微机原理及课程中的应用学生姓名:凤少伟 班级:020J121指导老师:肖洁摘要:随着现代科学技术的进步,微型计算机在现实生活中的使用也得到了快速发展。微机原理课程是一门理工科专业的学生要学习的主要课程,也是计算机专业学习的的主干课程,但是目前的教学情况不不容乐观,主要表现在实验设备和教学不配套、教材内容和微机硬件不符合、实用性不强等方面。另外,微机原理课程的实践性很强,实验教学非常重要,要求理论与实际紧密结合,但是一方面以往的实验课都是安排在讲完理论知识之后,它的目的仅仅是为了完成一套教学过程,并没有起到实验该有的作用,而且实验的内容知识简单的验证理论知识,并且只有汇编语言的课程,并没有对硬件进行介绍。令一方面由于实践实训教学所占比例较多,硬件投入大,在实践实训的教学中,需要大量的实验仪器和设备,一般的学校或个人没有较多的经费。本文提出了一种新的思路,以8086单片机 阐述采用软件仿真实验的方法。本文主要内容分为三个部分。第一部分介绍了国内在微机原理教学上的存在的问题,主要包括教材与教学内容脱节、实验条件差、教学方法运用不当;引用了国外的先进教学模式:掌握教学模式、发现教学模式、范例教学模式以及最优化教学模式。第二部分介绍了本文所使用的两个主要软件Emu8086和Proteus和它们的主要优势。第三部分详细介绍了5个实验:IO口读写、8255并行I/O扩展、可编程定时/计数器8253、D/A数模转换、步进电机控制,包括实验的所采用的芯片介绍,分析了各个实验的程序流程,最后给出了仿真结果。实验之后是基于8086的交通信号灯的课程设计说明书,帮助学生更好地掌握微机原理这门课程。关键词:微机原理 教学 实验 Emu8086 Proteus 指导老师签名 The Application of Proteus in Principle of Microcomputer for Aviation Student name :Feng Shaowei Class:100321 Supervisor:Xiao JieAbstract:With the progress of modern science and technology, it has also been a rapid development with the use of microcomputers in current life.The principle of Microcomputer is a main course for students to learn science and engineering , as well as a main course for computer major , however, the present teaching situation do not make people feel optimistic, mainly in the incompatibility between laboratory equipments and teaching situation,as well as teaching materials and hardware, and poor practicability,etc.In addition,courses Microcomputer Principle strong experimental teaching is very important, but the one hand, previous experiments are scheduled after the class finished theoretical knowledge, its purpose is merely to complete a set of teaching process , did not play some role in the experiment , and content knowledge of simple experiments to verify the theory of knowledge , and only the assembly language course ,and not the hardware description . Principle of microcomputer requires close integration of theory and practice for its strong practicalness. On the other hand,the experiment lessons were scheduled after theoretical knowledge,only contain the assembly language course,without the description of hardware ,which did not play a role in experiment and merely to complete a teaching process,whats more,a experiment to verify theoretical knowledge does not make any sense.On the other hand,average college or personal finance wont pay funds in experimental teaching because of large requirement of laboratory apparatus. This paper proposes a new way to achieve Proteus simulation by using Emu8086 to compile experimental procedures with 8086 SCM as a core,introducing the method of software simulation in a comprehensive way. This paper is divided into three parts. The first part introduces domestic problems of teaching on the principle of microcomputers,including the incompatibility between teaching materials and content,poor experimental conditions, improper teaching methods;Advanced teaching mode abroad are cited,including master teaching model, founding teaching mode, exemplarische Lehre model and optimizing teaching mode. The second part introduces the two main software Emu8086 and Proteus and their main advantages. The third part introduces the five experiments: IO port to read and write, 8255 Parallel I / O expansion, programmable timer / counter 8253, D / A digital to analog converter, stepper motor controlling,which including introduction of the chips used in the above experiments,analysis of the various experimental program flow.,finally, the simulation results.Then a curriculum design specification of traffic lights based on 8086 is given,helping students to understand the course better. Signature of Supervisor:选题意义和选题背景1.1课题的选题意义和背景随着现代科学技术的进步,微型计算机在现实生活中的使用也得到了快速发展。“微机原理”课程是一门信息科学与工程专业的学生要学习的主要课程,也是计算机专业学习的的主干课程。为了适应新世纪的需要,要求培养合格的计算机信息管理人才,很多学校开设了微机原理及应用课程,这是一所大学的计算机及相关专业的一门重要基础课程,也是一门综合性和实践性都非常强的课程。“微机原理”这门课程的内容非常抽象,它系统地介绍了计算机的硬件构成,汇编语言的基本内容和接口技术及其应用等方面的原理,本课程的重点是培养学生的计算机系统的整体理解能力和硬件与软件的分析设计能力。然而,由于课程要求硬件和软件必须紧密结合,学生在学习上变得更加困难,这也使得教室变得枯燥乏味,教学难度大大增加,再加上有限的课时分配,老师也很难有限的时间内将教学任务顺利完成。所以对于学生的微机原理的学习过程中,教师要改变现行的教学模式,现有的教学方法和途径也必须做出改革。出现在现有的教学过程中的问题大致如下。在教学过程中,教师很难把握清楚教授的对象,教学方法也不能满足要求,缺乏人性化的讲解。这是因为学生的计算机知识的程度是不同的,这是导致教学难度增加的一个原因。在教授的微机原理的过程中,教师仍然采取填鸭式的灌输方式。这种教学方法降低了课堂教学的质量。目前,高校的微机原理课程普遍采用的是和统一的材料和教学大纲,在实际操作中,学生使用的知识的方法不能联系,导致很多学生认为微机原理的学习是没什么用处。微机原理与其他课程内容、课程设置不一致等问题。而实际上常常需要把所有专业课程都融会贯通才能将实践发挥到最佳状态。但微机原理课程的理论和实践课程都很强,理论轻实践重或是实践重理论轻都不利于计算机理论的掌握,所以这是一个非常广泛的问题。因此,为了不断提高教学水平,保证教学课程的质量合格,有效地激发学生的学习兴趣,非常有必要进行教学改革和讨论来改善本课程的教学。 微机原理及应用课程内容包括:如何表示计算机信息,8086/8088引脚的功能和使用方法,8088/8086结构和寄存器,总线和时序,存储器和扩展指令,汇编语言程序设计及常用接口芯片和扩展技术。在计算机技术快速发展的当下,新技术、新理论和新知识的实际运用用大大缩短,如何在有限的教学时间,讲清基本知识,以及新知识有机融入教学课程,让学生利用其基本原理解决在学习上遇到的问题,以提高学生的学习兴趣,使他们感到学有所用,这是微机原理课程的目的所在。 微机原理及应用的实践性很强,实验教学非常重要;但是以往的实验课都是安排在讲完理论知识之后,采用“课前预习课堂精讲实验过程指导课后报告”的教学模式,它的目的仅仅是为了完成一套教学过程,并没有起到实验该有的作用,而且实验的内容知识简单的验证理论知识,并且只有汇编语言的课程,并没有对硬件进行介绍。在这种模式下,学生总是跟着老师走,按照老师的要求听课、做题、做实验,这样根本达不到实验的效果。在当今要求加大素质教育的环境下,应多结合社会的需求,开展更多的探究性实验,让学生能够从实验中有所收获,真正学的理论知识的精髓。1.2国内外发展状况1.2.1国内教学状况 当前,微机原理广泛运用于,计算机、自动化、电子信息、材料、机械、生物医学等方面,是国内大多数高校开设的一门与计算机有关的基础课程,学生能够初步掌握微机的常用接口技术和基本元素是这门课程的目标。微机在我国绝大多数高等院校的理工科专业都会用到,它的广泛适用归因于强大的处理功能、较高的可靠性、适用简单、集成度较高等优点。因此这门课程的重要性可想而知。但是现实的情况不不容乐观,主要表现在实验设备和教学不配套、教材内容和微机硬件部符合、实用性不强等方面,仅就教学效果而言还存在很多的问题需要改善。 目前,国内大致有两种微机原理的教材与内容:一种模式的外设接口芯片及接口方法停留在8位或16位上,结构仍以8086机型为主的16位IA结构。这种模式的优点是资料齐全,比较容易入门,但缺点也很突出: (1)教材与教学内容脱节。传统的教学方式以固有的知识结构为主线贯穿在微机原理的教学里,按照目录一步一步的讲解,例如先将硬件系统和指令系统,再讲实际应用和外围设备的接口。这个顺序虽然没有错,但是却使学生失去的学习的兴趣,导致了教学效果不好。现在打开学生的机箱,虽然的仍以IA为主的微机,但是无论总线、常用接口芯片还是CPU都在课本上找不到实物,与现实脱节的教材早就应该被淘汰。所以选择实用性好,容易掌握,应用广的教材是十分必要的。在选择时,要先参考其他好的同类型教材,不断吸收新知识、新思想。回到微机原理这门课的教材上来,重点应放在通用性较强的编程和实际生活中经常用到的原理上面,舍去哪些早已过时的成分,让课本更加精炼。同时还要做到以计算机内部结构、指令系统、基本扩展、输入和输出、数/模和模/数为主,整合接口课程和微机原理课程。 (2)实验条件差。大多数学校微机实验设备过旧,不能真实的反映真实实验结果。通常情况下,这种模式采用微机插卡的形式使用实验箱,将微机里的ISA总线通过电缆接入实验箱内;还有一些更早的实验箱通过RE-232串口来仿真实验环境。这样,一些重要的微机原理实验例如中断不是在实际微机环境下进行的,不能让学生真正理解理论知识,这是要不得的。另外,实验室经常出现损坏接口的现象,大大阻碍的实验的正常进行。而实验在微机原理教学中占有如此重要的地位,只有通过实验,学生才能消化理论知识。但由于各方面的原因,学校不能投入更多资金改善实验环境。对于这一现象,多运用开放性实验,减少验证性实验才是有效的选择。这样不仅有利于学生掌握理论,还能让学生自主选择实验项目、实验仪器,自己编写实验过程,使学生的想象力在实验的过程中得到充分的发挥。 (3)教学方法运用不当。从Windows2000的微机系统开始它的保护模式使得微机硬件底层的有关操作不能很好的执行。这与微机原理实用性相违背。而在当前的教学中,学生很少设计实验去解决遇到的问题,他们进行的都是验证性实验。8086系列的汇编语言指令较多,寻址方式复杂,难以掌握。过去通过Debug调试,能够较好地掌握汇编程序。但是例如中断这样的实验,涉及到底层硬件操作则无法进行。加上众多版本的汇编集成环境,兼容性不佳,人机互动不理想等问题,使得学生提不起兴趣,实践漏洞百出。这样的汇编语言学习就是无本之木,纸上谈兵。其他类似的应用型课题同样如此。所以要让学生自己尝试,活学活用,积极动手动脑,才能真正掌握知识,从而改变教学形式以达到改善教学和实践。1.2.2国外教学模式 国外工科教学一般有三个环节:课堂教学、实验教学和项目(Project)作业训练,尤其重视实验教学和项目作业训练,影响较大的几种教学模式如下: (1) 掌握学习模式: 强调个别化教学, 利用及时反馈和强化作为控制教学的有效手段, 而编写得当的习题是获得反馈的重要途径。实践表明: 个别化教学的学生的平均分比群体教学高两个标准差, 前者绝大部分学生考试成绩达到优良, 而后者则只有少数。 (2) 发现学习模式: 首先提出问题, 带着问题意识观察具体事实, 再分析问题, 然后再上升到一般的概念。 (3)范例教学模式: 教师用特例具体直观地阐明个体的具体特征; 学生根据范例个体的知识推论特点, 分析掌握整个类别事物的特征, 使对个体的认识上升为对类别的认识, 从而掌握其规律和范畴。 (4)最优化教学模式: 一个好的最优化教学方案的形成的基本过程是: 分析教学目的与教学任务;分析学生学习情况与教师自我分析; 学时分析;选择已知条件下最佳教学任务的综合性手段与方案; 对教学质量进行评价。传统的教学方法和手段, 制约了以上教学模式的推广应用。尤其是网络多媒体辅助教学系统的建立和以可视化为特征的多媒体技术的应用, 有利于综合这些模式的长处,创建各种现代教学模式。 综上所述,微机原理课程的教学和实验改革必须从实践和实用的角度出发。但是该门课程设计范围广,且是高校工科学生的主课,其重要性不言而喻,这就决定了必须谨慎对待累计知识经验、确定课程范围、选择课程内容以及顺应社会需求,影响课程的各种因素都要考虑到。在改革过程中,应充分发挥教师和学生的创造性和能动性,不断丰富教学方式、改善教学方法、激发学生的主动性和积极性,加强培养实践能力,使他们获得更多的技能和知识。2、 研究方案论证2.1研究内容对飞制专业,微机原理课程的教学内容有以下几点: (1)学习并了解计算机中的常用数制及转换,微型计算机的基本组成结构和工作原理。 (2)学习并了解16位微处理器的主要内部结构、功能部件、外部特性、主要引脚信号、最大寻址范围、运算字长、工作方式和主要操作功能。 (3)学习并了解计算机中常用存储器分类、特点、工作原理、外部特性和用途。 (4)学习并掌握8086CPU的指令系统、汇编语言的基本语法结构和汇编语言程序设计方法。 (5)学习并了解计算机中输入/输出(I/O)接口的主要作用、功能、工作原理和常用的基本控制方式以及串、并行通信的特点。 (6)学习并熟练掌握可编程并行I/O通信接口芯片8255的主要作用、功能、工作原理、内部主要结构和外部特性、初始化编程和应用技术。掌握简单人机外设(按键和LED数码显示器)的工作原理、与CPU的连接和管理方法。 (7)学习并熟练掌握可编程计数/定时控制器I/O接口芯片8253的主要作用、功能、工作原理、内部主要结构和外部特性、初始化编程和应用。(8) 学习并了解计算机中其它常用I/O接口电路芯片的主要作用、功能、工作原理、编程和应用。其中包括:中断控制器8259的主要作用、功能、工作原理、编程和应用方法。A/D和D/A转换接口电路的主要作用、功能、工作原理和应用方法。实验内容方面,软件上,以往的教学和学习当中,以debug为主,在DOS环境中的MASM汇编的学习。为了适应时代的需求,课程需要进行改革,目标是在windows环境中进行emu8086的学习。硬件上,主要掌握proteus和emu8086的操作。2.2方案论证2.2.1Emu8086和Debug在微机原理课程中的应用在微机原理教学中,可以使用Emu8086仿真软件和Debug软件进行汇编语言源程序的调试,微机原理及应用课程以微型计算机的硬件组成、半导体存储器、微处理器的内部结构、输入输出与中断技术、汇编语言程序设计、输入输出与中断技术等为主要内容,是软件与硬件相结合的一门课程。为了提高学生合计程序的能力以及更全面地理解微机的工作原理,我们在实际教学中药使用一些软件对汇编语言源程序进行调试。在DOS时代,通常用系统自带的Debug来进行汇编指令的学习,运行源程序和调试,通过断点设置和单步执行来观察在内存中汇编语言源程序的执行状况,但其观察结果不直观,而且使用也不方便。Windows时代后,出现了Emu8086仿真软件,这款软件容易掌握,界面简单。使用Emu8086仿真运行汇编语言源程序时,能够清楚地观察内存、寄存器和堆栈内容的变化,学生通过观察能直挂地了解微机的工作原理,加深了对内存管理以及微机程序运行的具体机制的认识,从而提高学习兴趣,改善学习效果。现在大多数人都选用Emu8086,下面通过一个实例来比较两个软件的使用情况进行对比和介绍。 编程:在XX单元开始的连续存储单元中存放有10个无符号字节数,从中找出最大者送yy单元,并显示出最大数。1、 使用Emu8086仿真软件调试和运行程序Emu8086它内部集成了汇编语言源程序的编译器和连接器,是一款较为先进的PC仿真软件,它自带学习学习只能、参开程序,还提供了步进电机、交通灯等虚拟外设,能够有效地帮助初学者掌握8086/8088微处理器的工作原理和设计汇编语言程序。它的工作界面简洁明了,包括菜单栏和快捷按钮栏,通过这些能够方便地看到处理器执行各个指令的过程,其中的单步调试功能能够清晰地显示出CPU执行内部各个内存器、寄存器、堆栈、标志寄存器和变量当前的值。如下简单介绍它的使用方法。(1) 编辑源程序。打开Emu8086,在,用户工作区输入源程序,并保存。(2) 编译源程序。单机Emu8086工具栏上的“编译(compile)”按钮,如果有错误,系统会提示错误信息,修改好后再编译,如果没有错误,系统会弹出一个“另存为”对话框,提示文件存放位置和文件名称。编译成功后,会弹出“assembler status”对话框,单击其中的“run”按钮,可直接运行程序,得到运行结果。 (3)模拟仿真。单击Emu8086工具栏上的“emulate”按钮,可将已编辑好的源程序文件导入仿真器直接执行,如下图所示。在该仿真器窗口中,可以看到当前即将执行的指令的机器代码,以及汇编译后的指令的执行情况,也可以看到相关寄存器及存储器等数据变化情况。单击窗口工具栏上的“single step”按钮,可以进行程序的单步执行操作。在单步操作界面中,可以方便地观察指令执行情况以及寄存器内容的变化情况,还可以看到汇编后生成的机器码以及每条指令在内存中所占存储器单元的物理地址。可以看到,该界面能够非常直观形象地展示CPU工作的状态变化和工作过程。通过点击“run”按钮,可以直接执行程序,得到程序运行结果。 图1.模拟仿真2、使用Debug软件调试和运行程序 Debug是DOS种的一个外部命令,从DOS1.0起就带有此命令,该命令的功能比较强大,既可以帮助大家看见汇编语言里很多抽象的东西,比如寄存器、内存、和堆栈内容,也可以帮助练习汇编指令、调试编写的汇编程序等。 (1)在使用Debug调试之前,先使用文本编辑器(例如使用Edit)编写好源代码,以.asm为文件后缀名存盘。 (2)使用Masm进行汇编,生成.obj文件,在汇编过程中如果发现源程序有语法错误,会列出相关错误信息。 (3)使用Link连接生成的可执行文件,连接过程如果有错,会显示出错误信息。(4)在命令提示符下输入可执行程序名ex5-12,运行程序,程序运行结束后返回DOS。如果程序中没有显示结果的相关指令,则看不到运行结果。(5)可以借助Debug,详细了解指令执行情况和寄存器状态。比如利用Debug中的“R”命令可以查看或修改寄存器的内容;利用Debug中的“T”命令可以实现单步跟踪调试,如图2所示。 图2.Debug单步调试 从上面的例子可以看出,Debug软件可以观察汇编语言源程序的内存代码在内存中具体的执行情况,但是它的界面是DOS环境下的字符模式,非常地不直观,无论是学生上机实验还是教师课堂演示都不方便,因此,通过用Debug命令来跟踪程序比较困难。对于初学者来说,难以理解和掌握,没有直观地互动。2.2.2 Proteus 软件应用于电子专业课教学的优势 微机原理传统实验课的不足在上面已经讨论过,为满足新时代的需要,我们引入Proteus进入实验教学中。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086、8051、HC11和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。Proteus有以下几方面的优势,一是Proteus电路仿真软件的功能十分完善,可以仿真模拟一般电路和各种如单片机程序这样的应用程序。过去使用比较普遍的是EWB,其信号发生器、界面、仪表功能都不能使人满意。而Proteus这方面做得非常完善,主要表现在以下几个方面:(1)包括直流、交流的各种电源;包括矩形波、三角波、正弦波、尖脉冲、音频信号在内的各种信号源;Proteus还能设定电压、频率和其他各种参数。(2)Proteus能够实现可发光和开关的发光二极管、数码管、灯泡等以及可以发声的扬声器,可观察到电路现象的实物电路。(3)包含各种仪表:安培表、微伏表、毫安表等各种电流表;四踪示波器;频率计等。总之,我们在实验室里能够用到的器件在Proteus上都能完美的实现。远远超过了以往的类似软件。二是真实并且直观,比起真实的实验电路,Proteus不仅都能实现,而且操作更灵活,数据更准确。三是不需要大的投资,并且实现零损耗,符合市场的趋势。在普通的多媒体上装上Proteus软件便可。这样就避免了以往出现的仪器损坏的情况,能够极大的节约时间用于实验的进行,并且更新简单,只要有新的版本出现,只需联网升级就能使用更新更全的功能。四是与纯理论教学相比,学生更容易接受这种多媒体教学方式,学生的兴趣也因此相应提高,并且能够增加感性认识,理解原理变得比以往更容易,教师的教学任务也得以完成。通过多媒体教学,教师可以提出问题、总结问题是学生真正理解课本的内容。3、 实验设计3.1 IO口读写实验1. 实验目的(1)了解 CPU常用的端口连接总线的方法。 (2)掌握 74HC245、74HC373 进行数据读入与输出。2. I/O接口的基本功能微型计算机上的所有部件都是通过总线互联的,外部设备也不例外。I/O接口就是将外设连接到系统总线上的一组逻辑电路的总称,也称为外设接口。在一个实际的计算机控制系统中,CPU与外部设备之间常需要进行频繁的信息交换,包括数据的输入/输出、外部设备状态信息的读取及控制命令的传送等,这些都是通过接口来实现的。由I/O接口在系统中的位置可以得出接口电路应具有如下功能。(1) I/O地址译码与设备选择。所有外设都通过I/O接口挂接在系统总线上,在同一时刻,总线只允许一个外设与CPU金星数据传送。因此,只有通过地址译码选中的I/O接口允许与总线相通,而未被选中的I/O接口呈现为高阻状态,与总线隔离。(2)信息的输入/输出。通过I/O接口,CPU可以从外设输入各种信息,也可将处理结果输入到外设;CPU可以控制I/O接口的工作(向I/O接口写入命令),还可以随时监测与管理I/O接口和外设的工作状态;必要时,I/O口还可以通过接口向CPU发出中断请求。(3)命令、数据和状态的缓冲与锁存。因为CPU与外设之间的时序和速度差异很大,为了能够确保计算机和外设之间可靠地进行信息传送,要求接口电路应具有信息缓冲能力。接口不仅应缓存CPU传送给外设的信息,也要缓存外设送给CPU的信息,以实现CPU与外设之间信息交换的同步。(4)信息转换。I/O接口还要实现信息格式变换、电平转换、码制转换、传送管理以及联络控制等功能。3.I/O端口的编址方式 (1)I/O端口与内存单元的统一编址 I/O端口与内存单元统一编址方式又称为存储器映射编址方式,即把每个I/O端口都当做一个存储器单元看待,端口与存储器单元在同一个地址空间中进行编址。通常是在整个地址空间中划分出一小块连续的地址分配给I/O端口。被端口占用了的地址,存储器不能再使用。右图给出了I/O端口与内存单元统一编址的示意图。图中,分配给I/O端口的地址范围为F0000HFFFFFH,共65536个地址。 (2)I/O口独立编址I/O口独立编址时,内存地址空间和外设地址空间是相互独立的。例如,8086/8088系统的内存地址范围为00000HFFFFFH,而外设端口的地址范围为0000HFFFFH,这两个地址空间相互独立,互不影响。CPU在寻址内存和外设时,使用不同的控制信号来区分当前是对内存操作还是对I/O端口操作。当8088的IO/M信号为低电平时,表示当前CPU执行的是存储器读写操作,这时地址总线上给出的是某个存储单元的地址;当IO/M信号为高电平时,则表示当前CPU执行的是I/O读写操作,这时地址总线上给出的是某个I/O端口的地址。另外,采用I/O端口独立编址CPU,其指令系统中单独设置有专用的I/O指令,用于对I/O端口进行读写操作。 4.I/O端口地址的译码所有输入/输出接口与CPU之间的通信都是由I/O指令来完成的。在执行I/O指令时,CPU首先需要将要访问端口的地址放到地址总线上(即选中该端口),然后才能对其进行读写操作。将总线上的地址信号转换为某个端口的“使能”(Enable)信号,这个操作就称为端口地址的译码。下面以一个具体例子来说明。某外设接口有4个端口,地址为2F0H2F3H,由A15A2译码得到,而A1、A0用来区分接口中的4个端口。试画该接口与系统的连接图。地址范围: 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 片内地址 任意状态 图中不接入译码电路图如图所示: 5.接口电路的基本构成 CPU通过接口与外部设备的连接如图所示。通过接口传送的信息除数据外,还有反映当前外设工作状态的状态信息以及CPU向外设发出的各种控制信息。 CPU与外设之间的接口 负责把信息从外部设备送入CPU的接口(端口)叫做输入接口(端口),而将信息从CPU输出到外部设备的接口则称为输出接口。在输入数据时,由于外设处理数据的时间一般要比CPU长的多,数据在外部总线上保持的时间相对较长,所以要求输入接口必须要有相对数据的控制能力,即只有当外部数据准备好,CPU可以读取时才将数据送上系统总线。若外设本身具有数据保持能力,通常可以仅用一个三态门缓冲器作为输入接口。当三态门控制端信号有效时,三态门导通,外设与数据总线相同,CPU将外设准备好的数据读入;当其控制端信号无效时,三态门断开,该外设就从数据总线脱离,数据总线又可用于其他信息的传送。本实验所用的三态门芯片如图所示。74HC245是一款高速CMOS器件,74HC245译码器可接受3位二进制加权地址输入(A0,A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC245特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC245芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC245亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。用一个74HC245芯片作为输入接口最多可以连接8个开关或其他具有信号保持能力的外设。当然也可只接一个外设而让其他端悬空,对空着未用的端,其对应位的数据是任意值,在程序中常用逻辑“与”将其屏蔽掉。在输出数据时,同样由于外设的速度比较慢,要使数据能正确写入外设,CPU输出的数据一定要能保持一段时间。如果这个“保持”的工作由CPU来完成,则对其资源就必然是个浪费。实际上,CPU送到总线上的数据只能保持几微秒。因此,要求输出接口必须要有数据的锁存能力。CPU输出的数据通过总线送入接口锁存,由接口将数据一直保持到被外设取走。简单的输出接口一般由锁存器构成。 本实验中用到的锁存器是74HC373,它是373为三态输出的八 D 透明锁存器,共有54/74S373和54/74LS373两种线路结构型式373的输出端O0O7可直接与总线相连。当三态允许控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。引出端符号:D0D7数据输入端OE三态允许控制端(低电平有效)LE锁存允许端O0O7输出端本实验程序流程图如下:6.实验过程本实验程序流程图如下:打开Emu8086,输入以下程序并编译:CODE SEGMENT ; ASSUME CS:CODE IN245 EQU 0D000H OUT373 EQU 8000H START: MOV DX,IN245 IN AL,DX MOV DX,OUT373 OUT DX,AL JMP START CODE ENDS END START 打开Proteus,画出仿真电路图:将Emu8086编译的程序导入到8086中,在Proteus中仿真,按下8位开关中任意一个开关,点亮对应的LED灯,实验成功。3.2 8255并行I/O扩展实验并行接口是实现并行通信的接口。其数据传送方式有两种:单向传送(只作为输入口或输出口)、双向传送(既可作为输入口,也可作为输出口)。并行接口可以很简单,如锁存器或三态门;也可以很复杂,如可编程并行接口芯片。8255是Intel公司生产的为X86系列CPU配套的可编程并行接口芯片。所谓可编程,就是可以通过软件的方式来设定芯片的工作方式。8255的通用性较强、使用灵活,是一种典型的可编程并行接口。1. 实验目的(1)了解 8255芯片结构及编程方法。 (2)了解 8255输入、输出实验方法。2.8255的引线及结构8255的外部引线如图所示,共有40个引脚,其功能如下。(1) D0D7:双向数据信号线,用来传送数据和控制字。(2):读信号线,低电平有效。与其他信号线一起实现对8255接口的读操作,通常接系统总线的信号。 (3):写信号线,低电平有效。与其他信号一起实现对8255的写操作,通常接系统总线的。 (4):片选信号线,低电平有效。当系统地址信号经译码产生低电平时选中8255芯片,使能够对8255进行操作。 (5)A0、A1:口地址选择信号线。8255的内部包括3个独立的输入/输出端口(A口、B口和C口)以及一个控制寄存器。A0、A1地址信号经片内译码可产生4个有效地址,分别对应A、B、C三个口和内部控制寄存器,具体规定如下表所示。 A1 A0选择A1A0 选择00A口10 C口01B口11控制寄存器在实际使用中,A0、A1通常接系统总线的A0、A1,它们与一起来决定8255的接口地址。(1) RESET:复位输入信号。通常接系统的复位RESET端。当它为高电平时使8255复位。复位后,8255的A口、B口和C口均被预设为输入状态。(2) PA0PA7:A口的8条输入/输出信号线。这8条线是工作于输入、输出还是双向(同时为输入或输出)方式可由软件编程决定。(3) PB0PB7:C口的8条线,根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线。3.8255的控制字及状态字(1)控制字 8255的控制字包括用于设定3个端口工作方式的方式控制字,如图(a)所示,以及用于将C口某一位初始化为某个确定状态(“0”或“1”)的位控制字如图(b)所示。两个控制字均由8位二进制数组成,由最高位(D7)的状态决定当前的控制字是方式控制字还是C口的按位操作控制字。控制字各位的含义如图所示。 由图可知,当D7=1时,该控制字为方式控制字,用于确定各端口的工作状态。D6D3用来控制A组,即口A的8位和C口的高4位;控制字的低3位D2D0用来控制B组,包括B口的8位和C口的低4位。当D7=0时,制定该控制字为对C口进行位操作控制按位置位或复位。在必要时,可利用该控制字使C口的某一位输出0或1。(2) 状态字状态字反映了C端口的各位当前的状态。当8255的A口、B口工作在方式1或A口工作在方式2时,通过读C口的状态可以检测A口和B口当前的的工作情况。A、B口工作在不同方式下的状态字各位的含义分别如图所示,其中低3位D0D2由B口的工作方式来决定。当为方式1输入时,其定义如图(a);当工作在方式1输出时,与图(b)所定义的D0D2相同。需要说明的是,在图(a)和(b)分别表示在方式1之下,A口、B哭同为输入或同为输出的情况。若在次方式下,A口、B口各为输出或输入时,状态字为上述两种状态字的组合。4.实验过程 本实验程序流程图如下 打开Emu8086,输入以下程序并编译。CODE SEGMENT ; ASSUME CS:CODE IOCON EQU 8006H IOA EQU 8000H IOB EQU 8002H IOC EQU 8004H START: MOV AL,90H MOV DX,IOCON OUT DX,AL NOP START1: NOP NOP MOV AL,0 MOV DX,IOA IN AL,DX NOP NOP MOV DX,IOB OUT DX,AL JMP START1 CODE ENDS END START 打开Proteus,画出仿真图。将Emu8086编译的程序导入到8086中,在Proteus中仿真,仿真结果类似于实验1,按下8位开关中任意一个开关,点亮对应的LED灯,实验成功。 3.3 可编程定时/计数器8253实验 在数字电路、计算机系统以及实时控制系统中常需要用到定时信号,如函数发生器、计算机中的系统日历时钟、DRAM的定时刷新、实时采样和控制系统等都要用到定时信号。定时/计数器在计数方式上分为加法计数器和减法计数器。加法计数器是每有一个计数脉冲就加1,当加到预先设定的计数值时产生一个定时信号;减法计数器是在送入计数初值后,每来一个计数脉冲就减1,减到零时产生一个定时信号输出。可编程定时器8253是一个减法计数器,它是Intel公司专为80x86系列CPU配置的外围接口芯片。1.实验目的 (1)了解8253定时器的硬件连接方法及时序关系; (2)掌握8253定时器/计数器的工作方式和编程原理。2.8253的引线及结构8255是Intel公司生产的三通道16b的可编程定时/计数器,是具有24根引脚的双列直插式器件,其外部引线如图所示。它的最高计数频率可达2MHZ,使用单电源+5V供电,输入/输出均与TTL 电平兼容,其主要引脚的功能如下。 (1)D0D7::8位双向数据线。D0D

温馨提示

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

评论

0/150

提交评论