《8086交通灯微机课程设计大学论文.doc》由会员分享,可在线阅读,更多相关《8086交通灯微机课程设计大学论文.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【摘要】运用了8086 CPU芯片以及8255A芯片、8253芯片和数码管等辅助硬件电路,进行了数码管倒计时的设计。进行了软件设计并编写了源程序。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用8086为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展强。本设计就是采用8086最小方式下在Protues7.8SP2软件下模拟十字路口交通灯的各种状态显示以及倒计时显示时间。本设计系统由8255AI/O口扩展系统、交通灯状态显示系统、LED数
2、码显示系统等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。本系统采用8086汇编语言编写,主要编写了主程序,LED数码管显示程序等。总体上完成了软件的编写。 关键词:带倒计时功能的交通灯;8255A;8086微机系统目 录一、概述1.1 课程设计的目的31.2课程设计的要求3二、总体设计方案及说明 2.1 系统总体设计方案4 2.2系统工作框图4三、系统硬件电路设计3.1 Intel 8086 微处理器的简介53.2 8255A芯片的工作原理 73.3多位数码管的工作原理83.4 74LS273芯片简介 103.5系统电路图设
3、计 11 3.5.1.系统总电路图设计11 3.5.2.8086最小系统原理图设计12四、系统软件部分设计 4.1 系统流程图14 4.2 系统软件源程序15 4.2.3 汇编源程序及说明16五、总结 5.1 系统调试18 5.2 心得与体会20六、参考文献22一、 概述通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入/输出(I/O)接口技术,应用程序设计技术,并能结合专业设计简单实用的微型计算机应用系统。针对课堂重点讲授内容使学生加深对微型计算机硬件原理的理解及提高汇编语言程序设计的能力,为以后的毕业
4、设计搭建了微机系统应用平台,提高学生的开发创新能力。二、总体设计方案与说明2.1 系统总体设计方案本设计是基于Windows环境下,在其中进行硬件电路的的设计,汇编语言源程序的编写以及以上两部分工作完成后的软件系统的调试。本设计的处理控制系统由Intel 8086微处理器在最小模式下组成的单处理器系统构成,用来进行对外围硬件电路进行信息采集、数据处理和控制。2.2系统工作框图本课程设计使用8086CPU控制8255A和74273锁存器分别控制LED数码管和LED交通灯。第一片8255A被选择后,从数据总线上写入数据到输出端,把LED数码管的待显示的字符对应是16进制数,即要7段数码管的对应位的
5、LED置高电平(选择的是共阴极数码管)就可以显示对应的段码。第二片8255A被选择后,从数据总线上写入的数据是指定哪一位数码管显示字符,低电平有效。同时74273锁存器也要按程序设定点亮LED交通灯。3.5系统电路图设计3.5.1系统总电路图如下图所示:3.5.2.8086最小系统原理图如下所示:8086最小系统由Intel 8086微处理器、74273 TTL带公共时钟复位八D触发器、以及74154 TTL 4线16线译码器等组成。8086有20位地址线,其中高4位A19-A16与状态线S6-S3分时复用,低16位AD15-AD0与数据线分时复用。在总线周期的T1时将地址送出后,就必须用锁存
6、器将它们锁存起来,以便在T2及以后搞死位地址线改为状态输出,低16位地址线该做数据线使用。另外,表明八位数据线是否起作用的数据总线允许信号是与状态线S7分时复用的,故也需要锁存。21条线需采用3片8位地址锁存器,这里采用74273。与外围硬件电路的连接的I/O部分由4线-16线译码器74154组成,用来分配I/O硬件地址。四、系统软件部分设计.MODEL SMALL.8086.STACK.CODE.STARTUPSTART:MOV DX,0406HMOV AL,80HOUT DX,ALMOV DX,0606HMOV AL,80HOUT DX,ALMOV AX,ALL_LIGHT;数据的地址0M
7、OV DX,0200HMOV DX,AXAGAIN: MOV SI,OFFSET SITUATION;取得定义数据段的偏移地址EAMOV DX,0200H;273地址NEXT: MOV AX,SIOUT DX,AX;数据输出到交通LED灯上PUSH SILEA SI,LEDLEA DI,TABLEONE;DUAN0:MOV AX,32;赋初值32MOV CX,AXPUSH CXAB: CALL DISPLAYPOP CXDEC CXPUSH CXMOV AX,CX CMP AX,2 JGE ABPOP CXPOP SIADD SI,2;下一状态1MOV DX,0200HMOV AX,SIOUT
8、 DX,AXPUSH SILEA SI,LEDLEA DI,TABLETWO;DUAN1:MOV AX,2MOV CX,AXPUSH CXAC:CALL DISPLAYPOP CXDEC CXPUSH CXMOV AX,CXCMP AX,0JGE ACPOP CXPOP SIADD SI,2;下一状态2MOV DX,0200HMOV AX,SIOUT DX,AXPUSH SILEA SI,LEDLEA DI,TABLETHREE;DUAN2:MOV AX,30MOV CX,AXPUSH CXAD:CALL DISPLAYPOP CXDEC CXPUSH CXMOV AX,CXCMP AX,0J
9、GE ADPOP CXPOP SIADD SI,2;下一状态2MOV DX,0200HMOV AX,SIOUT DX,AXPUSH SILEA SI,LEDLEA DI,TABLEFOUR;DUAN3: MOV AX,2MOV CX,AXPUSH CXAE:CALL DISPLAYPOP CXDEC CXPUSH CXMOV AX,CXCMP AX,0JGE AEPOP CXPOP SIJMP AGAIN;完成了一次大循环,返回程序入口地址,再次执行程序1;数码管分解显示子程序DISPLAYDISPLAY PROC NEARMOV DX,10DIV DL;32/10=3,把十位给分解出来显示0
10、,此时AL=3,AH=2MOV CL,ALMOV CH,AHXOR BX,BXMOV BL,CLMOV AL,SI+BXMOV DX,0400HOUT DX,ALXOR BX,BXMOV BL,CHMOV AL,SI+BXMOV DX,0600HOUT DX,ALCALL XUNMOV DX,10DIV DLMOV CL,ALMOV CH,AHXOR BX,BXMOV BL,CLMOV AX,SI+BXMOV DX,0402HOUT DX,ALXOR BX,BXMOV BL,CHMOV AL,SI+BXMOV DX,0602HOUT DX,ALCALL DELAYRET DISPLAY END
11、PXUN PROC NEARMOV AH,0MOV AL,DIINC DIRETXUN ENDPDELAY PROC NEAR;延时子程序2,延时时间为500*(执行469次循环语句的时间)MOV BX,500LP1:MOV CX,469LP2:LOOP LP2DEC BXJNZ LP1RETDELAY ENDP.DATATABLEONE DB 30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0TABLETWO DB 2,1,0TABLETHREE DB 32,31,30,29,2
12、8,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3TABLEFOUR DB 2,1,0LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管待显示的字符数组0SITUATION DW 1111100001100001B;南北向红灯,东西向绿灯,MSBled15,LSBled0S1 DW 1111010001010001B;南北向红灯,东西向黄灯,低电平0无效,高电平1有效S2 DW 1111001100001100B;南北向绿灯,东西向红灯,led15显然没有,
13、那数据的最高四位一定是1111S3 DW 1111001010001010B;南北向黄灯,东西向红灯4SIT_END = $ALL_LIGHTEQU1111110010010110BEND五、系统仿真过程与结果5.1 系统调试将编写好的汇编语言源程序在MASM32软件中进行汇编、连接生成可执行文件,并将其载入到8086芯片进行仿真。通过以上的调试过程和仿真调试结果可知,所设计的电路和所编写的程序满足实验要求。六、总结本次课程设计是要设计一个交通灯系统,主要功能如上已有细述。在本次对交通灯的设计过程中以此来加深对微机接口技术的理解,提高了自己的动手能力。首先着手对硬件电路的设计,本次课程设计主要
14、采用了8255A接口电路。由于对各个芯片不熟悉,通过课本了解到了它们的引脚及功能、工作方式、内部结构和控制字。然后就是对程序的设计,想要设计出一个实用的控制系统需要了解程序流程,先画出了流程图,然后对代码进行编写,在编写过程中遇到了很多问题,对芯片的不了解也导致编程的很多的问题,要么灯都不显示,要么灯显示不全,再要么红灯,绿灯时间分配不合理。最后经过一段时间的研究,查阅了很多资料并和同学讨论后终于一一解决。 经过为期一个星期的课程设计,我获益颇多。将微机接口技术中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解。最后希望通过以后的学习,不断提升自身各方面的能力,如对专业知识的掌握程度,动手实践能力等。经过此次的课程设计,我们学会了合作。我们要形成自己的设计思想,以便在今后的专业课形成自己的风格。同时在多多锻炼自己的动手能力,以便在以后的工作能独立完成一些设计项目。17