微机原理课设霓虹灯闪烁控制系统.docx

上传人:b****6 文档编号:8689063 上传时间:2023-02-01 格式:DOCX 页数:11 大小:168.28KB
下载 相关 举报
微机原理课设霓虹灯闪烁控制系统.docx_第1页
第1页 / 共11页
微机原理课设霓虹灯闪烁控制系统.docx_第2页
第2页 / 共11页
微机原理课设霓虹灯闪烁控制系统.docx_第3页
第3页 / 共11页
微机原理课设霓虹灯闪烁控制系统.docx_第4页
第4页 / 共11页
微机原理课设霓虹灯闪烁控制系统.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

微机原理课设霓虹灯闪烁控制系统.docx

《微机原理课设霓虹灯闪烁控制系统.docx》由会员分享,可在线阅读,更多相关《微机原理课设霓虹灯闪烁控制系统.docx(11页珍藏版)》请在冰豆网上搜索。

微机原理课设霓虹灯闪烁控制系统.docx

微机原理课设霓虹灯闪烁控制系统

《微机原理与接口技术》课程设计

题目:

可控制霓虹灯

班级:

电气本151

小组组长:

徐明(2015040104)

小组成员:

王军三(2015040107)

黄国涛(2015040108)

刘飞鸿(2015040113)

指导教师:

刘微

日期:

2017年10月11日

齐齐哈尔工程学院机电工程系

一、设计可控制霓虹灯目的及意义

霓虹灯其设计目的主要为:

(1)进一步熟悉8255A并行接口的基本工作原理

(2)运用CES-86通用微机实验装置,了解键盘的基本结构,学会编写程序.

(3)在熟悉了小键盘的基础上,加上LED发光二极管的使用设计出绚丽闪耀的霓虹灯

.本课程设计是自动化专业学生的一次较全面的的设计训练,是配合“微机与接口技术”课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。

当然,虽然程序最后达到了预期控制要求,但是由于实际情况和理想情况存在差距,我知道还有很多地方有待改进,同时我还是个初学者,各方面肯定存在不足,如果老师发现了缺陷之处,请指出,我们一定会虚心接受。

二、芯片介绍

8086内部介绍

8086CPU中寄存器总共为14个,且均为16位。

即AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES共14个。

而这14个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。

与CPU的接口电路

(1)与CPU的接口电路由数据总线缓冲器和读/写控制逻辑组成。

数据总线缓冲器是一个三态、双向、8位寄存器,8条数据线D7~D0与系

统数据总线连接,构成CPU与8255A之间信息传送的通道,CPU通过执行输出指令向8255A写入控制命令或往外设传送数据,通过执行输入指令读取外设输入的数据。

读写控制逻辑电路用来接收CPU系统总线的读信号RD,写信号WR,片选择信号CS,端口选择信号A和复位信号RESET,用于控制8255A内部寄存器的读写操作和复位操作。

(2)内部控制逻辑电路

内部控制逻辑包括A组控制与B组控制两部分。

A组控制寄存器用来控制A口PA7~PA0和C口的高四位PC7~PC4;B组控制寄存器用来控制B口PB7~PB0和低四位PC3~PC0。

它们接收CPU发送来的控制命令,对A,B,C3个端口的输入/输出方式进行控制。

(3)输入输出接口电路

8255A片内有A,B,C3个8位并行端口,A口和B口分别有1个8位的数据输出锁存/缓冲器和1个8位数据输入锁存器,C口有一个8位数据输出锁存/缓冲器,用于存放CPU与外部设备交换的数据。

对于8255A的3个数据端口和1个控制端口,数据端口既可以写入数据也可以读出数据,控制端口只能写入命令而不能读出,读、写控制信号(RD,WR)和端口选择信号(CS,A1,A0)的状态组合可以实现A,B,C3个端口和控制端口的读写操作。

8255A的端口分配及读写功能见下表:

CSWRRD

A1A0

