微机课设交通灯.docx

上传人:小飞机 文档编号:3513858 上传时间:2023-03-13 格式:DOCX 页数:48 大小:56.57KB
返回 下载 相关 举报
微机课设交通灯.docx_第1页
第1页 / 共48页
微机课设交通灯.docx_第2页
第2页 / 共48页
微机课设交通灯.docx_第3页
第3页 / 共48页
微机课设交通灯.docx_第4页
第4页 / 共48页
微机课设交通灯.docx_第5页
第5页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微机课设交通灯.docx》由会员分享,可在线阅读,更多相关《微机课设交通灯.docx(48页珍藏版)》请在三一办公上搜索。

1、微机课设交通灯 中南大学通信工程微机原理课设交通灯设计 中南大学 微机原理与接口技术 课程设计报告 学 院 信息科学与工程学院 题 目 交通灯设计 学 号 0909112224 专业班级 通信工程1104班 姓 名 指导教师 杨政宇老师 中南大学通信工程微机原理课设交通灯设计 随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。通过课程设计,使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后

2、工作打下良好的基础。计算机原理与接口课程设计结合教学内容,从应用的角度出发,进行三类课程设计,分别分为:汇编语言程序设计、微机标准接口课程设计和接口技术课程设计。 计算机原理与接口技术是通信工程专业的一门专业基础课程,学生需要掌握RAM扩充、8253计数器/定时器、8255并行口、8259中断控制器、D/A数模转换、A/D模数转换、DMA、LED显示等各个器件的性能和使用方法。课程设计的目地是综合这些基础知识,就具体问题让学生做出软、硬件解决方案并付诸实施,以培养解决实际问题的能力。 交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场

3、所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。 要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在 中南大学通信工程微机原理课设交通灯设计 程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。 一、课程设计内容概述 . 1 1.设计任务 . 1 2.实现功能 . 1 3.基本要求

4、. 2 4.设计器材 . 2 二、设计方案及系统原理 . 2 1.设计方案 . 2 1.1两个方向的灯的控制 . 2 1.2显示时间的控制 . 3 1.3开关控制强行通断. 3 2.系统原理与初始化程序分析 . 3 2.1 8255的工作原理 . 3 2.2 8253的工作原理 . 6 2.3 8279的工作原理 . 7 2.4 8259的工作原理 . 10 2.5发光二极管显示原理 . 13 三、总体设计 . 13 中南大学通信工程微机原理课设交通灯设计 1、交通灯切换设计 . 13 2、 方案一总体设计模块 . 14 3、 方案二总体设计模块 . 14 四、创新部分具体的设计 . 15 1

5、.开关检测强行通断设计 . 15 2.显示延时模块设计 . 16 2.1 8259,8253硬件延时 . 16 2.2软件延时 . 18 2.3 延时时间计算 . 19 五、总实验流程图 . 19 1、方案一流程图 . 19 2、方案二流程图 . 20 六、仿真原理图 . 20 七、运行结果及说明 . 22 1.方案一 . 22 2.方案二 . 24 八、结果分析 . 25 九、心得体会 . 26 十、参考文献 . 28 十一、附录 . 28 1.软件延时的交通灯代码 . 28 2.有倒计时功能的交通灯代码 . 30 中南大学通信工程微机原理课设交通灯设计 一、课程设计内容概述 1.设计任务

6、这次课程设计的题目是交通灯控制的设计与实现,主要是模拟十字路口的红绿灯。 交通灯控制器的设计与实现主要是利用并行接口芯片8255A和8086微控制器的硬件连接,通过编写汇编语言程序利用8255A的C口对灯的亮与灭进行控制。首先,要了解的是8255A是如何工作的,包括它的三个端口和控制端口是如何写数据的,还包括芯片的初始化等。8086想正常的工作,必须要构成最小系统,包括地址锁存器、数据缓冲器、地址选择电路,在本设计使用的实验箱中这部分以及芯片的地和电源都已经内嵌连接好了,我们只需将接口Y7与8255A片选信号端口CS相连接即完成了8255A和8086的连接,剩下的就是8255A的三个端口和二极

7、管以及开关控制的连接。 本来设计中的定时部分可以用8253,8259芯片来完成硬件中断延时,或者选择了软件延时来实现红绿灯亮的时间和黄灯闪烁的控制。 综上所述: 方案一,利用软件延时编写交通灯程序:总的设计思想是通过查询方式检测开关按键是否按下,如果按下则执行相应操作,即使某方向强行通行另一个方向阻断或者四个方向全部红灯阻断通行。若无按键按下则正常执行交通灯规则,通过8086对8255的工作方式的设定,及对各个端口的赋值来实现红黄绿三个颜色灯在不同方向的状态,并通过软件延时维持一定的时间后跳转到其他状态。 方案二,利用8253,8259硬件中断延时编写交通灯程序:8253外接时钟频率CLK,8

