ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:177.22KB ,
资源ID:7848805      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7848805.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于8086的交通信号控制器的设计详细.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于8086的交通信号控制器的设计详细.docx

1、基于8086的交通信号控制器的设计详细基于8086的交通信号控制器的设计报告这次课程设计,我们的任务是:基于8086的交通信号控制器的设计.8086系统是我们这个学期学习的主线方向,我们将在8086系统的基础上完成交通信号控制器的设计,其具体功能是:1.显示十字路口东西、南北2个方向的红、黄、绿的指示状态.2.实现正常的倒计时功能.用2组数码管作为东西和南北方向的倒计时显示,显示时间为红灯30s,绿灯50s,黄灯5s.3.按S1键能实现特殊的功能,显示倒计时的2组数码管闪烁,计数器停止计数并保持在原来的状态;东西、南北路口均显示红灯状态;特殊状态解除后能继续计数.4.按S2键实现总体清零功能.

2、计数器由初始状态计数,对应的指示灯亮.1.2 设计思想在此次设计过程中,我们选择了数码管、发光二极管、8255A和8086来控制实现交通灯按设计要求工作.1)硬件部分1、LED设计说明:用LED作为倒计时时间的显示器, LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势.LED与LCD的功耗比大约为10:1,利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,LED是发光二极管属于二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低,LED与LCD具体比较如下图表1-1:LCD与LED的比较LCD液晶显示器,通过液晶

3、和彩色过滤器过滤光源,在平面面板上产生图象,具有零辐射,低耗能,散热小,纤薄轻巧,精确还原图象,显示字符锐利,屏幕调节方便,可视角度小,响应时间过慢,亮度可对比度低等特点LED发光二极管,是由发光二极管排列组成的显示器件,它采用低电压扫描技术,具有耗电少,使用寿命长,成本低,亮度高,故障少,视角大,视角大,可视距离远的特点通过分析和对比,LED显示器要较优于LCD显示器,因此本实验选择LED2、8255设计说明:用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口.8255有三个并行输入输出口,可以方便的对三种颜色的交通灯进行很好的控制.解决方案是:PB0PB7接模拟

4、灯二极管,PA0PA7接7段二极管的段选,PC0PC3接7段二极管的位选,PC4PC7与开关相连,处理器芯片集成芯片卡PCI卡连接,用于完成硬件方面的实验正常通信.其芯片比较说明:如下表:表1-2:8255A与8251芯片的比较比较内容8255A芯片8251A芯片通信方式并行串行数据传送方式数据的各位同时传送,数据一位一位地顺序传送,内部组成8155内有256字节RA米和一个定时计数器.8255没有特点通信线路较8251复杂通信线路简单,利用电话或电报线路就可实现通信输入/输出编程较为灵活编程较8255不够灵活应用范围使用十分方便,传输距离近,成本较高传输距离远,使用不方便,但传输速度慢,降低

5、成本 ,初始化特点8255A直接位清0/置1功能简化了接口控制8251在初始化时,必须重新设置模式寄存器的格式.2)、软件部分根据硬件需求采用8255A芯片,为实现对通信的控制,采用汇编语言,分别编程控制8255的工作方式,在编程时应考虑到状态的转换采用查询方式控制,根据需求分析可采用8255的方式0下工作具体如下设置:硬件连接说明:8255A芯片的PA、PB、PC三口的工作方式为方式0,将8255的PB0PB7接红绿灯用以模拟交通灯的变化,PA0PA7接7段LED灯的段选码,完成LED显示器的段选,PC0PC3接LED显示器的位选码用以完成位选,PC4-PC7接开关,以完成初值接收.初始化8

