收藏 分享(赏)

交替闪烁信号灯.doc

上传人:sjmd695 文档编号:6327387 上传时间:2019-04-07 格式:DOC 页数:22 大小:646.28KB
下载 相关 举报
交替闪烁信号灯.doc_第1页
第1页 / 共22页
交替闪烁信号灯.doc_第2页
第2页 / 共22页
交替闪烁信号灯.doc_第3页
第3页 / 共22页
交替闪烁信号灯.doc_第4页
第4页 / 共22页
交替闪烁信号灯.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、微机原理课程论文交替闪烁信号灯控制设计姓名:吴劭锟学号:12012242135专业:通信工程班级:2012 级通信(2)班 指导老师:庄红学院:物理电气信息学院完成日期:2014.11.30I摘 要随着科学技术的不断发展 ,在高精尖科技的面前微型计算机的应用是无处不在的,所以要学好微机原理及其应用。对于本次课程设计,按要求通过汇编语言设计出交替闪烁信号灯控制系统。此次课程设计交替闪烁信号灯控制器在日常生活中有重要的运用,如广告牌的设计和交通灯的设计都能运用到它的原理。本次设计的交替闪烁信号灯是其中较简单的,但这是进行复杂设计的基础。在本实验中要求用 8255A 的 B 口做为输出,接 8 个发

2、光二极管,从而实现8 位交替闪烁信号灯的显示效果。本控制器可通过开关切换 3 种闪烁方式,并用 proteus 仿真软件进行程序仿真。关键词:信号灯控制 8086 8255 发光二极管 proteusII目 录第一章 设计课题与要求. 11.1 设计目的. .11.2 设计要求. .1第二章 交替闪烁信号灯灯控制系统的整体设计22.1 16 位微处理器 8086 简介 22.1.1 8086 的编程结构22.1.2 8086 的引脚信号和工作模式32.1.3 8086 的操作和时序32.1.4 8086 的存储器编址和 I/O 编址.52.2 可编程并行通信接口 8255A 简介52.2.1

3、8255A 的内部结构.52.2.2 8255A 芯片引脚功能62.3 8 位数据/地址锁存器 74LS273 简介.72.3.1 74LS273 的内部结构72.3.2 74LS273 的芯片引脚功能72.4 3/8 译码器 74LS138 简介72.4.1 74LS138 的内部结构.72.4.2 74LS138 的芯片引脚功能.82.5 整体设计 .8 2.5.1 总体方案设计分析82.5.2 硬件原理设计82.5.3 软件程序设计. 10第三章 PROTUES 仿真过程 .123.1 编译工具 EMU8086 简介123.2 PROTEUS 简介. .123.3 系统仿真结果. .14

4、3.3.1 开关 1 闭合仿真结果143.3.2 开关 2 闭合仿真结果143.3.3 开关全部断开仿真结果.15第四章 设计总结 .16参考文献 16III0第 1 章 设计课题与要求1.1 设计目的 1、了解交替闪烁信号灯的工作原理。 2、掌握交替闪烁信号灯编程方法和芯片 8255 的逻辑功能及使用方法。 3、掌握一定的汇编语言知识,培养自己的动手操作能力。 4、学习程序设计的基本思路和方法 1.2 设计要求 1、设计题目 编写程序,使用 8255 的 B 口为输出,实现 8 位交替闪烁信号灯显示效果。2、功能扩展 通过开关可以对交替闪烁信号灯流向进行控制,两开关断开或闭合共控制三种闪烁方

5、式。1第 2 章 交替闪烁信号灯控制系统的整体设计2.1 16 位微处理器 8086 简介2.1.1 8086 的编程结构8086 的编程结构可分为两大部分:共 14 个 16 位寄存器1、总线接口部件( BIUBus Interface Unit ):与系统总线连接,实现与存储器、I/O 接口间的数据传送。2、执行部件(EU Execution Unit):负责指令的译码和执行。22.1.2 8086 的引脚信号和工作模式1、8086 工作模式20 根 AB/16 根 DB 分时复用;先传地址,后传数据。两种工作模式,由 MN/MX引脚决定。不同模式下,部分引脚定义不同最小模式:系统中只有一