8、259芯片通过编写中断服务程序控制延时频率变化。用8279芯片控制数码管显示功能。8255的工作方式与方案一一致。 2.实现功能 城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计,通过设计实现以下功能: 1)状态一:东西方向车辆放行。即东西方向的绿灯和南北方向的红灯同时点亮。 2)状态二:两个方向的黄灯亮,以警示车辆将切换红绿灯。 3)状态三:转为南北方向放行。即南北方向的绿灯和东西方向的红灯同时1 中南大学通信工程微机原理课设交通灯设计 点亮。 4)状态四:两个方向的黄灯同时亮,

9、以警示将切换红绿灯。 5)状态五:再转为南北方向车辆放行。如此循环重复。 十字路口交通灯分布示意图 3.基本要求 1熟练掌握汇编语言的程序设计; 2熟练掌握各种编程接口芯片的编程应用 3通过实验方法掌握各种电路综合分析与设计方法。 4.设计器材 DVCC综合实验仿真系统 导线若干 微机原理及接口技术实验箱 二、设计方案及系统原理 1.设计方案 1.1两个方向的灯的控制 这主要是通过8255A的C口输出组合来控制,所以只要在初始化是将8255A的这C口设定为输出即可,然后在程序中通过给各个端口赋值来实现灯的控制。又因为实验箱上的发光二极管不够12个,只有8个,所以在实际实现的时候并不是四个方向的

10、灯全部接到了8255的端口,只用了6个发光二极管,南北方向用3个灯一组,代表红、黄、绿,东西方向用另外3个灯一组。红灯是C口的PC0,PC1来控制的,具体的是PC1控制东西方向的红灯,2 中南大学通信工程微机原理课设交通灯设计 PC0控制南北方向的红灯;绿灯是C口的PC4,PC5来控制的,具体时间PC5控制东西方向的红灯,PC4控制东西方向的绿灯。黄灯是由C口的PC2,PC3来控制的,具体的是PC3控制东西方向的黄灯,PC2控制南北方向的黄灯。 1.2显示时间的控制 这包括在红绿灯亮的时间和黄灯的闪烁。计时方式的不同导致方案的不同,在这里可以有两种选择:一是以中断方式来进行计数,即利用8253

11、的输出端连接8259,通过设定一个初始值来控制计数。当计数值达到了之后输出一个脉冲来申请中断;另一种方式是用软件延时,通过编写一段延时函数,每次需要计时的时候就调用延时函数。 1.3开关控制强行通断 该功能主要是通过8255A的A端口实现的。在初始化的时候设置8255A的A口为输入,然后不断查询A口,检测是否有按键按下,如果没有按键按下则执行正常的红绿灯显示,如果有按键按下则执行相应方向的强制通行或阻断。因为系统所要执行的功能比较单一简单,并不算复杂,也没有多的设备,所以选择查询方式较好。因为希望经常检测按键状态,程序中又会经常调用延时函数来实现显示延时,所以选择将按键检测的程序放在延时函数,

12、在延时函数里面调用按键检测函数,从而实现经常进行按键检测,及时实现强行通断的功能。 2.系统原理与初始化程序分析 2.1 8255的工作原理 2.1.1 8255的内部结构 3 中南大学通信工程微机原理课设交通灯设计 1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。 2)三个端口A,B和C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一

13、个8位数据输入缓冲器。 3) A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。如下图: 它来控制把状态信息或输入数据通过相应的端口送到CPU。 2.1.2 引脚信号 4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由8255A的引脚如图所示,分为数据线、

14、地址线、读/写控制线、输入/输出端口线和电源线。 D7D0:三态、双向数据线,与CPU数据总线连接,用来传送数据。 CHIP SELECT:片选信号线,低电平有效时,芯片被选中。 A1,A0:地址线,用来选择内部端口。 READ:读出信号线,低电平有效时,允许数据读出。 WRITE:写入信号线,低电平有效时,允许数据写入。 RESET:复位信号线,高电平有效时,将所有内部寄存器清0。 4 中南大学通信工程微机原理课设交通灯设计 PA7PA0:A口输入/输出信号线。 PB7PB0:B口输入/输出信号线。 PC7PC0:C口输入/输出信号线。 VCC:5V电源。 GND:电源地线。 2.1.3 8

