资源描述
《微机原理》课程论文
流水灯彩灯控制设计
姓名:龙浪
学号:12012242130
专业:通信工程
班级:2012级通信(2)班
指导老师:庄红
学院:物理电气信息学院
完成日期:2014.11.29
摘 要
随着电子技术的发展,计算机在现代科学中扮演着越来越重要的作用, 此次课程设计流水控制器在我门日常生活中有重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次设计的流水彩灯控制器是其中较简单的,但这是进行复杂设计的基础。本次课程设计,运用课堂所学知识,并自学第六章串并行通信和接口技术这一章,通过编写程序,使用8255的B口为输出,实现8位流水灯显示效果。
关键词:8086 8255 proteus
目 录
第一章 设计课题与要求........................................................... ..................1
1.1 设计目的........................................................... .......................1
1.2 设计要求........................................................... .......................1
第二章 流水彩灯控制系统的整体设计......................................................2
2.1 16位微处理器8086简介 ........................................................2
2.1.1 8086的编程结构............................................................2
2.1.2 8086的引脚信号和工作模式........................................3
2.1.3 8086的操作和时序........................................................3
2.1.4 8086的存储器编址和I/O编址.....................................5
2.2 可编程并行通信接口8255A简介...........................................5
2.2.1 8255A的内部结构..........................................................5
2.2.2 8255A芯片引脚功能......................................................6
2.3 整体设计 ...................................................................................6
2.3.1总体方案设计分析..........................................................6
2.3.2硬件原理设计..................................................................7
2.3.3 软件程序设计................................................................ 8
第三章 PROTUES仿真过程 .............................................................. ...10
3.1 编译工具Masm For Windows简介........................................10
3.2 PROTEUS简介................................................................. .......10
3.3 系统仿真结果................................................................. .........11
3.3.1 开关打开仿真结果..........................................................11
3.3.2 开关闭合仿真结果...........................................................11
第四章 设计总结 ................................................................ .........................12
参考文献 .............................................................. ..........................................12
I
第一章 设计课题与要求
1.1设计目的
1、了解流水灯的工作原理。
2、掌握流水灯编程方法和芯片8255的逻辑功能及使用方法。 3、掌握一定的汇编语言知识,培养自己的动手操作能力。 4、学习程序设计的基本思路和方法
1.2设计要求
1、设计题目
编写程序,使用8255的B口均为输出,实现8位流水灯显示效果。
2、功能扩展
通过开关可以对流水灯流向进行控制,打开时为倒着流,闭合时为顺着流。
第二章 流水彩灯控制系统的整体设计
2.1 16位微处理器8086简介
2.1.1 8086的编程结构
8086的编程结构可分为两大部分:共14个16位寄存器
1、总线接口部件( BIU-Bus Interface Unit ):与系统总线连接,实现与存储器、I/O接口间的数据传送。
2、执行部件(EU-Execution Unit):负责指令的译码和执行。
2.1.2 8086的引脚信号和工作模式
1、8086工作模式
20根AB/16根DB分时复用;先传地址,后传数据。
两种工作模式,由MN/MX引脚决定。不同模式下,部分引脚定义不同
最小模式:系统中只有一个处理器,MN/MX为高电平。
最大模式:系统中包括两个或多个处理器,一个主处理器,其他的称为协处理器。此时的工作模式引脚 MN/MX为低电平。
2、8086的引脚信号
2.1.3 8086的操作和时序
1、8086的主要操作:
① 系统的复位和启动操作;
② 暂停操作;
③ 总线操作;
④ 中断操作;
⑤ 最小模式下的总线保持;
⑥ 最大模式下的总线请求/允许。
2、 时序分析(以最小模式为例)
(1) 具有等待周期的存储器读周期
T1
T2
T3
T4
T1
地址
状态
地址
数据
CLK
M/IO
A
BHE
AD
ALE
RD
DT/R
DEN
READY
15~0
19~16
S3~S6
具有等待周期的存储器读周期时序
TW
T1
T2
T3
T4
T1
地址
状态
地址
数据
CLK
M/IO
A
BHE
AD
ALE
WR
DT/R
DEN
READY
15~0
19~16
S3~S6
存储器写周期时序
(2) 最小模式下存储器写周期
(3)最小模式下I/O端口读时序
T1
T2
T3
T4
T1
地址
状态
地址
数据
CLK
M/IO
A
BHE
AD
ALE
RD
DT/R
DEN
READY
15~0
19~16
S3~S6
输入周期时序
2.1.4 8086的存储器编址和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.1 8255A的内部结构
RD
WR
A0
A1
CS
RESET
D7~D0
PA7
~
PA0
PC7
~
PC4
PC3
~
PC0
PB7
~
PB0
读写
控制
逻辑
缓冲
A 组
控制
B 组
控制
端口A
端口C
(上部)
端口C
(下部)
端口B
2.2.2 8255A芯片引脚功能
8255A为40引脚双列直插的NMOS器件,与外设相连引脚如下:
PA7~PA0:端口A的数据线,双向,三态输出。
PB7~PB0:端口B的数据线,可输入,也可输出。
PC7~PC0:端口C的数据线,可输入,也可输出,还可做A口或B口的控制信号线。
与CPU相连引脚如下:
RESET:复位信号,输入,高电平有效。复位后清所有内部寄存器
D7~D0:数据线,与系统总线连接。
RD:读信号,输入,低电平有效,从8255A读取数据
WR:写信号,输入,低电平有效,把数据写入8255A。
CS:片选信号,输入,低电平有效,决定芯片地址。
A0 A1:端口选择信号,8255占4个端口地址。
2.3 整体设计
2.3.1总体方案设计分析
要求用8255的B口做为输出,接8个发光二极管,从而实现8位流水灯的显示效果,在C口的地位接一个开关,实现一个扩展功能的控制。
1、基本流水灯显示电路
在本次设计中用AL对B口进行赋值,通过演示一段时间再对AL进行移位和输出,实现流水灯的效果。
2、正反方向选择
把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行右移,低电平的时候则灯进行左移。
2.3.2硬件原理设计
1、8255的WR、RD分别练到PC总线接口模块的WR和RD。
2、8255的AD0~AD7连到PC总线接口模块的数据AD0~AD7。
3、 8255模块选通线CS连到PC总线接口模块的IO8。
4、 8255的PB0~PB7接8个LED灯。
5、 8255的PC0 接到开关 。
(1)、原理图:
系统总线
PB0-PB7
8255A
输入
PC0
LED显示
K0
(2) 、地址编码:
A7 A6 A5 A4 A3 A2 A1 A0
0 0 1 0 0 0 0 0 A口
0 0 1 0 0 0 1 0 B口
0 0 1 0 0 1 0 0 C口
0 0 1 0 0 1 1 0 控制口
(3)接口电路:
2.3.3 软件程序设计
开始
1、 设计思路
设置控制字
判断PC0是否 为高电平
否 是
对B口赋值,保存在AL中
延时
右移
左移
延时
对B口赋值,保存在AL中
2、 程序清单
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AL,81H ;设置控制字
OUT 26h,AL
L5: IN AL,24H
TEST AL,01H ;查看PC0口是否有数据输入,改变流水灯的方向
JZ L1
JMP L7
L1: MOV CX,10
MOV AL,03H
L2: OUT 22h,AL ;对B口赋值
MOV BX,0FFFFH ;延时
L3: NOP
NOP
NOP
DEC BX
JNZ L3
ROL AL,1
ROL AL,1 ;左移两位
LOOP L2 ;循环10次
JMP L5
L7: MOV CX,10
MOV AL,0C0H
L4: OUT 22h,AL ;对B口赋值
MOV DX,0FFFFH ;延时
L6: NOP
NOP
DEC DX
JNZ L6
ROR AL,1
ROR AL,1 ;右移两位
LOOP L4 ;循环10次
JMP L5
MOV AH,4CH
INT 21H
CODES ENDS
END START
第三章 PROTUES仿真过程
3.1 编译工具Masm For Windows简介
Masm for windows 集成实验环境是从事一线教学的大学教师针对汇编语言初学者的特点开发的一个简单易用的汇编语言学习与实验软件,支持32位与64位的操作系统WINDOWS 7,支持DOS的16/32位汇编程序和Windows下的32汇编程序(并提供调试通过的35个WINDOWS汇编程序实例源代码),它具有错误信息自动定位、200多种中英文错误信息同步显示功能扫除了英文差的用户学习汇编语言的恐惧心理、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。
3.2 PROTEUS简介
1、Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译。
2、Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:
(1) 原理布图
(2) PCB自动或人工布线
(3) SPICE电路仿真
3、革命性的特点:
(1)互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。
3.3 系统仿真结果
3.3.1 开关打开仿真结果
3.3.2 开关闭合仿真结果
第四章 设计总结
这次微机原理课程设计我学到了很多在书本上所没有学到过的知识。以前在上课的时候对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,但总的来说还是圆满的。
[参考文献]
[1]微型计算机技术及应用_第4版_(戴梅萼_史嘉权_著)_清华大学出版社
[2]微型原理与接口技术(温阳东_鲍远慧_著)_清华大学出版社
[3]微型计算机接口技术(李大友著)清华大学出版社
老师评语及成绩:
注明:论文格式:
大标题、小标题、以及前言摘要用粗体字,字形字号参考龙浪的模板,略大略小皆可,正文内容不需加粗,楷体宋体均可。
论文必须要有相应元器件的功能介绍,管脚说明。正文中需具备必备的程序流图,硬件连接图,PROTEUS原理图,以及仿真结果图。
论文主题分为几部分内容参考龙浪的标准,必须要有:主体,过程,结果,分析,参考文献。
内容充实一些,描述尽量清晰,便于答辩时老师查看,此外,复习所使用元器件如8251、8255、8253的功能性实用原理,工作方式,老师可能会询问。
对程序主干部分进行程序备注,掌握程序流程,答辩时需要逐行进行答辩。
14
展开阅读全文