6、个处理器,MN/ X为高电平。最大模式:系统中包括两个或多个处理器,一个主处理器,其他的称为协处理器。此时的工作模式引脚 MN/ 为低电平。2、8086 的引脚信号2.1.3 8086 的操 作 和时序1、8086 的主要操作: 系统的复位和启动操作; 暂停操作; 总线操作; 中断操作; 最小模式下的总线保持; 最大模式下的总线请求/允许。 32、时序分析(以最小模式为例)(1)具有等待周期的存储器读周期(2)最小模式下存储器写周期T1 T2 T3 T4 T1地址 状态地址 数据CLKM/IOABHEADALEWRDT/RDENREADY1501916 S3S6存储器写周期时序T1 T2 T3

7、 T4 T1地址 状态地址 数据CLKM/IOABHEADALERDDT/RDENREADY1501916 S3S6具有等待周期的存储器读周期时序TW4(3)最小模式下 I/O 端口读时序2.1.4 8086 的存储器编址和 I/O 编址1、8086 的存储器编址 20 根地址线,可管理 1MB编程地址范围:0000HFFFFH物理地址:段地址16+逻辑地址2、8086 的 I/O 编址 每个端口对应 I/O 芯片内部一个寄存器,它们的地址也叫端口号。编址方法:(1)I/O 端口和存储器统一编址寻址能力小,指令相同(2)I/O 端口单独编址寻址能力大,指令不相同端口:IN 、OUT 指令内存:

8、MOVT1 T2 T3 T4 T1地址 状态地址 数据CLKM/IOABHEADALERDDT/RDENREADY1501916 S3S6输入周期时序52.2 可编程并行通信接口 8255A 简介2.2.1 8255A 的内部结构2.2.2 8255A 芯片引脚功能8255A 为 40 引脚双列直插的 NMOS 器件,与外设相连引脚如下:PA7PA0:端口 A 的数据线,双向,三态输出。PB7PB0:端口 B 的数据线,可输入,也可输出。PC7PC0:端口 C 的数据线,可输入,也可输出,还可做 A 口或 B 口的控制信号线。与 CPU 相连引脚如下:RESET:复位信号,输入,高电平有效。复

9、位后清所有内部寄存器D7D0:数据线,与系统总线连接。RD:读信号,输入,低电平有效,从 8255A 读取数据:写信号,输入,低电平 有 效,把数据写入 8255A。W:片选信号,输入,低电平有效,决定芯片地址。CSA0 A1:端口选择信号,8255 占 4 个端口地址。RDWRA0A1CSRESETD7D0PA7 PA0PC7 PC4PC3 PC0PB7 PB0读写控制逻辑缓冲A 组控制B 组控制端口 A端口 C(上部)端口 C(下部)端口 B62.3 8 位数据/地址锁存器 74LS273 简介2.3.1 74LS273 的引脚图2.3.2 74LS273 芯片引脚功能(1).1 脚是复位

10、 CLR,低电平有效,当 1 脚是低电平时,输出脚 2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出 0,即全部复位;(2).当 1 脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当 11 脚有一个上升沿,立即锁存输入脚 3、4、7、8、13、14、17、18 的电平状态,并且立即呈现在在输出脚 2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上.(3)1D8D 为数据输入端,1Q8Q 为数据输出端,正脉冲触发,低电平清除,常用作 8 位地址锁存器。 2.2