15、255A的工作方式 方式0-基本输入输出方式; 方式1-选通输入输出方式; 方式2-双向选通输入输出方式。 2.1.4 8255初始化程序 MOV AL,00010010B ;南北方向绿灯,东西方向红灯 MOV DX,IOCPT OUT DX,AL MOV AL,00001100B ;南北与东西方向黄灯均亮 MOV DX,IOCPT OUT DX,AL MOV AL,00100001B ;南北方向红灯,东西方向绿灯 MOV DX,IOCPT OUT DX,AL MOV AL,00001100B ;南北与东西方向黄灯均亮 MOV DX,IOCPT OUT DX,AL 2.1.5 8255与LED

16、连线图 5 中南大学通信工程微机原理课设交通灯设计 说明:上图输出端口均使用PC口,两个方向的红绿灯依次排开 2.2 8253的工作原理 2.2.1 数据总线缓冲器及数据总线D0D7 2.2.2 读/写控制逻辑及控制引脚 2.2.3控制字寄存器 在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道 及其相应的工作方式。8253的工作方式由控制字来决定,其控制字意义如下: 2.2.4计数通道0、计数通道1、计数通道2 3个计数通道内部结构完全相同。每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成。 计数初值存于预置寄存器,在计数过程中,

17、减法计数器的值不断递减,而预置寄6 中南大学通信工程微机原理课设交通灯设计 存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值。 计数器的3个引脚: 1)CLK时钟输入信号 2)GATE门控输入信号 3)OUT计数器输出信号 2.2.5 8253有6种工作方式 由方式控制字确定。区分这6种工作方式的主要标志由3点:一是输出波形不同;二是启动计数器的触发方式不同;三是计数过程中门控信号GATE对计数器操作的控制不同。 方式0-低电平输出 方式1-低电平输出 方式2-周期性脉冲输出 方式3-周期性方波输出 方式4-单次负脉冲输出 方式5-单次负脉冲输出 2.2.6 8253初始化程序

18、MOV DX,004BH MOV AL,0B6H OUT DX,AL MOV DX,004AH ;为8253设计数初值C350H MOV AL,50H ;先读低位 OUT DX,AL MOV AL,0C3H ;再读高位 OUT DX,AL 2.3 8279的工作原理 7 中南大学通信工程微机原理课设交通灯设计 2.3.1 8279概述 8279用作单片机的可编程通用键盘与显示器接口,本实验中用作显示接口。 显示部分能为发光二极管,白炽灯,七段显示器,液晶显示器等提供扫描显示接口。8279具有一个16*8的显示器RAM,它也可以组成两只16*4的RAM。CPU可以读写RAM。无论是右端送入方式还

19、是左端送入方式都能由8279实现,显示RAM有自动加1的功能,下边对8279作简单介绍。 2.3.2芯片引脚功能说明 8279采用单一+5V电源供电,40脚封装。 DB0DB7:双向数据总线,用来传送8279与CPU之间的数据和命令。 CLK:时钟输入线,用以产生内部定时的时钟脉冲。 RESET:复位输入线。 CS:片选输入线,低电平有效,单片机在/CS端为低时可以对8279进行读/A0:缓冲器低地址,当A0为高电平时,表示数据总线上为命令或状态;为RD:读信号输入线,低电平有效,将缓冲器读出,数据送往外外部总线。 WR:写信号输入线,低电平有效,将数据从外部数据总线写入8279缓冲器。 IR

20、Q:中断请求输出线。 SL0SL3:扫描线,用来扫描按键开关,传感器阵列和显示数字。 RL0RL7:回送线。 CNTL/STB:在选通输入方式中,作选通用,把数据存入FIFO RAM中。 BD:空格显示。 VCC:+5V电源输入线。 VSS:地线输入线。 写操作。 低电平时,表示数据总线上为数据。 2.3.3内部结构 数据缓冲器:是内部总路线接到外部总线的双向缓冲器,用来传送8279和CPU之间的信息。 I/O控制:控制数据的输入输出操作。 控制逻辑:控制与定时寄存器用于寄存键盘及显示器的工作方式。 扫描计数器:有两种工作方式,一种是编码方式,另一种是译码方式。 回送缓冲器:具有锁存功能,用来

21、对8条加送线上的信息进行缓冲和锁存。 FIFO/传感器RAM:本功能部件是双功能的8*8RAM。 显示地址寄存器:保存当前正由CPU读或写的那个字的地址,以及正在显示着的那两个4位半字节的地址。 8 中南大学通信工程微机原理课设交通灯设计 显示RAM:可以直接由CPU读出。半字节A和半字节B地址自动由8279更新,以便与CPU输出相对应。 2.3.4工作方式 键盘输入,传感器扫描,选通输入方式。 2.3.5命令控制字 8279的各种工作方式都要通过对命令寄存器的设置来实现。8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。命令寄存器共8位,格式为: D7 命令类型 命令内容

