微机原理课程设计说明书_第1页
微机原理课程设计说明书_第2页
微机原理课程设计说明书_第3页
微机原理课程设计说明书_第4页
微机原理课程设计说明书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

武汉纺织大学课程设计任务书课题名称: 基于8086/8088的交通信号灯设计完成期限:2011年12月12日至2011年12月22日院系名称外经贸学院 指导教师周国鹏专业班级机设0824 指导教师职称 学生姓名钮宇宽院系课程设计(论文)工作领导小组组长签字 一、 任务分析基于8086/8088交通信号灯设计主要需要实现这几部分功能,第一,信号灯的通断延时;第二、紧急按键对交通信号灯的控制;第三、环境湿度、温度的采集。在以往的设计中,采用8253计数器0和计数器1级联实现准确定时,运用较多,这种设计方法,定时范围比较任意,不受条件的限制,不足之处,需要的硬件电路块比较多,结构较复杂,如果运用我们本次设计任务,不利于节约资源。基于此,我采用了,单级计数器累加定时的简单设计方法。二、 设计内容分析根据设计任务书,确定灯亮灭的规律;东西南北两个方向起始状态全为红,延续3秒。2•东西方向红灯亮,南北方向绿灯亮;延续6秒。3•东西方向红灯亮,南北方向转为黄灯亮;延续3秒。4•东西方向红灯亮,延续3秒;南北方向黄灯亮,以频率1HZ闪烁3秒。5•东西方向绿灯亮,南北方向红灯亮,延续6秒。6•东西方向黄灯亮,南北方向红灯亮;延续3秒。7•东西方向黄灯亮,以频率1HZ闪烁3秒;南北方向红灯亮,延续3秒。&东西方向红灯亮,南北方向绿灯亮,重复以上步骤。9•每一个路口有一个紧急按键,可以中断当前的交通状态,使当前的路口为绿灯,经过12秒后恢复。从允许通行时灯的亮灭情况开始分析,总结出下表(1标示灯亮,0标示灯灭):

000状态2东西向绿灯亮南北向红灯亮000000状态2东西向绿灯亮南北向红灯亮000000状态3东西向黄灯亮南北向红灯亮000状态时间十六进制二进制状态10-684H10000100B状态26-1288H10001000B状态312-1830H00110000B状态418-2450H01010000B东西、南北分别在0-6,、6-12、12-18、18-24时间段的亮灯情况比较:OOOOOOO状态0 •0 状态1 •O东西向红灯亮Oo东西想红灯亮2O南北向绿灯亮南北向黄灯亮•OOOOOOOO•OOoo・ ooe一般十字路口的交通灯控制系统的工作过程如下:(1)南北车道绿灯亮,东西车道红灯亮。表示南北车道上的车辆允许通行,东西车道禁止通行。绿灯亮足规定的时间隔TL时,控制器发出状态信号ST,转到下一工作状态。(2) 南北车道黄灯亮,东西车道红灯亮。表示南北车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,东西车道禁止通行。黄灯亮足规定时间间隔TY时,控制器发出状态转换信号ST,转到下一工作状态。(3) 南北车道红灯亮,东西车道黄灯亮。表示南北车道禁止通行,东西车道上的车辆允许通行绿灯亮足规定的时间间隔TL时,控制器发出状态转换信号ST,转到下一工作状态。