11、3/8 译码器 74HC1 简介2.2.1 74HC138 工作原理当一个选通端(E1)为高电平,另两个选通端((/E2)和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在 Y0 至 Y7 对应的输出端以低电平译出。比如:A2A1A0=110 时,则 Y6 输出端输出低电平信号。利用 E1、E2 和 E3 可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。若将选通端中的一个作为数据输入端时,74LS138 还可作数据分配器。可用在 8086 的译码电路中,扩展内存。72.2.2 74LS138 芯片引脚图2.3 整体设计2.3.1 总体方案设计分

12、析要求用 8255 的 B 口做为输出,接 8 个发光二极管,从而实现 8 位交替闪烁信号灯的显示效果,在 C 口的地位接两个开关,实现扩展功能的控制。1、基本交替闪烁信号灯电路在本次设计中用 AL 对 B 口进行赋初值,经过延迟时间再对 AL 进行移位和输出,实现流水灯的效果。2、闪烁方式的选择把开关 1 接在 PC.0 口上,开关 2 接在 PC.1 口上,编写程序对 C 端口的数据进行读取,并用 TSET 语句进行判断。当开关 1 闭合的时候则灯进行闪烁方式 1,当只有开关 2 闭合的时候则灯进行闪烁方式 2,当开关全部断开的时候则灯进行闪烁方式 3。2.3.2 硬件原理设计1、8255

13、 的 、 RD分别连接到对应 PC 总线接口模块的 和 RD。WW2、8255 的 AD0AD7 连到 PC 总线接口模块的数据 AD0AD7。3、8255 模块选通线 连到 PC 总线接口模块的 IO0。CS4、8255 的 PB0PB7 接 8 个 LED 灯。5、8255 的 PC0、PC1 接到开关 1、2 。8(1)、原理图:系统总线PB0-PB78255A输入PC0PC1LED显示K0、K1(2)、地址编码:A7 A6 A5 A4 A3 A2 A1 A0 0 0 1 0 0 0 0 0 A 口 20H0 0 1 0 0 0 1 0 B 口 22H0 0 1 0 0 1 0 0 C

14、口 24H0 0 1 0 0 1 1 0 控制口 26H(3)片选电路:92.3.3 软件程序设计1、设计思路否 是否对 B 口赋值,保存在 AL 中闪烁方式 2开始设置控制字判断 PC0 是否 为高电平判断 PC1 是否 为高电平对 B 口赋值,保存在 AL中对 B 口赋值,保存在 AL中闪烁方式 3闪烁方式 1102、程序清单org 100h ;设置起始段CODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AL,81H OUT 26H,AL ;写控制字(最高地址)L0: IN AL,24HTEST AL,01H ;检查 PC0

15、口是否有数据输入JZ L01 ;开关 1 按下后执行闪烁方式 1TEST AL,02H ;检查 PC1 口是否有数据输入JZ L11 ;开关 2 按下后执行闪烁方式 2(1 未按下)JMP L21 ;无开关执行闪烁方式 3L01: MOV CX,4 ;循环 4 次MOV AL,11H ;为 B 口赋初值,设置亮灯方式L02: OUT 22H,AL ;输出命令MOV BX,0F0F0H ;BX=F0F0HL03: NOP ;延时DEC BX ;BX=BX-1 JNZ L03 ;延时循环 F0F0H 次ROL AL,1 ;循环左移一位LOOP L02 JMP L0 ;回到初始段再次判断开关情况L1

16、1: MOV CX,6 ;循环六次MOV AL,0AAH ;为 B 口赋初值,设置亮灯方式L12: OUT 22H,AL ;输出命令MOV BX,05000H ;BX=0C000H L13: NOP ;延时DEC BX ;BX=BX-1 JNZ L13 ;延时循环 0C000H 次ROL AL,1 ;循环左移一次LOOP L12 JMP L0 ;回到初始段再次判断开关情况L21: MOV CX,5 ;循环 5 次MOV AL,0FFH ;为 B 口赋初值,设置亮灯方式L22: OUT 22H,AL ;输出命令MOV DX,0FFFFH ;DX=FFFFHL23: NOP ;延时11DEC DX

17、 ;DX=DX-1JNZ L23 ;延时循环 FFFFH 次 NOT AL ;取反一次LOOP L22 JMP L0 ;回到初始段再次判断开关情况MOV AH,4CHINT 21HCODES ENDSEND STARTRET第 3 章 PROTUES 仿真过程3.1 编译工具 EMU8086 简介EMU8086 是学习汇编必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟 PC),还有一个循序渐进的指导工具。该软件包含了学习汇编语言的全部内容。Emu8086 集源代码编辑器,汇编/反汇编工具以及可以运行 debug 的模拟器(虚拟机器)于一身,此外,