功能

001

00

数据写入A口

001

01

数据写入B口

001

10

数据写入C口

001

11

命令写入控制寄存器

010

00

读出A口数据

010

01

读出B口数据

010

10

读出C口数据

010

11

非法操作

引脚信号

8255A的引脚如下图示,分为数据线、地址线、读写控制线、输入/输出端口线和电源线。

D7~D0:

三态、双向数据线,与数据总线连接,用来传送数据。

CS:

片选信号线,低电平有效时,芯片被选中。

A1,A0:

地址线,用来选择内部端口。

RD:

读出信号线,低电平有效时,允许数据读出。

WR:

写入信号线,低电平有效时,允许数据写入。

RESET:

复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。

PA7~PA0:

A口输入/输出信号线。

PB7~PB0:

B口输入/输出信号线。

PC7~PC0:

C口输入/输出信号线。

VCC:

+5V电源。

GND:

电源地线。

8255A的工作方式及初始化编程

8255A有三种工作方式:

基本输入/输出方式,单向选通输入/输出方式和双向选通输入/输出方式。

(1)方式0:

基本输入输出方式

方式0是8255A的基本输入输出方式,其基本特点是与外部传送数据时,不需要设置专用的信号联络(应答)信号,可以无条件的直接进行I/O端口传送。

A,B,C三个端口都可以工作在方式0。

A口和B口工作在方式0时,只能设置以8位数据格式输入输出;C口工作在方式0时,可以将高4位和低4位分别设置为数据输入或数据输出方式。

方式0常用于与外设无条件数据传送或查询方式数据传送。

(2)方式1:

单项选通输入/输出方式

方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:

与外设传送数据时,需要联络信号进行协调,允许用查询或中断方式传送数据。

由于C口的PC0,PC1和PC2定义为B口工作在方式1的联络信号线,PC3,PC4和PC5定义为A口工作方式1的联络信号线,因此只允许A口和B口工作在方式1。

(3)方式2:

双向选通输入/输出方式

方式2为双向选通输入输出方式,是方式1输入和输出的组合,即同一端口的信号线既可以输入又可以输出。

由于C口的PC7~PC3定义为A口工作在方式2时的联络信号线,因此只允许A口工作在方式2。

8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。

8255A由编程写入的控制字有两个:

方式控制字和置位/复位控制字。

方式控制字用于设置端口A,B,C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7PC0中某一条口线PCi(i=0~7)的电平。

两个控制字公用一个控制字公用一个端口地址,由控制字的最高位最为区分这两个控制字的标志位。

8255A工作方式控制字的格式如图所示:

三、硬件设计

21块积木的具体电路为:

A:

单脉冲发生器电路;

B:

时钟脉冲发生器电路;

C:

数/模转换(DAC0832)电路;

D:

可编程计数器/定时器(8253)电路;

E:

模/数转换(ADC0809)电路;

F:

单板机I/O地址电路;

G:

逻辑电路芯片插座区;

H:

电平开关电路;

I:

发光二极管(LED)显示电路;

J:

计数器分频电路;

K:

可编程并行通信接口(8255A)电路;

L:

可编程串行通信接口(8251A)电路

M:

十六进制键盘电路;

N:

七段数码显示电路;

O:

随机存储(RAM6116)电路;

P:

中继电路;

Q:

直流电源及控制电路;

R:

PC总线接口;

S:

与PC机连接的接口电路;

S

RO

Q

C

B

A

P

D

G

N

E

M

F

L

万用表

K

H

J

I

“单板积木式”示意图

本课程设计使用了F(单板机IO地址电路),H(电平开关电路),I发光二极管显示电路,K(可编程并行通信接口即8255A电路)。

设计电路图如下图所示,

A口为输出,连接8个发光二极管,B口为输入,其中的PB0,PB1接开关K1,K2。

开关的四个状态分别对应霓虹灯的四种变化状态,做试验时,通过控制开关的断开与闭合,可以观察到霓虹灯的闪烁。

