微机接口与技术利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制.doc_第1页
微机接口与技术利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制.doc_第2页
微机接口与技术利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制.doc_第3页
微机接口与技术利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制.doc_第4页
微机接口与技术利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

此文档收集于网络,如有侵权,请联系网站删除 目录一 内容1二、 技术资料2三原理7四、电路图8五、 详细设计9六流程图10七代码11八调试过程及结果15九总结:18十、答辩19十一、参考资料211 内容利用8255并行接口控制LED发光二极管的亮灭来模拟十字路口交通灯直行和转向的控制。设计要求如下:设有一个十字路口,东西南北方向,初始态为4个路口的红灯全亮。之后,直行车道东西路口的绿灯亮,南北路口的红灯亮,转向灯东西路口的红灯亮,南北路口的绿灯亮。延迟一段时间后,直行道东西路口黄灯亮,南北路口红灯亮,转向灯保持不变。闪烁一段时间后,直行车道东西路口的红灯亮,南北路口的绿灯亮,转向灯东西路口的绿灯亮,南北路口的红灯亮。延迟一段时间后,东西路口绿灯亮,南北路口黄灯亮,转向灯保持不变,之后,重复上述过程。二、 技术资料1、74LS1381)、74138译码器在本实验中的作用: 由于在对8255A写控制字时只有C口可以实现高四位输入,低四位输出,然而集成箱中的接口不够多,因此通过74138译码器实现动态的设置到计时2)、74138译码器的功能分析: Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 S3二进制译码器74138 S2 S1A2 A1 A0图一、74138译码器的引脚排列图和逻辑符号表1-3:74138译码器真值表 输入 输出S1 S1+S3 A2 A1 A0Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y71 0 0 0 0 0 1 1 1 1 1 1 11 0 0 0 1 1 0 1 1 1 1 1 11 0 0 1 0 1 1 0 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1 1 11 0 1 0 0 1 1 1 1 0 1 1 11 0 1 0 1 1 1 1 1 1 0 1 11 0 1 1 0 1 1 1 1 1 1 0 11 0 1 1 10 1 1 1 1 1 1 00 d d d d 1 1 1 1 1 1 1 1d 1 0 d d 1 1 1 1 1 1 1 12、8255A1)简介 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 图二、8255A8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。1)与CPU连接部分根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB:编号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。2)与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:(1)A口:编号为PA0PA7,用于8255向外设输入输出8位并行数据。图三、8255引脚图(2)B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。(3)C口:编号为PC0PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。3)控制器8255将3个通道分为两组,即PA0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:(1)A组控制器:控制A口与上C口的输入与输出。(2)B组控制器:控制B口与下C口的输入与输出。2) 特性(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.3)引脚功能RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.RD:读信号线,当这个输入引脚为低跳变沿时,即/RD产生一个低脉冲且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低跳变沿时,即/WR产生一个低脉冲且/CS=0时,允许CPU将数据或控制字写入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。4)、8255方式选择控制字说明:8255A工作方式:(1) 工作方式 0 :这是 8255A 中各端口的基本输入 / 输出方式。它只完成简单的并行输入 / 输出操作, CPU 可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式 0 ,则可由工作方式控制字定义 16 种工作方式的组合 (2) 工作方式 1 :被称作选通输入 / 输出方式。在这种工作方式下,数据输入 / 输出操作要在选通信号控制下完成。 (3) 工作方式 2 :被称作带选通的双向传送方式。 8255A 中只允许端口 A 处于工作方式 2 ,可用来在两台处理机之间实现双向并行通信。其有关的控制信号由端口 C 提供,并可向 CPU 发出中断请求信号。控制字格式如图四:图四:8255A芯片的控制字格式PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 工作于三种方式中的任何一种;PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 不能工作于方式二;PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。不能工作于方式一或二。A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A1=0,A0=0时,PA口被选择;当A1=0,A0=1时,PB口被选择;当A1=1,A0=0时,PC口被选择;当A1=1.A0=1时,控制寄存器被选择.5)、8255技术参数:主要参数说明:8255A工作最大电流为120MA,VCC=-5V+5V,I(DAR)工作电流最大为4MA。8255的输出电压不高,连接到LED时,最好加入一个驱动器起到电流放大的作用,其具体参数值说明如表3-1。表2、8255A技术参数说明8255A技术参数测试条件规范值单位大小输入低电平电压IL.输入高电平电压IHCC.输出低电平电压OL(数据端口)OL.输出低电平电压OL(外围端口)OL.输出高电平电压OH(数据端口)OR.输出高电平电压OH(外围端口)OH.达林顿驱动电流OAR.mA电源电流CCmA输入负载电流ILINmA输出浮动电流OFOR.VmA6)、8255A的逻辑图图五、8255A内部逻辑图三原理1)、8255A在本实验中的作用:通过8255A的三个I/O端口A口、C口、控制口与红、绿、黄二极管连接起来控制交通灯的规律性变化。2)、8255的功能分析:PA、PC口均工作在方式状态。:PA0、PA3接红灯L8、L11,PA1接绿灯L9;PA2接黄灯L10, PC0PC1作为LED灯的低八位。3)、8255工作方式说明:方式0的工作特点:这种方式通常不用联络信号,不使用中断,通道中的每一个都有可以由程序选定作为输入或输出。方式0的使用场合:同步传送是在外设控制过程的各种动作时间为固定,且已知的条件下使用的。因此,传送中不要应答信号。输入时,执行程序只要给出IN指令;而输出时,也只给出OUT指令,就能实现数据的输入或输出。优点是程序简单,接口的硬件开销小。四、电路图 图六、8255A引脚图 /RD /WR RST8255CSA0A1JDJ0PA0PA1PA2PA3IORIOWRSTYIA0A1JD2J10L8L9L10L11 图七、交通灯(直) /RD /WR RST8255CSA0A1JDJ0PA0PA1PA2PA3IORIOWRSTYIA0A1JD1J8L8L9L10L11 图八、交通灯(转向)5、 详细设计1)方式控制字D7 D6 D5 D4 D3 D2 D1 D0 控制字1 0 0 0 0 0 0 0 80H2)直行车道inport1 equ 0ff00h-280hinport1a equ inport1+288hinport1c equ inport1+28ahinport1ct equ inport1+28bh3)转向车道inport equ 0ff00h-280hinporta equ inport+280hinportc equ inport+282hinportct equ inport+283h4)直行车道状态字L11 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 状态字 状态1 0 0 1 0 0 1 0 0 1 0 0 0924H 全红0 0 1 0 0 1 1 0 0 1 0 0 0264H 东西绿南北红0 1 0 0 1 0 1 0 0 1 0 0 04A4H 东西黄南北红1 0 0 1 0 0 0 0 1 0 0 1 0909H 东西红南北绿1 0 0 1 0 0 0 1 0 0 1 0 0912H 东西红南北黄5)转向状态字L11 L10 L9 L8 L7 L6 L5 L4 L3 L2 L1 L0 状态字 状态1 0 0 1 0 0 1 0 0 1 0 0 0924H 全红1 0 0 1 0 0 0 0 1 0 0 1 0909H 东西红南北绿0 0 1 0 0 1 1 0 0 1 0 0 0264H 东西绿南北红开始直走:东西绿,南北红转向:东西红,南北绿时延直走:东西黄,南北红转向:东西红,南北绿时延时延直走:东西红,南北绿转向:东西绿,南北红直走:东西红,南北绿转向:东西绿,南北黄设置两个8255A的A口,C口和控制口为全红时延六流程图七代码inport equ 0ff00h-280hinporta equ inport+280hinportc equ inport+282hinportct equ inport+283hinport1 equ 0ff00h-280hinport1a equ inport1+288hinport1c equ inport1+28ahinport1ct equ inport1+28bhcode segmentassume cs:codestart:xor ax,axxor dx,dxmov al,80hmov dx,inportctout dx,almov al,24h;全红mov dx,inportcout dx,almov al,09hmov dx,inportaout dx,alcall delaymov al,80hmov dx,inport1ctout dx,almov al,24h;全红mov dx,inport1cout dx,almov al,09hmov dx,inport1aout dx,alcall delaylop:mov al,64h;东西绿,南北红mov dx,inport1cout dx,almov al,02hmov dx,inport1aout dx,alcall delay2mov al,09h;东西红,南北绿mov dx,inportcout dx,almov al,09hmov dx,inportaout dx,alcall delaymov al,0a4h;东西黄,南北红mov dx,inport1cout dx,almov al,04hmov dx,inport1aout dx,alcall delay2mov al,09h;东西红,南北绿mov dx,inportcout dx,almov al,09hmov dx,inportaout dx,alcall delaymov al,09h;东西红,南北绿mov dx,inport1cout dx,almov al,09hmov dx,inport1aout dx,alcall delay2mov al,64h;东西绿,南北红mov dx,inportcout dx,almov al,02hmov dx,inportaout dx,alcall delaymov al,12h;东西红,南北黄mov dx,inport1cout dx,almov al,09hmov dx,inport1aout dx,alcall delay2mov al,64h;东西绿,南北红mov dx,inportcout dx,almov al,02hmov dx,inportaout dx,alcall delayjmp lopdelay proc nearmov bp,0aaaahs2:mov bx,0ffffhs1:dec bxjnz s1dec bpjnz s2retdelay endpdelay2 proc nearmov bp,1000ha2:mov bx,0ffffha1:dec bxjnz a1dec bpjnz a2retdelay2 endpcode endsend start八调试过程及结果 图九、全红 图十、直走:东西绿,南北红。转向:东西红,南北绿。 图十一、直走:东西黄,南北红。转向:东西红,南北绿。 图十二、直走:东西红,南北绿。转向:东西绿,南北红。 图十三、直走:东西红,南北黄。转向:东西绿,南北红。九总结:通过交通灯系统的模拟实验设计,我对微型计算机原理与接口技术的知识有更好的学习,加深了对芯片8255A的理解,对8255A芯片的A口、C口、CT口的初始化设计有了更好的了解,同时在对8255A芯片的工作方式选择,有了更好的认识选择。通过实验的硬件连接,使我认识到实验时独自动手能力的重要性,也使我认识到我的动手能力的欠缺,也使我认识到在以后的学习和其他工作时应对独自动手能力的培养。在课本上学得都是些理论知识,通过本次的实际操作,更加锻炼了我对所学知识的认知应用能力,对8255A芯片的编程的更为直观的应用理解。经过一个半星期的设计和操作,我认为此程序段虽然说比较通俗易懂,但这也存着很多的不足,经过对程序和设计的认真思考,我对控制程序做了如下的改进设想:对东西和南北的绿灯倒计时初值重装时可以采用同一个子程序,一个修改思想,是在初值重装时可以利用小键盘来进行手动设置,另一个改进思想是在控制程序中加入紧急情况的处理程序,既是要在紧急情况发生时采用中断来完成,但是由于我的能力有限,在本次课程设计并没有实现这些功能。在设计结束之后,我也对程序进行了认真的思考。我认为此程序段虽然说比较通俗易懂,但这也存着很多的不足,经过对程序和设计的认真思考,我对控制程序做了如下的改进设想:在控制程序中加入紧急情况的处理程序,既是要在紧急情况发生时采用中断来完成,但是由于我的能力有限,在本次课程设计并没有实现这些功能。不过通过本次课程设计,我对单片机不再感觉是那么难懂,和对程序控制硬件的理解,此次实验不但提高了我的实践能力和理论水平,而且对于我认识掌握各种操作技巧具有重大意义,使我的综合动手能力得到了很大的提高!经过课程设计,发现自己以前很多地方不足。我认为做实验,首先实验态度要端正,正确对待任何一个实验,有耐心,一步一步做下去,不断完善,切不可冒进,编程更需要脚踏实地,逐个子程序的调试。在这方面学校提供了良好的条件,遇到程序问题时我可以采用单步调试,查看寄存器里的数值,找出到底是哪步出现了问题,继而解决问题,实现预期功能。十、答辩问题1:不允许左转斜穿的设计。 图十四、单行道答:如图十四所示,不允许左转斜穿就只能直走和右转。就四条两两相交的单行道而言,共四种状态。第一种状态为直行时南北方向为红灯,东西方向为绿灯,右转时南北方向为绿灯,东西方向为红

温馨提示

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

评论

0/150

提交评论