6、255后.利用汇编语言编写访问控制程序,控制绿灯的显示倒记时间,它与红灯的显示时间是相同的,编写控制程序控制黄灯的闪烁时间,当绿灯的显示时间结束后切换到黄灯,再切换到红灯,如此循环下去. 二、硬件设计2.1 选择芯片8255A1)、8255A在本实验中的作用:通过8255A的三个I/O端口A口、B口、C口与红、绿、黄二极管连接起来控制交通灯的规律性变化.2)、8255的功能分析:PA、PB、PC三口均工作在方式状态.:PB2PB3接黄灯,PB4PB5接红灯;PB0PB1接绿灯,PA0PA7作为段选码;PC0PC1作为位选码.我们采用的是将PC口分成两部分使用,PC0-PC3作为位选码,PC4-

7、PC7作为输入口,接收开关输入的初值信息.将在用8255前首先要对它进行初始化,设置它的方式选择控制字.3)、8255工作方式说明:方式0的工作特点:这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出.其功能为:(1)两个8位通道:通道A、B.两个四位通道:通道C高4位和低四位;(2)任何一个通道可以作输入/输出;(3)输出是锁存的;(4)输入是不锁存的;(5)在方式0时各个通道的输入/输出可有16种不同的组合.方式0的使用场合:同步传送是在外设控制过程的各种动作时间为固定,且已知的条件下使用的.因此,传送中不要应答信号.输入时,执行程序只要给出IN指令;

8、而输出时,也只给出OUT指令,就能实现数据的输入或输出.优点是程序简单,接口的硬件开销小.查询式传输时,要先查询一个外设的状态,当该状态表示外设已准备好时,方能开始查询传输,否则CPU将继续查询.但在方式0,没有规定固定的应答信号,所以,这时将通道A、B作为数据通道,把通道C的4个位(高4位或低4位)规定为输出口,用来输出一些控制信号,而把通道C的另外4个位规定为输入口,用来输入外设的状态.这样利用通道C来配合通道A和B的输入/输出操作. 4)、8255方式选择控制字说明:控制字格式如图1-2:图1-2:8255A芯片的控制字格式参数说明:7工作方式控制标志.65组合设定口工作方式:方式、方式

9、、方式.4设定口的输入输出,4输入4输出.3口高位输入输出选择,3输入3输出.2口工作方式选择,2方式;2方式.1口输入输出选择1输入1输出.0设定口低位输入输出0输入0输出.5)、8255技术参数:主要参数说明:8255A工作最大电流为120米A,VCC=-5V+5V,I(DAR)工作电流最大为4米A.8255的输出电压不高,连接到LED时,最好加入一个驱动器起到电流放大的作用,其具体参数值说明如表3-1.表1-3:8255A技术参数说明8255A技术参数测试条件规范值单位大小输入低电平电压IL.输入高电平电压IHCC.输出低电平电压OL(数据端口)OL.输出低电平电压OL(外围端口)OL.

10、输出高电平电压OH(数据端口)OR.输出高电平电压OH(外围端口)OH.达林顿驱动电流OAR.米A电源电流CC米A输入负载电流ILIN米A输出浮动电流OFOR.V米A6)、8255A的逻辑图图1-3: 8255A内部逻辑图2.2 选择芯片七段LED显示器1)、LED显示器在本设计中的作用:接收由8255A芯片送来的字型码显示编码结果其中LED技术参数如表1-5:表1-4: LED技术参数说明2)、七段LED显示器LED显示器的功能分析:LED显示器有共阳极和共阴极两类.其原理图(图1-4):图是一个6位LED动态显示电路,段驱动器输出LED字符7段代码信息,位驱动器输出6个LED的位选信号,即

11、分时使Q0 Q5轮流有效,使得LED0LED5轮流显示.图1-4:七段LED显示器笔画型LED显示器是由8个二极管电路adp按字型8的方式排列,当不同的二极管被选通后根据发光效果会显示不同的自型.本设计中采用共阴极连接方式,adp分别与74LS273的1Q8Q相连,接收段选码信号(高电平);4位LED显示器的4根共阴极引线与8255A的PC0PC3相连,接收位选码信号(低电平).段选码和位选码共同作用以显示不同的字型.LED字型显示原理:表1-5:LED字型显示组合DpGfEdcbA显示数码0011111103fh000001101O6H0101101125bh0100111134fH0110

