微机原理_多路抢答器设计论文_第1页
微机原理_多路抢答器设计论文_第2页
微机原理_多路抢答器设计论文_第3页
微机原理_多路抢答器设计论文_第4页
微机原理_多路抢答器设计论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、西安建筑科技大学课程设计(论文)课程设计(论文)课程名称: 微机原理与接口技术 题 目: 多路抢答器设计 院 (系): 理学院 专业班级:电子信息科学与技术1301 姓 名: 彭博 学 号: 131004033 指导教师: 张爱萍 2016 年 1 月 8 日西安建筑科技大学课程设计(论文)任务书专业班级:电子信息科学与技术1301 学生姓名: 彭博 指导教师(签名): 1、 课程设计(论文)题目 多路抢答器设计二、本次课程设计(论文)应达到的目的通过本次课程设计,加深对微机原理基本知识的理解,逐步掌握Proteus的操作方法,并能仿真做出一个抢答器,从而进一步提高综合运用知识的能力,同时通过

2、实习掌握书写课程设计报告书的步骤和方法。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 1、熟悉Proteus软件和Emu8086软件,8086CPU及编程技巧;2、熟悉8255A接口芯片,8253芯片及利用8255A芯片、8253芯片实现对外设控制的原理;3、利用Proteus软件,以Intel 8086 CPU为核心,结合8255接口芯片设计抢答器仿真电路,在Emu8086软件环境下,编写程序,最终实现当抢答开始,若有选手按动按钮,在数码管上显示选手的编号,并且发生声响,直到按下复位按键,就可开始下一轮抢答。四、应收集的资料及主要参考文献: 1、陈卫红

3、微型计算机基本原理与接口技术(第三版)科学出版社 20152、刘云玲微机原理与接口技术实验指导清华大学出版社 20143、和宏微机原理与接口技术基于Proteus仿真的8086微机系统设计及应用清华大学出版社 20154、邹逢兴微机原理与接口技术经典实验案例集高等教育出版社 20125、周景润Proteus入门实用教程机械工业出版社 2007五、审核批准意见教研室主任(签字) 摘要本次课程设计通过使用Intel8086 CPU控制,配合8255A可编程并行接口芯片、可编程计数器8253芯片与若干按钮开关以及数码管等来实现一个简易的多路抢答器的制作。这一设计利用了8255A芯片的输入与输出功能以

4、及8253芯片的计时功能以及发声功能,通过汇编语言编程,使其具有抢答、显示、响声、复位的功能。本次设计贴近生活,实用性高,判断精确,操作简单。它的功能实现是当比赛开始时,主持人读完题目即可按下开始运行电路的总开关,此时开始第一轮抢答,同时有7个选手进行抢答,第一个按下开关的选手的编号将会显示在数码管上,并且在抢答到的同时会有声响提示,其余选手再按下开关将会无效,此时只有通过按下按钮8才能重置数码管显示为零,开始下一轮抢答。本设计使用Proteus仿真软件以及Emu8086汇编软件进行设计,不需要进行实际电路的安装,只需要在一台安装有Proteus以及Emu8086的计算机上进行仿真设计以及调试

5、即可。具有线路简单、结构紧凑、性能优越等特点。关键词:抢答器,8086,8255A,8253,ProteusAbstractThis experiment by using Intel8086 CPU control, with 8255 a programmable parallel interface chip and several programmable counter 8253 chip and push button switch and digital tube and so on to achieve a simple multiplex buzzer. This desig

6、n using the input and output functions of the 8255 a chip and 8253 chip timing function and voice function, through the assembly language programming, make its have vies to answer first, display, sound and reset function. The design of press close to life, high practicality, judgement precision, sim

7、ple operation. The realization of the function of the it is when the game starts, the host read subject to press start running circuit without the master switch, at this time to start the first round of the contest, at the same time, there are seven contestant vies to answer first, first press the s

8、witch of the contestant's serial number will be displayed on the digital tube, and at the same time of vies to answer first to have sound prompt, the rest of the players to press the switch will be invalid, this time can only be reset by pressing the button 8 digital tube display is zero, begin

9、the next round of vies to answer first. This design uses Proteus simulation software and Emu8086 assembly software to carry on the design, do not need to undertake the installation of the actual circuit, only need a 7-day with Proteus and Emu8086 computer simulation design and debugging. Has the cir