18、还有循序渐进的教程。该软件包含了学习汇编语言的全部内容。Emu8086 集源代码编辑器,汇编/反汇编工具以及可以运行 debug 的模拟器(虚拟机器)于一身,此外,还有循序渐进的教程。这套软件对于刚开始学习汇编语言的朋友非常有帮助它能够编译源代码,并在模拟器上一步一步的执行。可视化界面令操作易如反掌可以在执行程序的同时可观察寄存器,标志位和内存算术和逻辑运算单元(ALU)显示中央处理器内部的工作情况这个模拟器是在一台“虚拟“的电脑上运行程序的,它拥有自己独立的“硬件”,这样你程序就同诸如硬盘与内存这样的实际硬件完全隔离开,动态调试(DEBUG)时非常方便8086 的机器代码同 INTEL 下一

19、代微处理器完全兼容,包括 Pentium II 和 Pentium 4,Pentium 5 同样也会支持 8086 指令这意味着 8086 代码具有很广泛的应用范围,它在老式的和最新的计算机系统上都能工作123.2 PROTEUS 简介1、Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工

20、作者的青睐。Proteus是世界上著名的 EDA 工具 (仿真软件),从原理图布图、代码调试到 单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086 和MSP430 等,2010 年又增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil 和 MATLAB 等多种编译器。2、Protues 软件具有其它

21、 EDA 工具软件(例:multisim)的功能。这些功能是:原理布图PCB 自动或人工布线(3) SPICE 电路仿真3、革命性的特点:(1)互动的电路仿真。用户甚至可以实时采用诸如 RAM,ROM,键盘,马达,LED,LCD ,AD/DA,部分 SPI 器件,部分 IIC 器件。(2)仿真处理器及其外围电路。可以仿真 51 系列、AVR 、PIC、ARM 、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues 建立了完备的电子设计开发环境。4、便于仿真:在 PROTEUS 绘制好原理图

22、后,调入已编译好的目标代码文件:*.HEX,可以 PROTEUS 的原理图中看到模拟的实物运行状态和过程。PROTEUS 是单片机课堂教学的先进助手。13PROTEUS 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于 PROTEUS 提供了实验室无法相比的大量的元器件库,提

23、供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS 也能茯得愈来愈广泛的应用。使用 Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus开发环境对学生进行培训

24、,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行 系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。3.3 系统仿真结果3.3.1 开关 1 闭合仿真结果143.3.2 仅开关 2 闭合仿真结果153.3.2 开关全部断开仿真结果第 4 章 设计总结这次关于交替闪烁信号灯的设计是对我来说确实是一次挑战,在设计电路的过程中,我除了要熟悉 8255、74LS273 这些芯片,还得将它们合理的利用起来,但是庆幸的是,认真思考后吸收了一些从前不扎实知识。虽

25、然说之前在课上学了这些理论知识,但如果没在实践中利用,你根本就不会发现自己到底是不是真的掌握了,这次我明白了,很多一部分的知识还是需要我自己在课下去补充。比如以前不太熟悉的编程和仿真绘图软件,现在我能较为熟悉的使用和调试了。在作出基本设计后,我没有因满足而止步不前,而是通过十几次的修改程序使灯光的闪烁效果达到我满意的效果。虽然过程枯燥而辛苦,但结果还算是圆满的。通过这次课程设计使我懂得了理论与实际相结合是很重要的,学习中,我们总是存在着局限性,在实践中,我们也存在着被动性,这些都是需要我们改正的地方。实践是建在理论知识的基础上,所以当做一个设计时,没有一定的理论知识是不够的,和合理的将二者结合。每次实践也是一次经验的积累,人只有在积累经验中方能成长。感谢老师,感谢课程设计给了我们一个证明自己的机会。16参考文献1微型计算机技术及应用_第 4 版_(戴梅萼_史嘉权_著)_清华大学出版社2微型原理与接口技术(温阳东_鲍远慧_著)_清华大学出版社3微型计算机接口技术(李大友著)清华大学出版社老师评语及成绩:17

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报