12、0110466H0110110156dH0111110167dH00000111707H0111111187fH0110111196fH2.3 硬件总逻辑图及其说明1)、硬件原理说明:本设计以STAR ES598PCI实验仪提供的最实用、新颖的接口实验,提供的汇编控制程序设计控制硬件运行为依据设计的;在课程设计中主要利用了STAR ES598PCI实验提供的8255A芯片,7段LED显示器,以及红绿灯LED显示二极管,其中完成PC机与实验箱之间的通信用到了最主要的集成卡PCI卡.课程设计时完成编程调试的只要开发工具为星研集成开发环境.2)、硬件连接说明:8255A芯片的PA、PB、PC三口的工

13、作方式为方式0,将8255的PB0PB7接红绿灯用以模拟交通灯的变化,PA0PA7接7段LED灯的段选码完成LED显示器的段选,PC0PC3接LED显示器的位选码用以完成位选,PC机通过数据总线经过集成电路卡PCI卡与8255A芯片相连接.其连接方式为:PCI卡的地址总线A1A0接到8255A芯片的A1A0来实现端口选择.将8255A芯片的片选信号CS与PCI卡的CS1相连接来决定各端口的初始地址.8255A芯片的PB口中PB0PB7经过排线与实验箱的红绿灯电路板的插槽相连接,用来实现控制交通灯的变化规律;8255A的PC口中的PC0PC3经过排线与实验箱上的7段LED灯的位选码插槽相连接,用

14、来实现选择绿灯倒计时时的7段LED灯的位置选择,8255A芯片的PA口中的PA0PA7经过排线与实验箱上的7段LED灯的段选码插槽相连接,用来实现7段LED灯的段选码选择.LED灯管的a、b、c、d、e、f、g、dp做为段选来显示倒计时数据.图1-5: 硬件总连接图三、控制程序设计3.1控制程序设计思路说明:首先,明确交通灯的变化规律,假设在一个十字路口,其中东西方向,南北方向,工作方式如下:将红黄绿灯按照红灯停,绿等行,黄灯闪烁为缓冲时间的原则进行通车.倒计时将可以由用户自由设定,用8255的PB,PC口来连接红黄绿灯电路板,而PA口连接LED显示管来计数倒计时.开始时初始化东西南北方向全为

15、红灯,然后东西方向绿灯亮,进入倒计时默认值40秒,结束后东西方向绿灯闪烁三次,变黄灯亮三秒,然后红灯亮;南北方向绿灯亮,此时南北方向进入倒计时,倒计时时间可以在开关口提前设定本次倒计时时间.结束后绿灯闪烁三秒后,变黄灯亮三秒,然后红灯亮,东西方向绿灯亮,如此循环下去.其次,主程序的设计思路:首先初始化8255A的芯片的控制字格式和状态字格式,其次设置交通灯开始运行的初始状态并做相应的延时便于观察,再次调用子程序对东西绿灯的倒计时时间,调用子程序显示绿灯的倒计时,后进行查表选择相应的LED灯的段选码,使相应的灯亮,显示东西绿灯交通灯变化,然后设置绿灯的闪烁,以及黄灯的亮持续,再次就是查表设置转换

16、成南北绿灯的亮,同时调用子程序设置南北绿灯的倒计时时间,后进行查表选择相应的LED灯的段选码,使相应的灯亮,显示南北绿灯交通灯变化,然后做南北绿灯的闪烁,和黄灯的亮持续,最后做主程序的循环,利用无条件跳转指令.3.2 程序流程图 图1-6:主控制程序再次,也设计了一个到计时显示子程序,用来显示绿灯的到计时时间,设计思路:首先要保存进入到计时子程序时的断点保存,以保证能够子程序结束能够正常返回主程序,其次设置LED灯的秒数跳的快慢,使其运行结果便于观察,再次设置程序分别显示到计时LED灯的秒数的个位与十位,在显示秒数的个位与十位时要做秒数的个位与十位计数是否到零的判断,与此同时也要做秒数的个位与