10、cuit simple, compact structure, superior performance, etc. Key words: buzzer, 8086, 8255A, 8253, Proteus 目录1 绪论11.1 设计介绍11.2 Proteus仿真软件介绍11.3 抢答器介绍21.3.1 抢答器主要功能21.3.2 抢答器主要组成21.3.3 抢答器的工作原理22 硬件设计原理32.1 电路图设计32.2 电路中各芯片介绍42.2.1 Intel 8086 处理器42.2.2 可编程并行接口芯片8255A52.2.3 可编程计数/计时器8253芯片72.2.4 其他芯片83

11、 软件设计原理103.1 流程图103.2 程序114 系统仿真调试144.1 运行程序开始抢答144.2 选手按下按钮抢答144.3主持人重置抢答器155 心得体会16参考文献171 绪论1.1 设计介绍本设计是基于Intel 8086处理器进行设计的抢答器装置,通过处理器以及总线、数码管、一系列开关之间的配合,连接成为一个抢答器。本次设计由于条件所限,使用了Proteus仿真软件进行模拟,这样做的好处有:形式直观、成本低廉、方便调试、便于修改。1.2 Proteus仿真软件介绍Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(仿真软件)。它不仅具

12、有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,而我们在本次的课设中,用到的就是使用Proteus来仿真8086处理器。图1-1是Proteus软件界面。图1-1 Proteus界面1.3 抢答器介绍1.3.1 抢答器主要功能本次抢答器的主要功能如下:主持人按下开始

13、按钮后选手即可开始抢答、第一个按下按钮的选手的号码将会显示在用数码管做成的屏幕上、在第一个之后按下按钮的选手将会不予理睬,数码管维持显示第一个按下的选手的号码、只有在主持人按下重置按钮之后数码管才会归零然后开始下一轮抢答,这一过程中总共有8个按钮,其中7个按钮用于选手抢答,第8个按钮用于主持人开始以及重置抢答器。1.3.2 抢答器主要组成本抢答器主要由四部分组成:1 Intel 8086 处理器;2 8255A可编程并行接口芯片;3 8253可编程计数芯片;4 数码管以及按钮开关。1.3.3 抢答器的工作原理1 通过8255芯片接收来自按钮的信息,将该信息送入8086 CPU,由 CPU判断是

14、哪个按键按下; 2 8086 CPU将判断出的按键信息转换为7段显示码,并通过8255芯片发送到7段数码管显示;3 同时8086 CPU将一个发声信号通过8253芯片送到扬声器发声; 4 当一位选手抢答成功后,此时其他选手再按下按键不会产生任何作用,只有当按下复位键后,才能进行下一轮抢答。2 硬件设计原理2.1 电路图设计下图2-1为本次课设设计的电路原理图。图2-1 抢答器电路原理图如图2-1,在这次课程设计中,我们用到了Intel 8086 处理器芯片、3片74273芯片、一片74154芯片、一片8255A芯片、一片8253芯片、8个按钮开关、一个数码管以及若干逻辑电路。其中8086处理器

15、用于运行汇编语言程序,实现逻辑功能;8255A芯片用于接收来自开关的信号送给CPU、送出CPU给予数码管的信号;8253芯片用于接收来自CPU的信号使扬声器发声。在本电路中,8086处理器的地址线先连接总线,再通过总线连接到74273芯片、74154芯片、8255A芯片、8253芯片。8255A芯片以及8253芯片再与数码管、开关、扬声器连接。为8255A分配的四个端口地址分别为 A口:0000h、B口:0002h、C口:0004h、控制口:0006h。8253的各端口地址:通道0:0200h、通道1:0202h、通道2:0204h、控制口0206h各个芯片具体的介绍与在本次课设中的使用方法见

16、下节。2.2 电路中各芯片介绍2.2.1 Intel 8086 处理器图2-2是在Proteus仿真软件中的8086处理器。图2-2 Proteus仿真软件中的8086结合图片简单介绍8086各引脚的功能:A16A19/S3S6:分时复用的地址/状态线;AD15AD0:8086 地址和数据总线的分时复用AD7AD0:8088 地址和数据总线的分时复用ALE:地址锁存信号,输出BHE:总线高位使能信号,三态输出线 DT/R:数据传送方向控制信号,输出DEN:数据总线有效控制信号,输出 WR:写控制信号,输出RD:读控制信号,输出M/IO(IO/M):CPU区分当前操作是访问存贮器还是访问I/O端