(4)南北车道红灯亮,东西车道黄灯亮。表示南北车道禁止通行,东西车道上位过县停车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足规定的时间间隔TY时,控制器发出状态转换信号ST,系统又转换到第(1)种工作状态。三、电路设计思路1、 延时功能实现逻辑:把8253计数器0设为1s定时中断,周期为0-24秒,用8255的A、B口低12位控制东西、南北路口交通灯的状态;灯的亮灭可直接由8088输出0,1控制。用8259A管理可屏蔽中断及开机初始化。计数器0,累计时间与状态时间相比较,从而控制灯的状态改变,达到延时效果。2、 译码电路设计8259的地址为20H、21H,8253的地址为40H、41H、42H、43H,8255的端口地址为0F0H、0F1H、0F2H、0F3H。故芯片的地址只与8086的地址的低8位有联系,不妨设高十二为全为1将它们相与后作为38译码器的始能信号E3。再分析发现8259、8253、8255各端口地址的低八位其中D2、D3均为0,将8086的地址总线的D2、D3作为38译码器的始能信号E1、E2。将8086的地址总线的D0、D1分别与8253和8255的A0、A1连接,利用D4、D5、D6、D7构成译码电路。将8086的地址总线的D0与8259的A0连接,利用D2、D4、D5、D6、D7通过38译码器构成译码电路。3、 主要芯片的工作原理及接线1)对5255A芯片的介绍:8255A是一种可编程的芯片,它采用双列直插封装,用+5V电源供电。内部有3个8位的I/0端口:A口、B口和C口。这三个端口也可以分为各有12位的两组:A组和B组。A组包含A口8位和C口的高四位,B组包含B口8位和C口的低四位;A组控制和B组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内部寄存器的数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以直接和8088系统数据总线相连。8255A的内部逻辑结构见图:I/OPA7—PA0I/OPC7-PC0I/OPA7—PA0I/OPC7-PC0I/OPC0—PC20I/OPB7—PB0图4.4.28255A的内部结构8255A有三种工作方式:方式0、方式1和方式2。它通过对控制寄存器写入不同的方式选择控制字来决定其三种不同的工作方式。方式0是基本输入输出方式。该方式下的A口8位和B口8位可以由输入的控制字决定为输入或输出,C口分成高4位(PC4-PC7)和低4位(PC0-PC3)两组,也有控制字决定其输入或输出。需要注意的是,该方式下,只能将C口其中一组的四位全部置为输入或输出。方式1选通输入输出方式,又叫单向输入输出方式。它分为A、B两组,A组由数据口A和控制口C的高4位组成,B组由数据口B和控制口C的低4位组成。数据口的输入输出都是锁存的,与方式0不同,由控制字来决定它是作为输入还是输出。C口的相应位用于寄存数据传送中所需的状态信号和控制信息。方式2为双向输入输出方式。本方式只有A组可以使用。此时A口为输入输出双向口,C口中的5位(PC3-PC7)作为A口的控制位。在本系统中,8255A的三个端口均工作于方式0,全部为输出口。2)对8259A芯片的介绍:一个8259A芯片的可以接最多8个中断源,但由于可以将2个或多个8259A芯片级连(cascade),并且最多可以级连到9个,所以最多可以接64个中断源。早期,IBMPC/XT只有1个8259A,.但设计师们马上意识到这是不够的,于是到了IBMPC/AT,8259A被增加到2个以适应更多外部设备的需要,其中一

个被称作Master,另外一个被称作Slave,Slave以级连的方式连接在Master上。女口今绝大多数的PC都拥有两个8259A,这样最多可以接收15个中断源。8259A内部结构图:D0—D7数据总—k线控制斗器-RD-WRA0—CSCAS0 ►D0—D7数据总—k线控制斗器-RD-WRA0—CSCAS0 ►CAS1* .CAS2级联缓冲器/比较器SP/-EN1-INTAINT控制逻辑01234567RRRRRRRRIIIIIIII: 弐 中断屏蔽寄存器IMR内部总线3)对8253芯片的介绍:可编程计数/定时控制器器8253芯片具有定时、计数双功能。它由数据总线缓冲存储器、读/写控制器、控制字寄存器及3个计数通道组成,共有24条引脚,其内部结构流程图及引脚信号如图:CUC0GATEDOI.ITO—*01.IT1CS控制字01.IT2计数通道1读/写逻辑数据总线缓冲器向部数据总线D7~IiOA1计数ioo计数<—GATE2<—GATE1cncri oi.rrri+GATEDGNIi1CUC0GATEDOI.ITO—*01.IT1CS控制字01.IT2计数通道1读/写逻辑数据总线缓冲器向部数据总线D7~IiOA1计数ioo计数<—GATE2<—GATE1cncri oi.rrri+GATEDGNIi12422332242152068253 19T1881T916101511141213弋 Vcc WR M■< A1 Au龙 GLK2 >01.H2 GATE2 CU:1 GATE1 v01.IT18253引脚图82538253引脚图数据总线缓冲存储器由8位双向三态缓冲存储器构成,是CUP与8253之间交换信息的必经之路。读/写控制器接受CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。可接受的控制信号:(1) A”。一端口选择信号,由CPU输入。8253内部有3个独立的通道,和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作,对控制字寄存器进行写操作。(2) CS—片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。(3) RD、WR—读/写控制命令,由CPU输入,低电平有效。RD有效时,CPU读取由AAq所选定的通道内计数的内容。WR有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。与此计数器相对应,每个通道内设有一个16位计数值锁存器,必要时用来锁存计数值。当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中,被计数的事件以脉冲方式从CLK端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”,iOUT端将有输出,表示计数次数到。i当某通道用作定时器时,由CLK端输入一定频率的时钟脉冲。根据要求定时的时间长i短确定所需的计数值,并预置到计数器中,每输入一个时钟脉冲,计数器内容减1”,待计数值计到“0”,OUT端将有输出,表示定时时间到。i控制字寄存器用来存放由CPU写入8253的方式选择控制字,由它来定义8253中各通道的工作方式。D7DiD7DiDiDyD3DiOnSCiSCoRLiRLo陆MeMoBCD+ >V-— If1:BCD计数1th2进制计数-000:方式0001;齐式1jX10:方式2]XII:卡式3100;方式400:计数器锁存,供CPU读1101:方式于01:只读/写计薇器低字节10=只读/写计数器高字节11:先询写计数器低字节,后读/写高字节00=选捧通道001:选择通道1 710:选择通道2I11;无效82越的控制字sq、SC位用来选择通道,RL.RL°位用来定义对所选通道中的计数器的操作,BCD位用来定义是采用二进制计数还是十进制计数,M2MM位用来定义所选通道的6种工作方式。4)对8253的工作方式的分析:8253可以工作在方式0到方式5,常用的有方式2频率发生器方式和方式3方波发生器方式。在方式2时,当初值装入后,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但GATE为低时,立即停止计数,将OUT变为高;当GATE再变高时,便启动一次新的计数周期。在方式3时,当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。在本系统中,8253A工作于方式3方波发生器方式。四、总体设计框图五、紧急处理流程图六、硬件原理图g七、程序代码DATASEGMENT;设置数据段,以及端口地址分配PORTAEQU218HPORTBEQU219HPORTCEQU21AHPTCON8255EQU21BHPORT0EQU238HPORT1EQU239HPORT2EQU240HPTCON8253EQU241HDATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODEINIT: MOVAX,DATAMOVDS,AXMOVDX,PTCON8253MOVAL,36HOUTDX,ALMOVDX,PORTOMOVAX,2710HOUTDX,ALMOVAL,AHOUTDX,AL;通道0工作方式3周期0.01sMOVDX,PTCON8253MOVAL,71HOUTDX,AL;通道1工作方式1MOVDX,PTCON8253MOVAL,96H

