交替闪烁信号灯.docx
- 文档编号:30715097
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:23
- 大小:555.50KB
交替闪烁信号灯.docx
《交替闪烁信号灯.docx》由会员分享,可在线阅读,更多相关《交替闪烁信号灯.docx(23页珍藏版)》请在冰豆网上搜索。
交替闪烁信号灯
《微机原理》课程论文
交替闪烁信号灯控制设计
姓名:
吴劭锟
学号:
12012242135
专业:
通信工程
班级:
2012级通信
(2)班
指导老师:
庄红
学院:
物理电气信息学院
完成日期:
2014.11.30
摘要
随着科学技术的不断发展,在高精尖科技的面前微型计算机的应用是无处不在的,所以要学好微机原理及其应用。
对于本次课程设计,按要求通过汇编语言设计出交替闪烁信号灯控制系统。
此次课程设计交替闪烁信号灯控制器在日常生活中有重要的运用,如广告牌的设计和交通灯的设计都能运用到它的原理。
本次设计的交替闪烁信号灯是其中较简单的,但这是进行复杂设计的基础。
在本实验中要求用8255A的B口做为输出,接8个发光二极管,从而实现8位交替闪烁信号灯的显示效果。
本控制器可通过开关切换3种闪烁方式,并用proteus仿真软件进行程序仿真。
关键词:
信号灯控制80868255发光二极管proteus
目 录
第一章设计课题与要求........................................................... ..................1
1.1 设计目的........................................................... .......................1
1.2设计要求........................................................... .......................1
第二章交替闪烁信号灯灯控制系统的整体设计......................................2
2.116位微处理器8086简介 ........................................................2
2.1.18086的编程结构............................................................2
2.1.28086的引脚信号和工作模式........................................3
2.1.38086的操作和时序........................................................3
2.1.48086的存储器编址和I/O编址.....................................5
2.2可编程并行通信接口8255A简介..........................................5
2.2.18255A的内部结构.........................................................5
2.2.28255A芯片引脚功能......................................................6
2.38位数据/地址锁存器74LS273简介.....................................7
2.3.174LS273的内部结构......................................................7
2.3.274LS273的芯片引脚功能..............................................7
2.43/8译码器74LS138简介....................................................7
2.4.174LS138的内部结构.....................................................7
2.4.274LS138的芯片引脚功能.............................................8
2.5整体设计 ...................................................................................8
2.5.1总体方案设计分析..........................................................8
2.5.2硬件原理设计..................................................................8
2.5.3软件程序设计............................................................... 10
第三章PROTUES仿真过程 ...................................................................12
3.1编译工具EMU8086简介........................................................12
3.2PROTEUS简介................................................................. .......12
3.3系统仿真结果................................................................. .........14
3.3.1开关1闭合仿真结果......................................................14
3.3.2开关2闭合仿真结果......................................................14
3.3.3开关全部断开仿真结果...................................................15
第四章设计总结 ................................................................ .........................16
参考文献 .............................................................. ..........................................16
第1章设计课题与要求
1.1设计目的
1、了解交替闪烁信号灯的工作原理。
2、掌握交替闪烁信号灯编程方法和芯片8255的逻辑功能及使用方法。
3、掌握一定的汇编语言知识,培养自己的动手操作能力。
4、学习程序设计的基本思路和方法
1.2设计要求
1、设计题目
编写程序,使用8255的B口为输出,实现8位交替闪烁信号灯显示效果。
2、功能扩展
通过开关可以对交替闪烁信号灯流向进行控制,两开关断开或闭合共控制三种闪烁方式。
第2章交替闪烁信号灯控制系统的整体设计
2.116位微处理器8086简介
2.1.18086的编程结构
8086的编程结构可分为两大部分:
共14个16位寄存器
1、总线接口部件(BIU-BusInterfaceUnit):
与系统总线连接,实现与存储器、I/O接口间的数据传送。
2、执行部件(EU-ExecutionUnit):
负责指令的译码和执行。
2.1.28086的引脚信号和工作模式
1、8086工作模式
20根AB/16根DB分时复用;先传地址,后传数据。
两种工作模式,由MN/
引脚决定。
不同模式下,部分引脚定义不同
最小模式:
系统中只有一个处理器,MN/
为高电平。
最大模式:
系统中包括两个或多个处理器,一个主处理器,其他的称为协处理器。
此时的工作模式引脚MN/
为低电平。
2、8086的引脚信号
2.1.38086的操作和时序
1、8086的主要操作:
①系统的复位和启动操作;
②暂停操作;
③总线操作;
④中断操作;
⑤最小模式下的总线保持;
⑥最大模式下的总线请求/允许。
2、时序分析(以最小模式为例)
(1)
具有等待周期的存储器读周期
(2)最小模式下存储器写周期
(3)最小模式下I/O端口读时序
2.1.48086的存储器编址和I/O编址
1、8086的存储器编址20根地址线,可管理1MB
编程地址范围:
0000H~FFFFH
物理地址:
段地址×16+逻辑地址
2、8086的I/O编址
每个端口对应I/O芯片内部一个寄存器,它们的地址也叫端口号。
编址方法:
(1)I/O端口和存储器统一编址
寻址能力小,指令相同
(2)I/O端口单独编址
寻址能力大,指令不相同
端口:
IN、OUT指令
内存:
MOV
2.2可编程并行通信接口8255A简介
2.2.18255A的内部结构
2.2.28255A芯片引脚功能
8255A为40引脚双列直插的NMOS器件,与外设相连引脚如下:
PA7~PA0:
端口A的数据线,双向,三态输出。
PB7~PB0:
端口B的数据线,可输入,也可输出。
PC7~PC0:
端口C的数据线,可输入,也可输出,还可做A口或B口的控制信号线。
与CPU相连引脚如下:
RESET:
复位信号,输入,高电平有效。
复位后清所有内部寄存器
D7~D0:
数据线,与系统总线连接。
:
读信号,输入,低电平有效,从8255A读取数据
:
写信号,输入,低电平有效,把数据写入8255A。
:
片选信号,输入,低电平有效,决定芯片地址。
A0A1:
端口选择信号,8255占4个端口地址。
2.38位数据/地址锁存器74LS273简介
2.3.174LS273的引脚图
2.3.274LS273芯片引脚功能
(1).1脚是复位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)1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。
2.23/8译码器74HC1简介
2.2.174HC138工作原理
①当一个选通端(E1)为高电平,另两个选通端((/E2))和(/E3))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。
比如:
A2A1A0=110时,则Y6输出端输出低电平信号。
②利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。
③若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
④可用在8086的译码电路中,扩展内存。
2.2.274LS138芯片引脚图
2.3整体设计
2.3.1总体方案设计分析
要求用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的
、
分别连接到对应PC总线接口模块的
和
。
2、8255的AD0~AD7连到PC总线接口模块的数据AD0~AD7。
3、8255模块选通线
连到PC总线接口模块的IO0。
4、8255的PB0~PB7接8个LED灯。
5、8255的PC0、PC1接到开关1、2。
(1)、原理图:
(2)、地址编码:
A7A6A5A4A3A2A1A0
00100000A口20H
00100010B口22H
00100100C口24H
00100110控制口26H
(3)片选电路:
2.3.3软件程序设计
1、
设计思路
否是
否
2、程序清单
org100h;设置起始段
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAL,81H
OUT26H,AL;写控制字(最高地址)
L0:
INAL,24H
TESTAL,01H;检查PC0口是否有数据输入
JZL01;开关1按下后执行闪烁方式1
TESTAL,02H;检查PC1口是否有数据输入
JZL11;开关2按下后执行闪烁方式2(1未按下)
JMPL21;无开关执行闪烁方式3
L01:
MOVCX,4;循环4次
MOVAL,11H;为B口赋初值,设置亮灯方式
L02:
OUT22H,AL;输出命令
MOVBX,0F0F0H;BX=F0F0H
L03:
NOP;延时
DECBX;BX=BX-1
JNZL03;延时循环F0F0H次
ROLAL,1;循环左移一位
LOOPL02
JMPL0;回到初始段再次判断开关情况
L11:
MOVCX,6;循环六次
MOVAL,0AAH;为B口赋初值,设置亮灯方式
L12:
OUT22H,AL;输出命令
MOVBX,05000H;BX=0C000H
L13:
NOP;延时
DECBX;BX=BX-1
JNZL13;延时循环0C000H次
ROLAL,1;循环左移一次
LOOPL12
JMPL0;回到初始段再次判断开关情况
L21:
MOVCX,5;循环5次
MOVAL,0FFH;为B口赋初值,设置亮灯方式
L22:
OUT22H,AL;输出命令
MOVDX,0FFFFH;DX=FFFFH
L23:
NOP;延时
DECDX;DX=DX-1
JNZL23;延时循环FFFFH次
NOTAL;取反一次
LOOPL22
JMPL0;回到初始段再次判断开关情况
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
RET
第3章 PROTUES仿真过程
3.1编译工具EMU8086简介
EMU8086是学习汇编必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。
该软件包含了学习汇编语言的全部内容。
Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,此外,还有循序渐进的教程。
该软件包含了学习汇编语言的全部内容。
Emu8086集源代码编辑器,汇编/反汇编工具以及可以运行debug的模拟器(虚拟机器)于一身,此外,还有循序渐进的教程。
这套软件对于刚开始学习汇编语言的朋友非常有帮助.它能够编译源代码,并在模拟器上一步一步的执行。
可视化界面令操作易如反掌.可以在执行程序的同时可观察寄存器,标志位和内存.算术和逻辑运算单元(ALU)显示中央处理器内部的工作情况.
这个模拟器是在一台"虚拟"的电脑上运行程序的,它拥有自己独立的“硬件”,这样你程序就同诸如硬盘与内存这样的实际硬件完全隔离开,动态调试(DEBUG)时非常方便.8086的机器代码同INTEL下一代微处理器完全兼容,包括PentiumII和Pentium4,Pentium5 同样也会支持 8086指令.这意味着8086代码具有很广泛的应用范围,它在老式的和最新的计算机系统上都能工作.
3.2PROTEUS简介
1、Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前比较好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
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软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
原理布图
PCB自动或人工布线
(3)SPICE电路仿真
3、革命性的特点:
(1)互动的电路仿真。
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路。
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。
4、便于仿真:
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以PROTEUS的原理图中看到模拟的实物运行状态和过程。
PROTEUS是单片机课堂教学的先进助手。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。
随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。
它具有设计灵活,结果、过程的统一的特点。
可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。
相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。
使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。
实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
因此,Proteus有较高的推广利用价值。
3.3系统仿真结果
3.3.1开关1闭合仿真结果
3.3.2仅开关2闭合仿真结果
3.3.2开关全部断开仿真结果
第4章设计总结
这次关于交替闪烁信号灯的设计是对我来说确实是一次挑战,在设计电路的过程中,我除了要熟悉8255、74LS273这些芯片,还得将它们合理的利用起来,但是庆幸的是,认真思考后吸收了一些从前不扎实知识。
虽然说之前在课上学了这些理论知识,但如果没在实践中利用,你根本就不会发现自己到底是不是真的掌握了,这次我明白了,很多一部分的知识还是需要我自己在课下去补充。
比如以前不太熟悉的编程和仿真绘图软件,现在我能较为熟悉的使用和调试了。
在作出基本设计后,我没有因满足而止步不前,而是通过十几次的修改程序使灯光的闪烁效果达到我满意的效果。
虽然过程枯燥而辛苦,但结果还算是圆满的。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,学习中,我们总是存在着局限性,在实践中,我们也存在着被动性,这些都是需要我们改正的地方。
实践是建在理论知识的基础上,所以当做一个设计时,没有一定的理论知识是不够的,和合理的将二者结合。
每次实践也是一次经验的积累,人只有在积累经验中方能成长。
感谢老师,感谢课程设计给了我们一个证明自己的机会。
[参考文献]
[1]微型计算机技术及应用_第4版_(戴梅萼_史嘉权_著)_清华大学出版社
[2]微型原理与接口技术(温阳东_鲍远慧_著)_清华大学出版社
[3]微型计算机接口技术(李大友著)清华大学出版社
老师评语及成绩:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交替 闪烁 信号灯