微机原理课程设计报告.doc_第1页
微机原理课程设计报告.doc_第2页
微机原理课程设计报告.doc_第3页
微机原理课程设计报告.doc_第4页
微机原理课程设计报告.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

EDA课程设计报告-设计一个1HZ9999HZ的频率计微机原理课程设计报告题目名称: 流水彩灯的设计 学生姓名: 专业年级: 指导教师: 时 间: 2014年12月28日 电子信息工程2012级课程设计报告书目录设计报告书目录一、设计任务11.1 设计题目要求:11.2 设计目的11.3 设计环境1二、设计思路1三、设计过程23.1 总体框架图23.2 硬件电路设计33.3 软件系统设计4四、系统调试与结果74.1 系统运行截图74.2 系统状态表8五、 主要元器件与设备85.1 8086 的引脚信号85.1.1 与工作模式无关的引脚功能95.2 8255工作原理及内部结构115.2.1 8255A内部结构115.2.2 8255A引脚功能125.2.3 8255A的工作方式控制字14六、结论17七、参考文献18微机原理课程设计-流水彩灯的设计一、设计任务1.1 设计题目要求:1. 实现8位流水灯;2. 可以实现正向流水灯,也可以选择逆向流水灯,正向或者逆向可以通过开关来选择;3. 通过中断实现对流水灯闪烁的速度进行控制,控制速度为两种,高速和普通速度, 默认为普通速度;4. 在实验系统 TDN86/88 上实现。1.2 设计目的(1)了解流水灯的设计原理。(2)掌握流水灯编程方法和芯片8255的逻辑功能及使用方法。(3)掌握一定的汇编语言知识,培养自己的动手操作能力。(4)学习程序设计的基本思路和方法。(5)学习proteus电子仿真软件的使用。(6)学习使用TDN86/88 实验系统。1.3 设计环境PROTEUSTDN86/88 实验系统CPU必须使用8086,其余芯片任选二、设计思路流水彩灯的设计并不复杂,根据题目要求,使用开关控制流水灯的流水方向和流水的速度,可以不使用中断,经过分析,本题只用一个74LS373 地址锁存芯片,一个8086 ,一个8255A即可完成题目要求的所有功能,74LS373为三态输出的八 D锁存器,共有 54S373 和 74LS373 两种线路。八 D锁存器(3S,锁存允许输入有回环特性),当三态允许控制端 OE 为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。三、设计过程3.1 总体框架图图1 系统总体框架3.2 硬件电路设计1. 基本流水灯显示电路流水灯接受来自8255A的输出型号,信号0为亮,信号1位灭,因此,在八位系统设计时,8位二进制初始代码只能有一个是0,其余全部是1,从8255 的A口输出到8个LED灯,通过循环移位指令LOR将0在8位中依次移动,这样就能实现灯的依次亮起。2.流动方向选择把PC0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC0为高电平的时候则灯向左移动,低电平的时候则向右移动。默认流水方向为右。3.快慢速度控制把PC1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快。低电平的时候则进行延时的时间变长,使得流水灯的流水速度加慢。默认向右慢速。4.电路及连线设计(1)8255模块的WR、RD分别连到PC总线接口模块的IOWR、IORD。(2)8255模块的数据(D0D7)、地址线(A0A1)分别连到PC总线接口模块的数据(AD0AD7)、74LS373(Q1,Q2)。(3)8255模块选通线CS连到74LS373的Q3。(4)8255的PA0PA7连到发光二极管的L1L8。(5)8255的PC0、PC1分别连接在开关K0、K1。图2 系统连线图3.3 软件系统设计1 程序处理过程:(1)首先设置控制字,即A口为输出端口,C口的低2位作为输入端口;(2)对A口赋初值,并且保存至BH;(3)BH向右循环移1位,预设流水灯流向,默认向右移;(4)对BX进行压栈处理,保存原始存入数据(5)接着调用延时程序;(6)判断PC1是否为高电平,若为高电平则跳出延时程序;若不是,则跳转到 (5),直至延时程序执行完;(7)对BX进行出栈操作;(8)将移位结果显示在LED灯上;(9)判断PC0 是否为高电平,若是为高电平,则执行反向(向左)流水延时程序,若为低电平,则转向(3),执行正向(向右)流水程序。2 主程序流程图图3 主程序流程图3. 延时子程序流程图图4 延时子程序流程图四、系统调试与结果4.1 系统运行截图图5 系统运行截图(第一盏灯)图6 系统运行截图(第八盏灯)4.2 系统状态表表1 系统状态组合 PC1 PC0010正向慢速(默认)正向快速1反向慢速反向快速5、 主要元器件与设备5.1 8086 的引脚信号1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A1/S4A18/S5A19/S6/BHE/S7MN/MX/RDHOLDHLDA/WRM/IODT/R/DENALE/INTR/TESTREADYRESET图7 8086 引脚图 8086具有两种不同工作方式,即最小模式和最大模式。若把MN/引脚连至电源+5V,则为最小模式。若把它接地,则处在最大模式。5.1.1 与工作模式无关的引脚功能(1)AD15-AD0(双向,三态) 低16位地址或数据的复用引脚线,采用分时的多路转换方法来实现对地址线和数据线的复用。在总线周期的T1状态,这些引线表示为低16位地址线,在总线周期的T2,T3,TW状态,这些引线用作数据总线。可见对复用信号是用时间来加以划分的,它要求在T1状态先出现低16位的地址时,用地址锁存器加以锁存,这样在随后的T状态,即使这些线用作数据线,而低16位地址线的地址状态却被记录保存下来,并达到地址总线上。在DMA方式下,这些引线被浮空,置为高阻状态。(2) A19/S6-A16/S3为地址或状态复用引脚线,在总线周期的T1状态,这些引线表示为最高4位地址线,在总线周期的其他T状态时,这些引线用作提供状态信息。同样需要地址锁存器对T1状态出现的最高4位地址加以锁存。状态信息S6总是为低电平。S5反映当前允许中断标志的状态。S4与S3一起指示当前哪一个段寄存器被使用。其规定如下表所示:表2 S4、S3代码组合S4S3当前正在使用的段寄存器名00ES01SS10CS或未用11DS(3)/BEH/S7,(输出,三态)在T1周期时,它作为CPU访问存储器高位库德允许信号,低电平有效。它与AD0结合在一起,决定访问存储器高位库和低位库。在其他T状态时,作为一条状态信号线。 (4)/RD(输出,三态) 读信号,当其有效时,表示正在对存储器或I/O接口进行读操作,若IO/M为低电平,表示读取存储器的数据,若IO/M为高电平,表示读取I/O端口的数据。 DMA方式时,此线被浮置为高阻。 (5)READY(输入) 为准备就绪信号,是由选中的存储器或I/O端口送来的响应信号,当有效电平为高电平时,表示被访问的存储器或I/O端口已准备就绪,可完成一次数据传送。在读操作总线周期的T3状态开始处,采样READY信号,若发现为低电平,则在T1状态结束后,插入等待状态TW,然后在TW开始处,继续采样READY信号,直至变为有效(高电平),才进入T4状态,完成数据传送,以结束总线周期。(6)/TEST(输入)为检测信号,低电平有效。本信号由等待指令WAIT来检查,/TEST信号和WAIT指令配合使用。当执行WAIT指令时,处于等待状态,并且每隔5个T对该信号进行一次测试,一旦检测到/TEST号为低电平,则结束等待状态,继续执行WAIT指令下面的指令。/TEST相当与外部硬件的同步信号。(7)INTR(输入)可屏蔽中断请求信号,高电平有效。执行每条指令的最后一个T状态时,去采样INTR信号,若发现为有效,而中断允许标志IF又为1时,则结束当前指令周期后响应中断请求,转去执行中断处理程序。(8)NMI(输入)非屏蔽中断请求信号,为一个边缘触发信号,不能由软件加以屏蔽。只要在NMI线上,出现由低到高的变化信号,则结束当前指令后,转去执行非屏蔽中断处理程序。(9)RESET(输入)复位信号,高电平有效。复位时该信号要求维持高电平,至少四个时钟周期,若是初次加电,则高电平信号至少要保持50微秒。复位信号的到来将立即结束当前操作,内部寄存器恢复到初始状态。当RESET信号从高电平回到低电平时,即复位后进入重新启动时,便执行从内存FFFF0H处开始的指令,通常在FFFF0H存放一条无条件转移指令,转移到系统程序的实际入口处。这样只要系统被复位启动,就自动进入系统程序。(10)CLK(输入)时钟信号,它为总线控制电路提供基准时钟。(11)电源和地VCC为电源引线,单一的+5V电源。引脚1和2时为两条GND线,要求均要接地。(12)MN/MX(输入)为最小/最大模式信号。它决定8086的工作模式。将此引线接电源+5V则8086工作于最小模式;若此引线接地则8086工作在最大模式。5.2 8255工作原理及内部结构 5.2.1 8255A内部结构8255A的内部结构如图2所示,它由4部分组成:(1) 数据总线缓冲器它是一个双向三态8位缓冲器,用作与系统总线连接是的缓冲部件.CPU与8255A之间所有的数据的发送与接收以及中央处理器向8255A发送的控制信息和8255A向处理器回送的状态信息都是通过它传送的(2)三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入缓冲器和一个8位数据输入/输出,锁存/缓冲存储器器;端口C(PC口):有一个8位数据输入缓冲存储器器和一个8位数据输出锁存/缓冲器。通常PA口与PB口用作输入/输出的数据端口,PC口用作控制和状态信息端口。PC口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同PA口和PB口配合使用,用作控制信号(输出)或作为状态信号(输入)。PA7-PA0PC7-PC4PC3-PC0D7-D0/RD/WRA1A0/CSRESETA组控制数据总线缓冲器读/写控制逻辑B组控制A组A口(8位)A组C口 高4位B组C口 低4位B组B口(8位)PB7-PB0图8 内部结构图(3) A组和B组控制电路A组:PA口和PC口的高四位(PC7PC4);B组:PB口和PC口的低四位(PC3PC0)。这两组控制电路一方面接收处理器发来的控制字并决定8255A的工作方式;另一方面接收来自读写控制逻辑电路的读写命令,完成接口的读写操作。(4)读/写控制逻辑用来管理数据信息。控制字和状态字的传送,它接收来自CPU的地址总线的A1,A0和控制总线的信号RD.WR.RESET等,并向8255A的A,B两组发送命令.由它控制把处理器发出的控制命令字或输出的数据送到相应的端口,或把外设的状态信息或输入的数据从相应的端口送到处理器.5.2.2 8255A引脚功能8255A芯片除电源和地引脚以外,其他引脚可分为两组,引脚如图3所示:1. 8255A与外设连接引脚 8255A芯片与外设连接的有24条双向、三态数据引脚,分成三组,分别对应于A,B,C三个数据端口:PA7-PA0,PB7-PB0,PC7-PC0.1 402 393 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21PA3PA2PA1PA0/RD/CSGNDA1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PA4PA5PA6PA7/WRRETD0D1D2D3D4D5D6D7VCCPB7PB6PB5PB4PB3图9 引脚图2. 8255A与8086连接引脚D7与8086侧连接的八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信号;CS(低电平有效)片选输入信号;A0、A1片内寄存器选择输入信号;PA7PA0A口外设双向数据线;PB7PB0B口外设双向数据线;PC7PC0C口外设双向数据线;RESET复位输入信号表3 8255A的控制信号和传送操作的对应关系 /CS/RD/WRA1 A0执行的操作0010 0读端口A0010 1读端口B0011 0读端口C0011 1非法状态0100 0写端口A0100 1写端口B0101 0写端口C0101 1写控制字端口1 未选通5.2.3 8255A的工作方式控制字8255A有两个控制字:方式选择控制字和端口C置位/复位控制字。这两个控制字公用一个地址,即控制端口地址,用控制字的D7位来区分这两个控制字,D7=1为方式选择控制字;D7=0为端口置位/复位控制字。1.方式选择控制字如图4所示:D7 D6 D5 D4 D3 D2 D1下C口pc3-pc00输入 1输PB 0输1输出上C口pc7-pc40输入 1输出PA 0输入 1输出A组工作方式0 方式001方式012方式10特征位图10 8255A方式选择控制字2. 端口C置位/复位控制字 端口C置位/复位控制字的格式如下图所示:D3-D1三位的编码与端口C的某一位相对应,D0决定置位或复位操作,最高位为0是端口C置位或复位控制字标志。0D3D2D1置位或复位选择1:置位 0:复位D0D3D2D1位选择000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7 图11 8255A端口C置3. 8255A的工作方式8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源引脚图供电,能在以下三种工作方式下工作:方式0基本输入/输出方式方式0下,每一个端口都作为基本输入或输出口,端口C的高4位和低4位以及端口A、端口B都可独立的设置为输入口或输出口。4个端口的输入或输出可有16种组合。8255A工作于方式0时,CPU可采用无条件读写方式与8255A交换数据,也可采用查询方式与8255A交换数据。采用查询方式时,可利用端口C作为与外设的联络信号。方式1选通输入/输出方式:适用于查询和中断方式。方式2双向选通输入/输出方式:方式2为双向传输方式,8255A的方式2可使8255A与外设进行双向通信,既能发送数据,又能接受数据,可采用查询方式和中断方式进行传输。七、参考文献1杨记文.汇编语言程序设计M.北京:北京大学出版社2戴梅萼.史嘉权.微型计算机技术及应用(第四版).北京:北京大学出版社 附录:DATA SEGMENTIOA EQU 00HIOC

温馨提示

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

评论

0/150

提交评论