彩灯控制器设计.docx
- 文档编号:11158968
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:16
- 大小:689.57KB
彩灯控制器设计.docx
《彩灯控制器设计.docx》由会员分享,可在线阅读,更多相关《彩灯控制器设计.docx(16页珍藏版)》请在冰点文库上搜索。
彩灯控制器设计
《微机原理及接口技术》
课程设计报告
2012/2013学年第2学期
学院:
信息商务学院
专业:
测控技术与仪器
设计题目:
彩灯控制器设计
指导教师:
裴焕斗靳红王燕
小组成员:
刘敏
总负责人
李娜
硬件电路设计
王琨
软件编程
张美如
查资料
日期:
2013年6月14日
一、设计题目及设计内容和设计要求
题目:
彩灯控制器设计
内容:
用汇编语言编写一个汇编程序,用查询的方式实现发送方从键盘上键入一个字符,接收方将该接受到的字符显示在微机屏幕上。
要求:
画出电路原理图,说明工作原理,编写程序。
二、设计目的
《微机原理及其应用课程设计》课程是电子工程系测控技术专业本科生必修的一门技术基础课程。
通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。
巩固和加深课堂所学知识;深入了解与掌握利用可编程8255进行开关量控制的原理与方法。
三、彩灯显示系统设计原理
此彩灯控制器是以8088CPU为核心,将8255A的PB口设置为方式0并作为输出口,连接5个发光二极管。
四、彩灯显示系统设计
1)预置8255端口的工作方式;
2)设计程序用B口来驱动5个彩灯,控制五路彩灯逐个递增点亮,再逐个递减熄灭。
3)设计延时1秒的子程序。
延时是为了能使人肉眼看清楚灯的变化。
五、硬件系统介绍
1、8255芯片的内部结构及引脚
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:
方式0—基本输入/输出方式
方式1—选通输入/输出方式
方式2—双向选通输入/输出方式
8255内部结构框图如图1所示:
图18255内部结构框图
8255引脚图如图2所示,各引脚功能如下:
RESET:
复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。
CS:
片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。
RD:
读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。
D0~D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
我们主要用到的引脚有:
D7~D0——与CPU侧连接的八条双向数据线;
WR(低电平有效)——写输入信号;
RD(低电平有效)——读输入信号;
CS(低电平有效)——片选输入信号;
A0、A1——片内寄存器选择输入信号;
PA7~PA0——A口外设双向数据线;
PB7~PB0——B口外设双向数据线;
PC7~PC0——C口外设双向数据线;
RESET——复位输入信号
图28255引脚图
2.8088微处理器内部结构及引脚
图38088内部结构
8088地址线和数据线
AD7~AD0:
8位地址/数据总线,分时复用、双向、三态。
A15~A8:
地址线,三态输出。
A19/S6~A16/S3:
地址/状态线,分时复用、输出、三态。
在总线周期的T1状态作地址线用,A19~A16输出高4位地址。
在总线周期的T2~T4状态作状态线用,S6~S3输出状态信息,其中:
S6恒为0。
S5指示中断允许标志IF的当前状态,S5=1,表示当前允许可屏蔽中断请求,S5=0,则禁止一切可屏蔽中断。
S4和S3用以指示是哪一个段寄存器正在使用,其编码和使用的段寄存器如下:
00为ES,01为SS,10为CS,11为DS。
编辑本段8088总线周期概念
1.指令周期:
CPU执行一条指令的时间(包括取指令和执行完该指令所需的全部时间)称为一个指令周期。
2.总线周期:
通过外部总线对存储器或I/O端口进行一次读/写操作的过程称为总线周期。
因此,一个指令周期由若干个总线周期组成。
而一个总线周期由若干时钟周期T组成。
3.时钟周期:
也就是系统主时钟频率的倒数,它是CPU的基本时间计量单位,例如,某CPU的主频为5MHz,则其一个时钟周期就是200ns,若主频为10MHz,则一个时钟周期为100ns。
8086/8088CPU的一个基本总线周期由4个时钟周期(T1,T2,T3,T4)组成,时钟周期也称为时钟状态,即T1状态、T2状态、T3状态和T4状态。
每一个时钟周期(时钟状态)内完成一些基本操作。
例如:
在T1状态,CPU往数据/地址多路复用总线上发出访问存储器或I/O端口的地址信息。
在T2状态,CPU从总线上撤销地址,若为读周期发出“RD”控制信号,使数据/地址多路复用总线的低8位处于高阻抗状态,以便CPU有足够的时间从输出地址方式转变为输入数据方式,接着在T3~T4期间,CPU从总线上接收数据。
若为写周期发出“WR”控制信号,由于输出数据和输出地址都是写总线过程,因而不需要缓冲时间,CPU在T2~T4期间把数据放到总线上。
在T3状态,数据/地址分时复用线的低8位上出现由CPU输出的数据或为CPU从存储器或I/O端口读入的数据。
在T4状态,8088完成数据传送,是控制信号变为无效,结束总线周期。
编辑本段微型计算机的基本工作方法
NMI:
不可屏蔽中断申请信号,输入、上升沿有效。
不可屏蔽中断申请不受中断允许标志IF的影响,一旦从NMI引脚收到一个正跳变触发信号,CPU在当前指令执行完成,便自动引起一个类型码为2的中断,并转入执行与中断类型码相对应的不可屏蔽中断服务程序。
INTR:
可屏蔽中断申请信号,输入、高电平有效。
受CPU内部中断允许标志位的控制。
。
CPU用STI指令可使中断允许标志IF置1,用CLI指令可使IF清0,从而可实现中断允许或屏蔽。
RESET:
复位信号,输入、高电平有效。
READY:
准备就绪信号,输入、高电平有效。
CPU在每个总线周期的T3状态检测Ready信号线,如果Ready为低电平,表示数据末准备好,则在T3状态结束后CPU插入一个或几个TW等待状态,直到Ready信号有效后,才进入T4状态,完成数据传送过程。
TEST:
测试信号,输入、低电平有效。
TEST信号是和等待指令WAIT配合使用的信号。
QS1、QS0:
指令队列状态信号,输出,高电平有效。
这两个信号的组合用来指示CPU中指令队列的当前状态。
QS1、QS0的代码组合与对应的操作定义如表5.1所示。
S2、S1、S0:
总线周期状态信号,三态、输出。
在最大模式系统中,总线周期状态信号S2、S1、S0用来指示当前总线周期所进行的操作类型。
S2、S1、S0的编码与总线操作类型的对应关系如表5.2所示。
LOCK:
总线封锁信号,三态、输出、低电平有效。
LOCK信号可由指令前缀LOCK来设置。
RQ/GT0、RQ/GT1:
总线请求信号(输入)/总线请求允许(输出),双向、低电平有效。
在最大模式中,这两个信号用来供CPU以外的两个协处理器发出总线请求(RQ)和接收CPU对其总线请求信号的响应信号(GT0,GT1)。
其中RQ/GT0比RQ/GT1有更高的优先级。
RD:
读信号,三态、输出、低电平有效。
RD信号有效,表示CPU正在对存储器或I/O端口进行读操作。
MN/MX:
最小/最大工作模式控制信号,输入。
当MN/MX接高电平时,则CPU工作在最小模式。
当MN/MX接低电平时,则CPU工作在最大模式。
SSO:
系统状态输出信号,输出。
在最小模式下,该信号与其它两个信号一起反应8088总线操作类型。
在最大模式下,该引脚输出恒为高电平。
六、系统设计简图
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
七、彩灯设计电路原理图
八、工作原理
B口连接LED彩灯,用程序来控制五个彩灯,使其逐个点亮,然后再逐个熄灭。
将端口地址映射到cpu的地址空间上,控制端口地址为10EH,B端口地
八、设计思路
B口连接LED彩灯,用程序来控制五个彩灯,使其逐个点亮,然后再逐个熄灭。
将端口地址映射到cpu的地址空间上,控制端口地址为010EH,B端口地址为010AH。
L1是循环设置。
8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。
8255A由编程写入的控制字有两个:
方式控制字和置位/复位控制字。
方式控制字用于设置端口A,B,C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平。
两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。
8255A的初始化编程比较简单,只需要将工作方式控制字写入控制端口即可。
另外,C口置位/复位控制字的写入只是对C口指定位输出状态起作用,对A口和B口的工作方式没有影响,因此只有需要在初始化时指定C口某一位的输出电平时,才写入C口置位/复位控制字。
九、程序流程图
子程序
十、实验心得
在本次课程设计中,我进一步了解了8255各引脚的功能,8255和系统总线之间的连接,8255和CPU之间的数据交换,以及8255的内部逻辑结构。
我深入掌握了8255显示电路的基本功能及编程方法,同时我深入了解了8255等芯片的工作方式、作用。
通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握。
通过这次课程设计,我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,也充分体会到了自己设计东西的乐趣、学会查阅资料和对别人的东西融会变通的重要性,也明白了很多知识光靠趴在书本上学是学不到其中的精髓的,必须亲自去试着实践,亲自去经历才能对它们真正的掌握。
我只是掌握了一种接口芯片即8255并行接口芯片的使用方法及编程方法,其他的我都不会。
说到此,我所编写的程序是有缺点的,因为程序是采用查询方式来实现的,所以,它并不能及时反映外界的变化而做出相应的改变。
如果采用中断的方法就可以避免上述问题,不过水平有限,我也只能做到此为止了,其他的还有待以后再学习吧。
附录一电路原理图
Proteus
附录二汇编程序代码
CODESEGMENT
ASSUMECS:
CODE,
MAINPROCFAR
START:
MOVAH,0AH
MOVAL,80H
OUT63H,AL
L1:
MOVAL,0FH
MOVDX,010AHB口地址
OUTDX,AL第五个亮
CALLDALLY
ROLAL,1
OUTDX,AL第四五个亮
CALLDALLY
ROLAL,1
OUTDX,AL第三四五个亮
CALLDALLY
ROLAL,1
OUTDX,AL第二三四五个亮
CALLDALLY
ROLAL,1
OUTDX,AL
XORAL,8FH全亮
CALLDALLY
RORAL,1
OUTDX,AL第一个灭
CALLDALLY
RORAL,1
OUTDX,AL第一二个灭
CALLDALLY
RORAL,1
OUTDX,AL第一二三个灭
CALLDALLY
RORAL,1
OUTDX,AL第一二三四个灭
CALLDALLY
RORAL,1
OUTDX,AL
XORAL,8FH全灭
CALLDALLY
JMPL1
MOVAH,4CH
INT21H
DELAYPROC延时子程序1S
PUSHBX
PUSHCX
NEXTMOVBL,200
DECBL
JNZNEXT
POPCX
POPBX
RET
DELAYENDS
CODEENDS
ENDSTART
附录三参考文献
1、戴梅萼,史嘉权编著.微型计算机技术及应用(第三版).北京:
清华大学出版社,2003
2、周明德编著.微型计算机系统原理及应用(第四版).北京:
清华大学出版社,2002
3、李顺增,吴国东,赵河明等.微机原理及接口技术.北京:
机械工业出版社,2006
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 彩灯 控制器 设计