收藏 分销(赏)

微机原理课设:可控制霓虹灯.doc

上传人:快乐****生活 文档编号:4330459 上传时间:2024-09-06 格式:DOC 页数:13 大小:123.69KB 下载积分:8 金币
下载 相关 举报
微机原理课设:可控制霓虹灯.doc_第1页
第1页 / 共13页
微机原理课设:可控制霓虹灯.doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
《微机原理与接口技术》课程设计 题 目: 可控制霓虹灯 班 级: 电气本151 小组组长: 徐 明(2015040104) 小组成员: 王军三 (2015040107) 黄国涛 (2015040108) 刘飞鸿 (2015040113) 指导教师: 刘微 日 期: 2017年10月11日 齐齐哈尔工程学院机电工程系 一、设计可控制霓虹灯目的及意义 霓虹灯其设计目的主要为: (1) 进一步熟悉8255A并行接口的基本工作原理 (2) 运用CES-86通用微机实验装置,了解键盘的基本结构,学会编写程序. (3) 在熟悉了小键盘的基础上,加上LED发光二极管的使用设计出绚丽闪耀的霓虹灯 .本课程设计是自动化专业学生的一次较全面的的设计训练,是配合“微机与接口技术”课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。 霓虹灯的意义: 随着改革的不断深入,社会主义市场经济的不断繁荣与发展,大中小城市都在进行亮化工程。企业为发展自己的形象和产品,一般都会采用通过霓虹灯广告屏这种广告手法,所以当我们夜晚走在大街上,马路两旁各色各样的霓虹灯广告随处可见,一种是采用霓虹灯管做成的各种形状和多种彩色的灯管,另一种为日光灯管或白炽灯管作为光源,另配大型广告语或宣传画来达到宣传的效果,大部分是采用霓虹灯。这就涉及到如何去控制霓虹灯的亮灭、闪烁时间及流动方向等诸多控制问题,如何去快捷、可靠、简单的去控制,成为人们考虑的重点。 当然,虽然程序最后达到了预期控制要求,但是由于实际情况和理想情况存在差距,我知道还有很多地方有待改进,同时我还是个初学者,各方面肯定存在不足,如果老师发现了缺陷之处,请指出,我们一定会虚心接受。 二、总体方案 (一)概述 本次课程设计中所使用的芯片8255A(如右图)是Intel公司采用CHMOS工艺生产的一种高性能通用可编程输入/输出并行接口芯片,可以方便地 应用在Intel系列微处理器系统中。 (二)芯片介绍 1.8255A的内部结构 8255A是40引脚双列直插式芯片,片内有 A,B,C三个8位I/O端口,可提供24条可编程的 输入/输出端口线。它的内部结构由三部分电路组成:把他用线路与8086CPU的接口电路、内部控制逻辑电路和与外 设连接的输入/输出接口电路。 图1 2.8086内部介绍 8086 CPU 中寄存器总共为 14 个,且均为 16 位 。 即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。 而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。 3.与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的端口分配及读写功能见下表: CS WR RD A1 A0 功 能 0 0 1 0 0 数据写入A口 0 0 1 0 1 数据写入B口 0 0 1 1 0 数据写入C口 0 0 1 1 1 命令写入控制寄存器 0 1 0 0 0 读出A口数据 0 1 0 0 1 读出B口数据 0 1 0 1 0 读出C口数据 0 1 0 1 1 非法操作 图2 3.引脚信号 8255A的引脚如下图示,分为数据线、地址线、读写控制线、输入/输出端口线和电源线。 D7~D0:三态、双向数据线,与数据总线连接,用来传送数据。 CS:片选信号线,低电平有效时,芯片被选中。 A1,A0:地址线,用来选择内部端口。 RD:读出信号线,低电平有效时,允许数据读出。 WR:写入信号线,低电平有效时,允许数据写入。 RESET:复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。 PA7~PA0:A口输入/输出信号线。 PB7~PB0:B口输入/输出信号线。 PC7~PC0:C口输入/输出信号线。 VCC:+5V电源。 GND:电源地线。 4.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工作方式控制字的格式如图所示: 图3 (三)、硬件设计 积木的具体电路为: 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 R O Q C B A P D G N E M F L 万 用 表 K H J I “单板积木式”图4 本课程设计使用了F(单板机IO地址电路),H(电平开关电路), I发光二极管显示电路, K(可编程并行通信接口即8255A电路)。 设计电路图如下图所示, A口为输出,连接8个发光二极管,B口为输入,其中的PB0,PB1接开关K1,K2。开关的四个状态分别对应霓虹灯的四种变化状态,做试验时,通过控制开关的断开与闭合,可以观察到霓虹灯的闪烁。同时CPU通过 B端口将K1,K2的信息读 入,然后转换成ASCII码 图5 图6 外设的8个发光二极管在2个开关K1,K2的控制下按照不同的规律闪烁,同时在电脑屏幕上显示开关状态,二极管闪烁规律如下: (1)开关状态为K1关,K2关时,前四灯同时亮,熄灭后,接着后四个同时亮。 (2) 开关状态为K1关,K2开时,8灯依次点亮。 (3) 本次课程设计所使用的主要设备是CES-86型通用实验装置。CES-86型通用PC机实验装置的特点是“单板积木式”电路。而且可以和任何一种PC机相连组成系统,相连后即可在此装置上进行硬件拼接,组成各种实验系统。 它所实现的功能是实现开关对发光二极管的亮灭状态控制,并将开关状态在屏幕上显示出来。在运行程序后按任意键发光二极管根据开关状态开始闪烁,同时在程序运行过程中按任意键可返回DOS。 三、软件设计 (一)1.流程图如下: 结束 初始化编程 写入控制字 开始 读取开关状态 在屏幕上显示开关状态开关状态 显示提示信息 开关状态装入AL AL=03H AL=01H AL=02H AL=00H 返回DOS 调用子程序DELAY0 调用子程序DELAY1 调用子程序DELAY2 调用子程序DELAY3 有键按下 是 是 是 是 否 否 否 否 是 2.主程序代码段 START: MOV AX,DATA ;数据段装入初始地址 MOV DS,AX MOV ES,AX MOV AH,09H ;显示提示信息 MOV DX,OFFSET MESS INT 21H MOV DX,31BH ;控制字端口 MOV AL,10000010B ;控制字,B口输入A口输出 OUT DX,AL ;写入控制字 A: MOV DX,319H ;端口B IN AL,DX ;读开关状态 AND AL,03H ;保留B1,B0位,其他位置0 MOV X,AL ;将AL暂时装入X MOV CX,02H B: MOV DL,AL ;AL装入DL以备子程序使用 CALL DISP ;调用显示子程序,显示PB2的状态 SHL AL,1 LOOP B ;循环2次,显示2个开关状态 MOV AL,X ;开关状态装入AL CMP AL,00H ;比较开关状态,00调用STATE0 JNZ M CALL STATE0 M: CMP AL,01H ;比较开关状态,01调用STATE1 JNZ N CALL STATE1 N: CMP AL,02H ;比较开关状态,10调用 STATE2 JNZ O CALL STATE2 O: CMP AL,03H ;比较开关状态,11调用STATE3 JNZ M CALL STATE3 (二)1.STATE0子程序: 前四灯同时亮,熄灭后,接着后四个同时亮 流程图如下 标号S 子程序开始 显示子程序信息 在CX中置入循环次数为4次 控制A口使前4个灯亮,后4个灯灭 调用延时子程序 控制A口使前4个灯灭,后4个灯亮 CX=0 是 否 调用延时子程序 2.STATE0 PROC NEAR MOV AH,09H MOV DX,OFFSET ZERO INT 21H MOV DX,318H MOV CX,04H ;端口A H: MOV AL,0FH OUT DX,AL CALL DELAY10 MOV AL,0F0H OUT DX,AL CALL DELAY10 LOOP H JMP S RET STATE0 ENDP STATE1子程序: 8灯依次点亮 流程图如下 子程序开始 显示子程序信息 在CX中置入循环次数为8次 输出状态写入AL 调用延时子程序 CX=0 标号S 是 否 AL逻辑右移一位 灯显示输出状态 STATE1 PROC NEAR MOV AH,09H MOV DX,OFFSET ONE INT 21H MOV DX,318H ;端口A MOV CX,08H D: MOV AL,80H NOT AL ROR AL,1 OUT DX,AL CALL DELAY10 LOOP D JMP S RET STATE1 ENDP 四、心得体会 开关控制霓虹灯总结 (1).在设置霓虹灯闪烁控制系统中,先确定设置霓虹灯的大致思路,有一个主程序,四个分别控制红灯、绿灯、黄灯闪烁规律的子程序,还有按键返回DOS子程序; (2).通过设计霓虹灯闪烁规律控制系统深刻的理解了8255A的端口控制的方式以及输入输出状态。 (3).在做课程设计的过程中熟悉了汇编语言、各种跳转指令、子程序调用、循环指令以及返回DOS指令更全面的了解了微机原理与接口技术的内容。 五、参考资料 1. 马春燕,段承先.微机原理与接口技术.北京:电子工业出版社,2007  2. 马春燕,段承先.微机原理与接口技术实验与学习指导.北京:电子工业出版社,2007 3.  13
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服