同时CPU通过B端口将K1,K2的信息读入,然后转换成ASCII码

任务外设的8个发光二极管在2个开关K1,K2的控制下按照不同的规律闪烁,同时在电脑屏幕上显示开关状态,二极管闪烁规律如下:

(1)开关状态为K1关,K2关时,前四灯同时亮,熄灭后,接着后四个同时亮。

(2)开关状态为K1关,K2开时,8灯依次点亮。

(3)本次课程设计所使用的主要设备是CES-86型通用实验装置。

CES-86型通用PC机实验装置的特点是“单板积木式”电路。

而且可以和任何一种PC机相连组成系统,相连后即可在此装置上进行硬件拼接,组成各种实验系统。

它所实现的功能是实现开关对发光二极管的亮灭状态控制,并将开关状态在屏幕上显示出来。

在运行程序后按任意键发光二极管根据开关状态开始闪烁,同时在程序运行过程中按任意键可返回DOS。

四、软件设计

流程图如下:

主程序代码段

START:

MOVAX,DATA;数据段装入初始地址

MOVDS,AX

MOVES,AX

MOVAH,09H;显示提示信息

MOVDX,OFFSETMESS

INT21H

MOVDX,31BH;控制字端口

MOVAL,10000010B;控制字,B口输入A口输出

OUTDX,AL;写入控制字

A:

MOVDX,319H;端口B

INAL,DX;读开关状态

ANDAL,03H;保留B1,B0位,其他位置0

MOVX,AL;将AL暂时装入X

MOVCX,02H

B:

MOVDL,AL;AL装入DL以备子程序使用

CALLDISP;调用显示子程序,显示PB2的状态

SHLAL,1

LOOPB;循环2次,显示2个开关状态

MOVAL,X;开关状态装入AL

CMPAL,00H;比较开关状态,00调用STATE0

JNZM

CALLSTATE0

M:

CMPAL,01H;比较开关状态,01调用STATE1

JNZN

CALLSTATE1

N:

CMPAL,02H;比较开关状态,10调用STATE2

JNZO

CALLSTATE2

O:

CMPAL,03H;比较开关状态,11调用STATE3

JNZM

CALLSTATE3

STATE0子程序:

前四灯同时亮,熄灭后,接着后四个同时亮

流程图如下

STATE0PROCNEAR

MOVAH,09H

MOVDX,OFFSETZERO

INT21H

MOVDX,318H

MOVCX,04H;端口A

H:

MOVAL,0FH

OUTDX,AL

CALLDELAY10

MOVAL,0F0H

OUTDX,AL

CALLDELAY10

LOOPH

JMPS

RET

STATE0ENDP

STATE1子程序:

8灯依次点亮

流程图如下

STATE1PROCNEAR

MOVAH,09H

MOVDX,OFFSETONE

INT21H

MOVDX,318H;端口A

MOVCX,08H

D:

MOVAL,80H

NOTAL

RORAL,1

OUTDX,AL

CALLDELAY10

LOOPD

JMPS

RET

STATE1ENDP

总结

开关控制霓虹灯实验总结

(1).在设置霓虹灯闪烁控制系统中,先确定设置霓虹灯的大致思路,有一个主程序,四个分别控制红灯、绿灯、黄灯闪烁规律的子程序,还有按键返回DOS子程序;

(2).通过设计霓虹灯闪烁规律控制系统深刻的理解了8255A的端口控制的方式以及输入输出状态。

(3).在做课程设计的过程中熟悉了汇编语言、各种跳转指令、子程序调用、循环指令以及返回DOS指令更全面的了解了微机原理与接口技术的内容。

参考文献

1. 马春燕,段承先.微机原理与接口技术.北京:

电子工业出版社,2007 

2. 马春燕,段承先.微机原理与接口技术实验与学习指导.北京:

电子工业出版社,2007 

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1