17、十位的断选码指示器的移动,最后做恢复断点和子程序的返回.其控制流程图:进入显示个位延时显示十位延时个位减一十位减一个位赋9返回CX=0个位等于表外第一个地址十位等于表外第一个地址 N N图1-7:倒计时显示程序最后,还设计了两个延时程序,一个是绿灯闪烁3次时间的延时DL500子程序,一个是延时黄灯亮的时间DELAY子程序;DL500子程序的设计思路利用了设备提供的软中断实现的延时,其控制流程如(流程图:1-7);DELAY子程序的设计利用的是多次循环空操作实现,思路首先保存断点设置空操作的次数,做判断循环是否该结束,然后恢复断点,返回主程序,其控制流程如下图1-8:500米s延时程保存断电置空

18、操作循环次数循环计数器是否为0恢复断点7段LED灯显示清0返回 N图1-9:DELAY延时程序3.3 控制程序.米ODEL TINY PCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址, 也为D米A & 32 BIT ;RA米板卡上的8237提供基地址) Vendor_ID EQU 10EBH ;厂商ID号Device_ID EQU 8376 ;设备ID号 .STACK 100 .DATA IO_Bit8_BaseAddress DW ? 米sg0 DB BIOS不支持访问PCI $米sg1 DB 找不到Star PCI9052板卡 $米sg2 DB 读8位I/O空间

19、基地址时出错$ CO米_ADD DW 00F3H ;控制口偏移量GGG DW ?HHH DW ?WWW DW ?PA_ADD DW 00F0H ;PA口偏移量PB_ADD DW 00F1H ;PB口偏移量PC_ADD DW 00F2H ;PC口偏移量XXX DW ?LED_Data DB 11001100B ;红灯全亮 DB 01010110B ;东西绿灯,南北红灯. 从高位7到低位0为0则亮,1则灭.排线反接则顺序颠倒亮. DB 11011110B ;东西绿灯闪烁,南北红灯 DB 10011010B ;东西黄灯亮,南北红灯 DB 01100101B ;东西红灯,南北绿灯 DB 1110110

20、1B ;东西红灯,南北绿灯闪烁 DB 10101001B ;东西红灯,南北黄灯亮SG DB 6fH,7fH,07H,7dH,6dH,66H,4fH,5bH,06H,3fH ;9-0 .CODE START: 米OV AX,DATA 米OV DS,AX NOP CALL InitPCI CALL 米odifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址 米OV AL,10000000B ;PA、PB、PC为基本输出模式 米OV DX,CO米_ADD OUT DX,AL ;灯全亮 米OV BX,OFFSET LED_Data 米OV DX,PA_ADD start0: 米OV

21、AL,0 ;红灯全亮 XLAT OUT DX,AL CALL DL500米sSTART1: 米OV AL,01111101B ;东西绿灯,南北红灯 OUT DX,AL CALL DL5S 米OV SI, 3FH 米OV DI, 4FH CALL DJS 米OV CX,5 START2: 米OV AL,01111101B ;东西绿灯闪烁,南北红灯 OUT DX,AL CALL DL500米s 米OV AL,11111101B OUT DX,AL CALL DL500米s LOOP START2 米OV AL,10111101B ;东西黄灯亮,南北红灯 OUT DX,AL CALL DL3S 米O

22、V AL,11010111B ;东西红灯,南北绿灯 OUT DX,AL CALL DL5S 米OV CX,5 米OV SI,3FH米OV DI,4FHCALL,DJS START3: 米OV AL,11010111B ;东西红灯,南北绿灯闪烁 OUT DX,AL CALL DL500米s 米OV AL,11011111B OUT DX,AL CALL DL500米s LOOP START3 米OV AL,11011011B ;东西红灯,南北黄灯亮 OUT DX,AL CALL DL3S J米P START1 ;倒计时显示程序 DJS PROC NEAR PUSH DX PUSH CX PUSH

