• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 实验报告 > 正文

    微机原理交通灯专业课程设计方案报告

    时间:2020-10-28 12:36:57 来源:勤学考试网 本文已影响 勤学考试网手机站

    微型计算机原理及应用

    课程设计说明书

    交通灯控制系统设计

    班级: 1401班

    姓 名:

    学号:

    指导老师:

    日期: 20XX年6月

    课程设计目标:

    在车辆日渐增多今天,大家也越来越关注交通问题,而交通灯在安全行车过程中无疑起着十分关键作用。现在交通灯通常全部设在十字路口,用红、绿、黄三种颜色指示灯和一个倒计时显示计时器来控制行车,?对通常情况下安全行车、车辆分流发挥着作用,?但依据实际行车过程中出现情况,?关键有以下多个缺点:?1、车道轮番放行时间相对固定,?不能依据实际情况中两个车道车辆多少来设置改变通行时间;2、?没有考虑紧急车辆经过时,?两车道应采取方法。?譬如,?有消防车经过实施紧急任务时,?两个车道车全部应停止,?让紧急车辆经过。所以怎样合理高效地利用交通灯指示交通情况,是一个亟需处理问题。

    交通灯是采取计算机经过编写汇编语言程序控制。红灯停,绿灯行交通规则。广泛用于十字路口,车站,?码头等公共场所,成为大家出行生活中不可少必需品,因为计算机技术成熟和广泛应用,使得交通灯功效多样化,远远超出传统交通灯,?交通灯数字化给大家生产生活带来了极大方便,而且大大地扩展了交通灯功效。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,全部这些,全部是以计算机为基础。还能够依据主、次干道交通情况不一样任意设置各自不一样通行时间。或给红绿色盲声音警示人性化设计。现在交通灯系统很多全部增加了智能控制步骤,比如对闯红灯车辆进行拍照。当某方向红灯亮时,此时对应传感器开始工作,当有车辆经过时,摄影机就把车辆拍下。?

    要将交通灯系统产品化,应该依据用户不一样需求进行不一样设计,应该在程序中增加部分能够人为改变参数,方便用户依据不一样需要随时调整交通灯。所以,研究交通灯及扩大其应用,有着很现实意义

    课程设计内容:

    设有一个十字路口,1、3为南北方向,2、4为东西方向。初始为四个路口红灯全亮,以后,1、3路口绿灯亮,2、4路口红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口绿灯开始闪烁,闪烁若干次以后,1、3 路口黄灯亮,后1、3路口红灯亮,而同时2、4路口绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口绿灯熄灭,而绿灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而2、4路口黄灯亮,再切换到1、3路口方向,以后反复上述过程。

    问题分析及硬件介绍:

    此次课程设计内容为利用8086、8255等接口,实现控制十二个二极管亮灭过程。需要PC机一台,8255并口:用做接口芯片。LED:共12个LED灯。还有8086芯片,8253a定时器等器材.

    将8086和74273、74154和8255连接起来.需用到8255六个输出端口。所以要求8255工作在方法0,因为二极管是共阳,所以输出低电平二极管才会亮。8086用作cpu,三个74273是锁存器,锁存地址。

    用软件proteus7.8画出电路图,加载程序到8086cpu,进行模拟。

    系统硬件设计

    8086介绍

    Intel8086是16位微处理器(其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采取HMOS工艺40条引脚封装。8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址内存空间为1MB【9】。

    另外,Intel企业同期推出Intel8088微处理器一个准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,和Intel8088微处理器基础上相同,不一样是其对外数据线只有8位,目标是为了方便地和8位I/O接口芯片相兼容。

    图所表示是8086CPU内部功效结构。

    从功效上来看,8086CPU可分为两部分,即总线接口部件BIU(Bus?Interface?Unit)和实施部件EU(Execution?Unit)。

    (1)8086关键特征

    Intel8086/8088CPU是Intel企业推出高性能微处理器,具体以下关键特征:

    (a)8086CPU数据总线为16位,8088CUP数据总线为8位。

    (b)地址总线全部是20位,低16位用于数据总线复用,可直接寻址为1MB存放空间。

    (c)有16位端口地址,能够寻址64KBI/O端口。

    (d)有99条基础指令,指令功效强大。

    (e)有9种基础寻址方法。

    (f)能够处理内部和外部中止,外部中止源多达256个。

    (g)兼容性好,8086、8085在源程序一级兼容。

    (h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。

    (i)支持单处理器或多处理器系统工作。

    (2)8086CPU寄存器结构

    8086CPU中有14个16位寄存器,其中有4个16位通用寄存器,2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器【8】。

    通用寄存器包含累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存器,在CPUEU中,每个数据寄存器可存放16位操作数, 也可拆成两个8位寄存器,用来存放8位操作数。

    指针和变址寄存器包含:堆栈指针SP、基址指针BP、源变址寄存器SI、和目标变址寄存器DI四个16位寄存器,能够来存放数据和地址。段寄存器包含:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS【4】。

    8255介绍

    8255是Intel企业生产可编程并行I/O接口芯片,有3个8位并行I/O口。含有3个通道3种工作方法可编程并行接口芯片(40引脚)。

     其各口功效可由 软件选择,使用灵活,通用性强。8255可作为 单片机和多个外设连接时中间接口电路。

    8255作为主机和外设连接芯片,必需提供和主机相连3个 总线接口,即数据线、 地址线、控制线接口。同时必需含有和外设连接接口A、B、C口。因为8255可编程,所以必需含有逻辑控制部分,所以8255内部结构分为3个部分:和CPU连接部分、和外设连接部分、控制部分。

    它含有A、B、C 三个并行接口,并行接口是以数据字节为单位和I/O 设备或被控制对象之间传输信息。CPU和接口之间数据传送总是并行,即能够同时传输8 位、16 位、32 位等。用+5V单电源,能在三种方法下工作:方法0--基础输入/出方法、方法1--选通输入/出方法、方法2--双向选通工作方法【3】。

    8255内部结构及引脚图图所表示。

    具体各引脚功效以下【3】:

    D0~D7为双向数据信号线,用来传送数据和控制字。

    RD为读信号线,和其它信号线一起实现对8255接口读操作通常接系统总线IOR信号。

    WR为写信号线,和其它信号一起实现对8255写操作,通常接系统总线IOW。CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作【6】。

    A0,A1为口地址选择信号线。8255内部有3个口;A口,B口,C 口,还有一个控

    制寄存器,它们可由程序寻址。A0,A1上不一样编码可分别寻址上述3个口和一个控制寄存器,具体要求如表1所表示。

    表1 8255寻址方法

    A1

    A0

    选择

    0

    0

    A口

    0

    1

    B口

    1

    0

    C口

    1

    1

    控制寄存器

    通常 A0,A1分别接系统总线A0和 A1,它们和CS一起来决定8255接口地址。

    RESET为复位输入信号。此端上高电平可使8255复位。复位后,8255A口,B口,C 口均被定为输入状态。

    PA0~PA7为A口8条输入输出信号线。

    PB0~PB7为B口8条输入输出信号线。

    PC0~PC7,8条线依据其工作方法可作为数据输入或输出线,也能够用作控制信号输出或状态信号输入线【7】。

    8255 工作方法控制字和C口按位置位/复位控制字格式图3所表示。【4】

    8255工作方法关键有工作方法0、工作方法1和工作方法2。其中端口A

    能够工作在三种方法中任一个;端口B只能工作在方法0和方法1;端口C通常作为控制信号使用,配合端口A和端口B工作。在交通灯控制设计中只用到了工作方法0。

    硬件原理图:

    关键程序:

    ;SAMPLE.ASM

    .MODEL SMALL

    .8086

    .stack

    .code

    .startup

    mov dx,0206h ;将控制端口地址送给dx

    mov ax,80h ;将控制字送给ax

    out dx,ax ;将控制字送给控制端口

    mov dx,0200h ;将a端口地址送给dx

    mov ax,0ffh ;将初始化数据送给ax

    out dx,ax ;将端口初始化

    s0: mov ax,0bbh ;将数送给ax

    out dx,ax ;将ax数据送给dx,让4个红灯亮

    call delay5 ;调用延时程序子程序,维持4-5s

    s1: mov ax,0beh ;将数送给ax

    out dx,ax ;将ax数据送给dx,使南北绿灯亮,东西红灯亮

    call delay5 ;调用延时程序子程序,维持4-5s

    mov cx,6 ;将

    lp: mov ax,0bfh ;将数送给ax

    out dx,ax ;将ax数据送给dx,使南北绿灯灭,东西红灯亮

    call delay05 ;调用延时程序子程序,维持4-5s

    mov ax,0beh ;将数送给ax

    out dx,ax ;将ax数据给dx,实现南北绿灯亮,东西红灯亮

    call delay05 ;调用延时程序子程序,维持4-5s

    loop lp ;循环实现绿灯亮灭循环闪烁约6次

    mov ax,0bdh ;将数送给ax

    out dx,ax ;将ax送给dx,实现南北黄灯亮,东西红灯亮

    call delay3 ;调用延时程序子程序,维持3-4s

    mov ax,0ebh ;将数送给ax

    out dx,ax ;将ax数据送给dx,实现南北红灯亮,东西绿灯亮

    call delay5 ;调用延时程序子程序,维持4-5s

    mov cx,6 ;将

    lp1:mov ax,0fbh ;将数送给ax

    out dx,ax ;将ax数据送给dx,实现南北红灯亮,东西绿灯灭

    call delay05 ;调用延时程序子程序,维持4-5s

    mov ax,0ebh ;将数送给ax

    out dx,ax ;将ax送给dx,实现南北红灯亮,东西绿灯亮

    call delay05 ;调用延时程序子程序,维持4-5s

    loop lp1 ;循环实现绿灯亮灭循环闪烁约6次

    mov ax,0dbh ;将数送给ax

    out dx,ax ;将ax送给dx,实现南北红灯亮,东西黄灯亮

    call delay3 ;调用延时程序子程序,维持3-4s

    jmp s0 ;无条件跳转至程序S0,实现控制循环

    delay5 proc near

    push cx

    mov bx,250

    dy1:mov cx,5882

    dy2:loop dy2

    dec bx

    jnz dy1

    pop cx

    ret

    delay5 endp

    delay05 proc near

    push cx

    mov bx,25

    dy3:mov cx,5882

    dy4:loop dy4

    dec bx

    jnz dy3

    pop cx

    ret

    delay05 endp

    delay3 proc near

    push cx

    mov bx,150

    dy5:mov cx,5882

    dy6:loop dy6

    dec bx

    jnz dy5

    pop cx

    ret

    delay3 endp

    .data

    END

    结果分析:

    电路运行正常,交通灯按正确时间转换,实现了预期课程设计要求目标。

    收获体会:

    一周微机原理课程设计结束了。从中我学到了很多知识和技术,也知道了合作关键性。

    我在同学帮助下学会了用软件模拟图形,去研究程序每一步。每一次碰到错误,全部会自己先看,然后在去找同学问询。也复习了相关8086和8255部分相关知识。这次课程设计让我体会到了仅仅学好书本知识还是不够,还需要实践,才能掌握知识,融会贯通。在这次实践中,最大收获是对课程爱好。爱好是最好老师,这将会让我愈加爱上学习和实践。最终感谢老师和同学们帮助!

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问