17、口的三态输出控制线NMI(Non-Maskable Interrupt):非屏蔽中断请求输入信号。边沿触发,正跳变有效。当CPU检测到NMI有一个正沿触发的信号以后, CPU执行完当前指令便响应非屏蔽中断请求。非屏蔽中断是不受中断允许标志IF的影响的,不能用软件进行屏蔽。用于处理紧急事务。INTR(Interrupt Request): 可屏蔽中断请求输入信号,高电平有效。 如果INTR信号有效, 当CPU的中断允许标志IF1时,CPU结束当前指令后,响应INTR中断。INTA:中断响应信号,CPU对的INTR的响应 。在响应过程中,输出两个负脉冲。HOLD:向CPU提出保持请求信号,高电平有

18、效HLDA:CPU对HOLD请求的响应信号,高电平有效 。TEST:执行WAIT指令时,每5个时钟周期采样该管脚一次,若为1继续等待,为0则结束等待,执行下一条指令。通过该引脚可使主处理器和协处理器的操作保持同步。CLK:时钟信号输入端,系统通过该引脚向CPU提供内部定时信号,定时信号一般由时钟发生器8284输出。8086的标准工作时钟频率为5MHz。READY(Ready):准备就绪输入信号,高电平有效。为了CPU能和不同速度的存储器或I/O接口进行连接, 设计了READY信号。为1时,被访问部件准备就绪;为0时,被访问部件未准备就绪。RESET:复位信号,输入,高电平有效.信号有效时,CP

19、U结束当前操作并对标志寄存器FLAG 、IP、DS、SS、ES及指令队列清零,并将CS设置为FFFFH。 当复位信号撤除时,(即电平由高变低时)CPU从FFFF0H开始执行程序。 这也是8086系统程序的起始地址,即开机后程序的起始位置。一般的8086系统,将系统程序固化在ROM中,ROM的地址应包含FFFF0H.VCC:+5V电源输入引脚。GND:接地端 MN/MX:工作模式选择输入线,当MN/MX=1时,选择最小模式;当MN/MX=0时,选择最大模式。 2.2.2 可编程并行接口芯片8255A图2-3是Proteus仿真软件中的8255A芯片。结合图2-3简单介绍8255A芯片的各引脚功能

20、:PA7PA0:A口的8条IO线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。 PB7PB0:B口的8条IO线。不可以设置成双向口,其它作用和A口一样。 PC7PC0:C口的8条IO线。不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。除了作为独立的IO线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。图2-3 Proteus仿真软件中的8255A芯片 A1、A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制口。当A1A0为00时,选择端口A;为01时,选择端口

21、B;为10,选择端口C;为11时,选择控制口。图2-4 本设计中8255A芯片连接方法如图2-4,在本次课程设计中,我们使用A端口连接数码管,实现显示抢答选手号码的功能;使用C端口连接按钮开关,实现接受选手按下按钮的信号,再通过把8255A与8086CPU连接,来实现使用处理器达成抢答器的功能。2.2.3 可编程计数/计时器8253芯片图2-5为Proteus仿真软件中的8253芯片。图2-5 Proteus仿真软件中的8253结合图2-5简单介绍8253芯片的各引脚功能:8253的引脚可以分为两部分:与CPU的接口引脚和与外设的接口引脚。(1) 与CPU的接口引脚 D0D7:三态双向数据线,

22、和CPU数据总线相连,用于传输CPU与8253之间的数据信息、控制信息和状态信息。CS:片选信息,输入、低电平有效。A1、A0:用来对8253A片内三个计数通道和控制字寄存器进行寻址。RD:读信号,输入,低电平有效。WR:写信号,输入,低电平有效。(2) 与外设的接口引脚CLK:时钟输入引脚,用于输入定时脉冲或计数脉冲信号。计数器对这个引脚输入的脉冲进行计数。GATE:门控输入端。用于外部控制计数器的启动计数和停止计数的操作。两个或两个以上计数器连用时,可以用此信号来同步,也可用于与外部某信号的同步。OUT:计数输出端。不管8253以何种方式工作,当计数器计数到0时,在OUT引脚上必定有输出。