22、 如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特D6 D5 D4 D3 D2 D1 D0 征位,由命令寄存器高3位D7-D5决定。D7-D5三位的状态可组合出8种形式,对应8类命令。另一部分为命令的具体内容,由D4-D0决定。每种特征所代表的命令如下表所示 D7 D6 D5 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 2.3.6 8279初始化程序: 本程序中8279部分出现在用数码管倒计时的交通灯程序中,如下: CONTPORT EQU 00DFH ;8279控制端口 DATAPORT EQU 00DEH ;8279

23、数据端口 MOV AL,00H OUT DX,AL ;键盘/显示命令 MOV AL,2AH OUT DX,AL ;时钟编程命令 MOV AL,0D0H OUT DX,AL ;清除命令 MOV AL,90H OUT DX,AL ;读FIFO/传感器RAM命令 代表的命令类型 键盘/显示命令 时钟编程命令 读FIFO/传感器RAM命令 读显示器RAM命令 写显示命令 显示禁止/熄灭命令 清除命令 结束中断/出错方式设置命令 9 中南大学通信工程微机原理课设交通灯设计 2.4 8259的工作原理 2.4.1 8259A的内部结构 8259A内部结构由8个部分组成: 数据总线缓冲器 读/写控制逻辑 级

24、联缓冲器/比较器 中断请求寄存器IRR 中断屏蔽寄存器IMR 正在服务寄存器ISR 优先权分析器PR 控制逻辑 2.4.2引脚功能 D7-D0 :双向数据总线,接到系统数据总线的D7-D0上,用来传送控制字、状态字和中断类型号。 IR7-IR0 :中断请求信号输入,来自外部接口电路。 INT:向CPU发出的中断请求信号。 片选信号:低电平有效,来自地址译码器的输出,当其有效时,CPU才能对8259A进行读写操作。 写信号:低电平有效,来自CPU的输出;当该有效且CS有效时,使8259A接受CPU送来的命令字。 读信号:低电平有效,来自CPU的输出;当CS有效且RD有效时,使8259A将状态信息

25、放到数据总路线上,供CPU检测。 CAS2CAS0:双向级联总线,8259A单片工作时不用这些引脚。 SP/EN:主从定义/缓冲器方向,这是一根双功能引脚。 10 中南大学通信工程微机原理课设交通灯设计 2.4.3工作方式 1)中断优先级的设置方式 全嵌套方式,特殊全嵌套方式,优先级自动循环方式,优先级特殊循环方式 2)中断结束方式 自动结束方式,普通结束方式,特殊中断结束方式。 3)中断屏蔽方式:普通屏蔽方式,特殊屏蔽方式 4)中断触发方式:电平触发方式,边沿触发方式。 2.4.4初始化命令字,操作字 本程序中用到的命令字有:ICW1,ICW2,ICW4,OCW1 ICW1(需要ICW4,单

26、片,边沿触发MOV AL,00010011B) ICW2(选取中断3,屏蔽其他所有中断MOV AL,00001000B) ICW4(8086系统,自动EOI模式,缓冲方式MOV AL,00001011B) 11 中南大学通信工程微机原理课设交通灯设计 OCW1(中断3复位屏蔽,MOV AL,11110111B) 2.4.5 8259初始化程序 本程序中初始化程序出现在用数码管倒计时的交通灯程序中,如下: INTPORT1 EQU 0020H ;8259A的端口地址 INTPORT2 EQU 0021H MOV AL,13H MOV DX,INTPORT1 ;8259初始化命令字ICW1 OUT

27、 DX,AL MOV AL,08H MOV DX,INTPORT2 ;8259初始化命令字ICW2 OUT DX,AL MOV AL,0BH OUT DX,AL ;8259初始化命令字ICW4 MOV AL,0F7H OUT DX,AL ;8259操作命令字OCW1 2.4.6 8259中断程序 12 中南大学通信工程微机原理课设交通灯设计 WRINTVER: MOV AX,0H ;填中断向量表 MOV ES,AX MOV DI,002CH ;IRQ3中断向量地址 LEA AX,INTQ3 ;IRQ3中断服务地址 STOSW ;写中断服务地址偏移量 MOV AX,CS ;写中断服务段地址 STOSW MOV DI,003CH ;IRQ7中断向量地址 LEA AX,INTQ7 ;IRQ7中断服务地址 STOSW ;写中断服务地址偏移量 MOV AX,CS ;写中断服务段地址

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号