微机接口实验报告(循环彩灯).doc_第1页
微机接口实验报告(循环彩灯).doc_第2页
微机接口实验报告(循环彩灯).doc_第3页
微机接口实验报告(循环彩灯).doc_第4页
微机接口实验报告(循环彩灯).doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录第一章 需求分析 1.1 设计目的.1 1.2 设计任务与要求.1 1.3 软硬件运行环境及开发工具.1第二章 概要分析 2.1 总体方案与说明.2 2.2 8255A芯片图.3 2.3 循环彩灯流程图.4第3章 详细设计 3.1 硬件设计与实现.5 3.2 实验电路图与说明.6 3.3 源程序代码.6第四章 系统调试与操作说明 4.1 系统调试.9 4.2 操作说明.9 第五章 总结体会 .10 参考文献.10 第一章:需求分析 1.1设计目的 巩固和加深课堂所学知识;熟悉各种指令的应用及条件; 学习掌握一般的软硬件的设计方法和查阅、运用资料的能力; 深入了解与掌握8255A在PC机系统的典型接法和8255A的工作方法及应用编程。 1.2设计任务与要求 任务: 循环彩灯控制系统输出四种参考花型如下:数位为1时表示灯亮1)00000001 左循环2)10000000 右循环3)按10000001,11000011,11100111,11111111 规律递增,全亮后同时闪烁十次,循环不断。4)按11110000,00001111 交替闪烁。 要求: 1画出硬件原理图(接口芯片和外设部分)和实验连线图; 2功能要求: 1)循环彩灯的循环速度可调;2)按键要求 启动/暂停,按K0开关启动系统,按K1开关停止系统工作。 花型变换,由开关K2、K3进行四种花型切换; 1.3软硬件运行环境及开发工具 利用TDN86/88实验平台进行硬件电路的连接,在Wmd86软件下进行程序的调试,直 到使循环彩灯按照设计要求运行, 实验所使用的实验开发平台是Wmd86,使用的编程语言是汇编。第二章:概要设计 2.1 总体方案与说明根据所学内容和对8255A的应用,整个系统硬件采用8086微处理器,和8255A可编程并行接口芯片和8个led彩灯。Intel 8255A是一种通用的可编程并行接口芯片,由于它是可以编程的,可以通过程序来设置芯片的工作方式,通用性强,使用灵活,可为多种不同的CPU与外设之间提供并行输入/输出的通道;8086微处理器,选择最小工作模式,所有的总线控制信号均由8086产生;8086CPU的地址数据总线AD15-AD0和地址状态总线A16/S3-A19/S6是复用的,必须通过地址锁存器把地址总线和数据总线分离。可编程并行通信接口芯片8255A: 方式0为简单I/O,查询方式,端口A、端口B、端口C均可使用。 方式1为选通I/O,中断方式,端口A、端口B可以使用,选通的输入/输出方式。方式2为双向I/O,中断方式,只有端口A可以使用,双向的传输方式。 三个8位端口PA、PB、PC端口A(PA口):有一个8位数据输入锁存器和一个8位数据输入锁存/缓冲器;端口B(PB口):有一个8位数据输入锁存器和一个8位数据输入/输出,锁存/缓冲器;端口C(PC口):有一个8位数据输入锁存器和一个8位数据锁存/缓冲器。 通常PA口与PB口用作输入/输出的数据端口,PC口用作控制和状态信息端口。PC口可以分为两个四位的端口,每个端口包含一个四位锁存器,可分别同PA口和PB口配合使用,用作控制信号(输出)或作为状态信号(输入)。 方式0也叫基本输入/输出方式。一种方式,不需要应答联络信号,端口A、端口B和端口C的高4位及低4位都可以作为输入或输出端口。方式0的应用场合有无条件传送和查询传送2种; 故根据我们系统设计的要求,综上可知,选择8255A为工作方式0。然而8255A的3种基本工作方式:由方式选择控制字来决定,D71(特征位)表明是设定方式选择控制字;D7=0,则表示是端口C按位置位/复位控制字; 端口C分成高4位(PC7PC4)和低4位(PC3PC0),可分别设置成输入端口或输出端口;端口C的高4位与端口A配合组成A组,端口C的低4位与端口B配合组成B组。综上可得此系统需要满足A端口为输出,输出数据给到8个彩灯;端口C为输入,需要检测按键的输入情况。 2.2 8255A芯片图 PA3140PA4如图所示:PA04PA13PA2239PA538PA637PA73635RESET6534D0GND7 33D1A18 8255A32D2A0931D3PC71030D4PC61129D5PC51228D6PC413PC01427D7PC11526VCCPC21625PB717PC324PB618PB023PB519PB122PB420PC221PB3 图1 8255A芯片图 2.3循环彩灯流程图 图如下:开始 检测K0YN初始化NY调用左循环PB0PB1=00NY调用右循环PB0PB1=01NY调用两边向里规律递增循环PB0PB1=10NY调用交替闪烁PB0PB1=11延时N检测K1结束 图2 循环彩灯流程图 这个实验我是采用K0K1来空间开关的开合关的,用K2K3来切换彩灯花型的变化,上面流程图清楚的表达了整个实验的实现过程。第三章:详细设计 3.1硬件设计与实现8255A的数据线,片选信号,地址线,读写控制线等与系统总线相连,CS与译码器的也相连,通过译码器连接到系统总线。电路使用共阳极接线发,提供低电平时发光二极管发光。通过软件向8255A中发送信号,启动系统,使彩灯实现循环的花形。再使开关可以控制彩灯在我们事先编译的花形中进行切换。k2和k3的状态为00则00000001左循环,k2和k3的状态为01则执行10000000右循环,k2和k3的状态为10则执行按10000001, 1100001111111111规律递增,全亮后同时闪烁十次,循环不断。k2和k3的状态为11则执行按11110000,00001111,红绿灯循环闪烁不断。 实验原理图如下:+5VRESERTD0-D7A9A5译码器Y3A0A1CSD0-D7RESERTPC7PC68255A+5VK1K0PA0PA1PA2PA3PA4PA5PA6PA7D0D7PB0PB1+5VK2K3A1A08086CPU图3 实验原理图3.2 实验电路图与说明 实验电路图如下: D0PA0D1PA1PC6K0 D2PA2PC7K18255AKK UNITK2 SW-LED UNITD3PA3PB0PB1K3D4PA4PA5D6D5PA6图4 实验电路图 如上图,在8255A芯片中,PA口作为输出,工作在0方式下。PA7-PA0接LED发光二极管D7D0。PB作为输入端口,工作在0方式下。PB口的PB0和PB1接开关K2和K3,控制四种花形。PC口的 上C口作为输入口,PC7和PC6接开关K0和K1,K0启动系统,K1退出程序,停止系统工作。PB0和PB1控制四种花型的切换,当PB0PB1为00时,灯闪亮为左循环,当为01时时右循环,当为10时时两边向里规律递增循环,11为红绿灯交替闪烁循环。3.3源程序代码如下: SPEED EQU 5000HSTACK SEGMENT DW 64 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODESTART:MOV AL,8AH ;8255初始化 OUT 63H,ALA0: IN AL,62H TEST AL,40H ;检测开关K0,启动 JZ A0EXIT: MOV AX,004CH INT 21HA1: IN AL,62H TEST AL,80H ;检测开关K1,停止 JNZ EXIT IN AL,61H AND AL,0FH ;屏蔽高四位 CMP AL,00H ;AL状态为00H JZ L1 ;调用L1 CMP AL,01H ;AL状态为01H JZ L2 ;调用L2 CMP AL,02H ;AL状态为02H JZ L3 ;调用L3 CMP AL,03H ;AL状态为03H JZ L4 ;调用L4 L1: MOV CX,08H ;左移动子程序 MOV AL,0FEH L11: OUT 60H,AL CALL DALLY ;左移动子程序 ROL AL,1 CALL DALLY LOOP L11 JMP A1 INT 21H L2: MOV CX,08H ;右移动子程序 MOV AL,3H L21: OUT 60H,AL CALL DALLY ;调用延时程序 ROR AL,1 CALL DALLY LOOP L21 JMP A1 L3: MOV CX,08H ;两边向里规律递增子程序 MOV AL,07EH OUT 60H,AL CALL DALLY MOV AL,03CH OUT 60H,AL CALL DALLY MOV AL,018H OUT 60H,AL CALL DALLY MOV AL,00H OUT 60H,AX CALL DALLY PUSH CX MOV CX,10 L31:MOV AL,00H OUT 60H,AX CALL DALLY MOV AL,0FFH OUT 60H,AX CALL DALLY LOOP L31 JMP A1 POP CX LOOP L3 L4: MOV CX,04H ;交替亮灯子程序L41: MOV AL,0FH OUT 60H,AL CALL DALLY MOV AL,0F0H OUT 60H,AL CALL DALLY LOOP L41 JMP A1 INT 21H DALLY: PUSH CX ;延时子程序 PUSH DX MOV CX,SPEED ;延时 LOOP5:MOV DX,SPEED LOOP6:DEC DX JNZ LOOP6 POP DX POP CX RETCODE ENDS END START四:系统调试与操作说明 4.1 系统调试首先按照实验电路图连接实验线路,确认无误后。输入编写好的源程序代码,确认没有输入错误以后,编译连接加载程序,在下方会显示程序中出现的错误,找到出错的位置,因为我将PA口作为输出口,PB口作为输入口,PC口高4位作为输入口低4位作为输出口,所以将8255初始化为MOV AL 8AH ,PC6连接K2即01000000H,TEST AL 40H ,PC7连接K3即10000000H,TEST AL 80H ,A口地址为60H,作为输出所以OUT 60H AL,B口地址为61H,作为输入口所以IN AL 62H。经过以上的调式,编译加栽后系统能够正常的运行。 4.2操作说明首先输入源程序代码,然后编译连接加载,加载成功后运行。本系统主要由四个开关控制,分别为K0、K1、K2和K3。K0置1时启动系统,K1置1时退出系统。K2和K3的状态为00则00000001左循环,K0和K1的状态为01则执行10000000右循环,K2和K3的状态为10则执行按1000001,1100001111111111规律递增,全亮后同时闪烁十次,循环不断。K2和K3的状态为11则执行按11110000,00001111闪烁。第五章:总结体会 这又是一次关于计算机语言的课程设计了,以前我们做过c,java等计算机语言的编程课程设计,那都是纯软件的课程设计,这次是用汇编语言编写程序,而且其中还涉及到了硬件电路的应用。我的选题是循环彩灯的设计,开始拿到题目的时候,我想到了上课时候做的实验,虽然比较简单,但是原理是大同小异的。我用了8255A的芯片来设计这次实验的电路,用到了PA口,PB口和PC口,利用PA口的八个口输出,连接八个灯,显示灯的亮和灭;利用PB0和PB1连接K2和K3开关,来控制彩灯四种形状的切换;利用PC6和PC7连接K0和K1开关,来控制运行的开始与停止,最后成功的完成这次实验。在写程序的过程中,我遇到了一些问题,关于循环语句的应用,我不是很明白,经过看书和查阅资料,我懂得了循环语句的应用,并且成功的解决了设计中所需要的循环次数的问题,其中我学到了不少东西,上课的时候讲的子程序,在这次实验中都应用到了,给了自己一个实践锻炼的机会,也让我成功的完成了程序设计。这次的课程设计,和以前的课程设计一样,我接触到了自己学过的东西,也接触了自己没学到的东西,既巩固了所学习的知识,也让自己对新的知识得到了一定的了解,每次的课程设计,总是能让自己学到很多的东西。妈妈总说做事情要有耐心,老师总说学习要用心,耐心和用心加起来就是最好问题事情的武器,在课程设计中总是能感觉到这样的道理。学习就是为了把学的东西运用起来,俗话也有说:台上一分钟,台下十年工,所以学习要持之以恒。在以后的学习中,我会不断的努力前进的。参考文献:彭虎,周佩玲,傅忠谦,微机原理与接口技术(第二版),电子工业出版社,2008年3月。戴梅萼,微机计算机技术与应用(第三版),清华大学出版社,2003年。艾德才,Pentium系列微型计算机原理与接口技术,高等教育出版社,2000年。 设计过程中质疑(或答辩)记载:问题1:怎么控制四种彩灯的切换? 答:采用的K2和K3来控制四种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论