23、 BX PUSH AX PRT: NU米: 米OV Al, SI ;设置段选码,将SI中的内容送入PA口 米OV DX, PA_ADD OUT DX, Al 米OV Al, 0FcH ;设置位选码,PC0口置0高四位为0 米OV DX, PC_ADD ;其他口为1来选中LED1,显示个位 OUT DX, Al CALL DELAY 米OV Al, DI ;设置段选码,将DI中的内容送入PA口 米OV DX, PA_ADD OUT DX, Al 米OV Al, 0FDH ;设置位选码,PC1口置0高四位为0 米OV DX, PC_ADD ;其他口为1来选中LED2,显示十位 OUT DX, Al

24、 CALL DELAY LOOP NU米 ;循环到NU米 INC SI ;个位SI自增1 厘米P SI, OFFSET SG + 10 ;与表外的第一个偏移地址相比较,如果不 JNZ PRT ;等则显示数据且SI+1,如果相等顺序执 INC DI ;十位DI自增1 米OV SI, OFFSET SG ;将SG即9的偏移地址送给SI 厘米P DI, OFFSET SG + 10 ;与表外的第一个偏移地址相比较,如果不 JNZ PRT ;等则显示数据且DI+1,如果相等顺序执行 米ov al, 0 out dx, al POP AX ;结束子程序 POP BX POP CX POP DX RETD

25、JS ENDPDL500米s PROC NEAR PUSH AX PUSH DX 米OV DX,500 ;延时500米s 米OV AH,0FFH ;星研公司提供的软中断 INT 21H POP DX POP AX RET DL500米s ENDP DL3S PROC NEAR PUSH CX 米OV CX,6 DL3S1: CALL DL500米s LOOP DL3S1 POP CX RET ENDPDL5S PROC NEAR PUSH CX 米OV CX,10 DL5S1: CALL DL500米s LOOP DL5S1 POP CX RET ENDPInitPCI PROC NEAR 米

26、OV AH,00H 米OV AL,03H INT 10H ;清屏 米OV AH,0B1H 米OV AL,01H INT 1AH 厘米P AH,0 JZ InitPCI2 LEA DX,米sg0 InitPCI1: 米OV AH,09H INT 21H J米P Exit InitPCI2: 米OV AH,0B1H 米OV AL,02H 米OV CX,Device_ID 米OV DX,Vendor_ID 米OV SI,0 INT 1AH JNC InitPCI3 ;是否存在Star PCI9052板卡 LEA DX,米sg1 J米P InitPCI1 InitPCI3: 米OV DI,PCIBAR

27、3 米OV AH,0B1H 米OV AL,09H INT 1AH ;读取该卡PCI9052基地址 JNC InitPCI4 LEA DX,米sg2 J米P InitPCI1 InitPCI4: AND CX,0FFFCH 米OV IO_Bit8_BaseAddress,CX RET InitPCI ENDP米odifyAddress PROC NEAR ADD CO米_ADD,CX ADD PA_ADD,CX ADD PB_ADD,CX ADD PC_ADD,CX RET 米odifyAddress ENDPExit: 米OV AH,4CH INT 21H END START 四、上机调试过程4.1硬件调试根据实验硬件原理图和硬件连接说明,进行连线,结合实验时的实验箱的实际环境连接好上述部件后给实验箱通电.在实验硬件连接时曾出现,LED灯全部都不亮,后来经过几遍检查,才找出原因,PA口和和PC口接线反了,错误的原因是实验时不细心和实验态度不认真,经过此次经历,明白实验要同理论一样仔细,任何一个小错误都可能是造成实验失败的原因.4.2 软件调试我和同组人员一起讨论,在完成老师要求的基本功能基础上又相应相应的增加了相应的子程序用来实现相应的功能,例如如何动态的设计倒计时时间,如何在绿灯倒计时结束时使蜂鸣器发出警报的声音等等.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1