OUTDX,ALMOVDX,PORT2MOVAL,64HOUTDX,AL;通道2工作方式3周期Is8253初始化完成MOVDX,PTCON8255MOVAL,80HOUTDX,AL;8255初始化A,B,C口均工作在方式0MOVDX,PORTAMOVAL,0OUTDX,ALMOVDX,PORTBMOVAL,0FHOUTDX,ALMOVDX,PORTCMOVAL,0FHOUTDX,AL;灯初始化完成STA:MOVDX,PORTAMOVAL,0A0HOUTDX,ALMOVDX,PORTBMOVAL,0F0HOUTDX,ALMOVDX,PORTCMOVAL,50HOUTDX,AL;南北绿灯亮,东西红灯亮MOVDX,PORT1MOVAX,0BB8HOUTDX,ALMOVAL,AHOUTDX,AL;8253通道1赋值开始计时SCAN1:MOVAL,0MOVDX,PTCON8255MOVAL,90HOUTDX,ALMOVDX,PORTAINAL,DXANDAL,0FHCMPAL,1JNZSCAN1;扫描PA7口FLA1:MOVDX,PTCON8255MOVAL,80HOUTDX,ALMOVDX,PORTCMOVAL,0F0HOUTDX,ALMOVDX,PORTBMOVAL,50HOUTDX,ALMOVCX,0TESTI:MOVDX,PTCON8255;检测PB7MOVAL,82HOUTDX,ALMOVDX,PORTBINAL,DXANDAL,0FHMOVAH,ALMOVDX,PTCON8255MOVAL,82HOUTDX,ALMOVDX,PORTBINAL,DXANDAL,0FHXORAL,AHADDCL,ALCMPCL,9JNZTESTI;闪烁3次MOVDX,PTCON8255MOVAL,80HOUTDX,ALMOVDX,PORTAMOVAL,50HOUTDX,ALMOVDX,PORTBMOVAL,0F0HOUTDX,ALMOVDX,PORTCMOVAL,0A0H;南北红灯亮,东西绿灯亮MOVDX,PORT1MOVAX,0BB8HOUTDX,ALMOVAL,AHOUTDX,AL;8253通道1赋值开始计时SCAN2: MOVAL,0MOVDX,PTCON8255MOVAL,90HOUTDX,ALMOVDX,PORTAINAL,DXANDAL,0FHJNZSCAN2FLA2: MOVDX,PTCON8255MOVAL,80HOUTDX,ALMOVDX,PORTCMOVAL,0F0HOUTDX,ALMOVDX,PORTBMOVAL,0A0HOUTDX,ALTEST2:MOVDX,PTCON8255MOVAL,88HOUTDX,ALMOVDX,PORTCINAL,DXANDAL,0FHMOVAH,ALMOVDX,PTCON8255MOVAL,88HOUTDX,ALMOVDX,PORTCINAL,DXANDAL,0FHXORAL,AHADDCL,ALCMPCL,9JNZTEST2;闪烁3次CODEENDSENDSTA八、 设计小结通过本次课程设计,我们熟悉了8086、8259、8253、8255、8282以及38译码器和门电路的功能和应用。学会了用汇编语言设计一个程序的方法。在设计时遇到了很多难题,但我还是通过查书

温馨提示

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

评论

0/150

提交评论