23、在不同模式下,可输出不同形式的信号。图2-6 8253的连接方式如图2-6,在本次课程设计中,我们使用计数器0来计时,使用计数器2来输出方波信号以发声。在设计初期,仅仅使用了计数器2用以发声,但出现了一单给予计数器2信号,扬声器便会一直工作发声,无法停止的情况,于是我新增了计数器0。将计数器0的OUT端连接计数器2的GATE端,通过方式0进行计时,根据方式0的特性,使得计数器2只有在计数器0计数时会工作,从而解决了这个问题。再通过把8253与8086CPU连接,通过汇编语言编程来实现有人抢答到时便发出一声响声。2.2.4 其他芯片74273芯片:用于地址锁存。由于8086,地址、数据线分时复用

24、的特点,必须使用地址锁存器将地址信号进行锁存,再进行译码,以防止译码过程中地址信号被数据信号覆盖。见图2-7。图2-7 74273芯片74154芯片:用于地址译码。74154是一种译码器芯片。 若将使能端G1和G2中的一个作为数据输入端,由ABCD对输出寻址,54/74154还可作1线16线数据分配器。见图2-8。图2-8 74154芯片通过74154的4-16译码器对端口地址进行编码,来实现在不同时间分别选中8255A芯片或者8253芯片。在本次课程设计中,8255A的片选端连接74154的IO0端、8253的片选端连接74154的IO1端。结合其他地址线的连接方法,因而8255A

25、的四个端口地址信号分别为A口:0000h、B口:0002h、C口:0004h、控制口:0006h。8253的各端口地址:通道0:0200h、通道1:0202h、通道2:0204h、控制口0206h。3 软件设计原理3.1 流程图图3-1 流程图 3.2 程序data segment;8255A的各端口地址;ioa equ 0000hiob equ 0002hioc equ 0004hiokz equ 0006h ;8253的各端口地址;io0 equ 0200hio1 equ 0202hio2 equ 0204hiokz2 equ 0206h;LED灯换码表;led db 06h,5bh,4f

26、h,66h,6dh,7dh,07hdata endscode segmentassume cs:code,ds:datastart: mov ax, data mov ds, ax mov dx,iokz mov ax,89h out dx,al ;初始化8255 mov al,10110110B mov dx,iokz2 ;初始化8253 out dx,al ;计数器2为方波发生器 mov al,00110000B out dx,al ;计数器0为计时器 mov dx,ioa mov al,00h out dx,al nop mov al,3fh out dx,al nopsss: mov

27、dx,ioc ;等待PC0PC6输入一个信号 in al,dx cmp al,11111111b jz sss cmp al,01111111b jz sss xor al,11111111b mov cl,0ffhrr: inc cl shr al,1 jnc rr mov al,cl mov bx,offset led xlat mov dx,ioa out dx,al ;数码管显示数字 MOV DX,12H MOV AX,34DEH ;通道2开始发声 mov bx,700 DIV bx mov dx,io2 out dx,al mov al,ah out dx,al mov dx,io0

28、 mov ax,0FFFFH ;通道0开始计时,计时结束通道2关闭 out dx,al mov al,ah out dx,al wai: mov dx,ioc in al,dx cmp al,01111111b ; 若此时按下PC7则清零并开始下一轮 jnz wai mov dx,ioa mov al,3fh out dx,al jmp ssseee: mov ah,4ch int 21hcode ends end start4 系统仿真调试4.1 运行程序开始抢答我们在Proteus软件中配置好电路与源代码生成工具、源代码文件,在8086CPU中加载我们编写好的程序,点击运行,开始进行抢答。如图4-1。图4-1 开始抢答4.2 选手按下按钮抢答此时若其中一名选手按下按钮1按钮7中的一个按钮,则可通过数码管显示出这名选手的号码,同时扬声器发声提示。如图4-2、图4-3。图4-2 选手3按下按钮图4-3 数码管显示数字34.3主持人重置抢答器当一名选手抢答到题目之后,其余选手便不能再进行抢答,除非主持人按下8号按钮(重置键),此时数码管清零并且

温馨提示

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

评论

0/150

提交评论