欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    课程设计交通灯指挥系统.doc

    • 资源ID:851714       资源大小:1.18MB        全文页数:40页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计交通灯指挥系统.doc

    1、 摘要:红绿交通灯是我们日常生活经常见到也是必不可少的,随着城市社会经济的发展,城市道路交通供给和需求的矛盾日益突出,并引发很多交通问题。当今,红绿灯安装在各个交通路口上,已经成为疏导交通车辆最常见和最有效的手段。绿灯是通行信号,面对绿灯的车辆可以直行、左转弯和右转弯。面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。我们设计的交通灯就是依据上述思路控制十字路口南北东西四个方向车辆通行的。经过上学期的基础以及前一阶段的学习,利用彩灯我们做出了一个简单的交通灯指挥系统,通过控制彩灯的亮灭来达到红绿灯的效果,从而控制交通。之前我们学习了微机原理与接口技术这门课程

    2、,课上我们学到了一些计算机硬件工作的基本原理,以及一些简单的汇编语言程序设计方法并了解了一些芯片的功能。根据题目以及老师上课的要求,我用微机原理与接口实验仪来进行交通灯指挥系统的设计。实验中用到芯片8253、芯片8255、芯片8279、LED灯、数码管等,利用这些器件的工作原理以及通过组合可以模仿各种彩灯的正常工作亮灭,特殊情况下的手动键盘开关以及恢复等一系列过程。在实现运行的过程中,通过汇编语言,利用上述几种芯片,进行编程设计,最终顺利完成了实验,并进行了书本上的理论与实践完美结合,获益匪浅。交通灯指挥系统1、需求分析与总体设计方案51.1需求分析51.2总体设计方案52、硬件说明52.1硬

    3、件使用说明62.2芯片简介.62.2.1 8253芯片简介62.2.1.1 8253功能介绍62.2.1.2 8253工作原理82.2.1.3 8253内部结构82.2.1.4 8253的通道的工作方式122.2.1.5 读取计数器的当前值132.2.1.6 8253的级联和地址分配132.2.2 8255芯片简介142.2.2.1 8255基本工作原理142.2.2.2 8255基本结构162.2.2.3 8255 引脚功能说明162.2.2.4 8255的读写控制172.2.3 8279芯片简介172.2.3.1 8279功能介绍192.2.3.2 8279内部结构192.2.3.3 82

    4、79管脚简介192.2.3.4 8279工作方式202.2.3.5 8279命令功能表213、硬件连接说明与程序流程233.1硬件连接说明233.2硬件连接图234、程序代码244.1程序流程图244.2程序代码及说明255、问题分析与解决方案376、程序测试与分析376.1实验连线图386.2程序测试结果386.3结果分析387、心得体会398、参考文献411、需求分析与总体设计方案1.1需求分析交通灯是我们日常生活经常见到也是必不可少的。随着城市社会经济的发展,城市道路交通供给和需求的矛盾日益突出,并引发很多交通问题。现今,交通指挥灯已成为疏导交通车辆最常见和最有效的手段。交通灯使得人们出

    5、行更加的方便、安全、有序。因此,对交通指挥灯的研究已变成一个十分重要的课题。1.2总体设计方案十字路口的交通灯包括东西南北四个方向,而通常情况下东西路口的交通灯的亮灭情况是相同的,南北方向交通灯的亮灭情况是相同的,所以将十字路口的交通灯简化为:东西方向的交通灯为同一组,南北方向的交通灯为同一组。交通指挥灯的设计不仅需要满足平常情况下指挥交通的作用,还需满足紧急情况的手动闸。正常情况下:状态一:南北红灯,东西绿灯状态二:南北红灯,东西黄灯状态三:南北绿灯,东西红灯状态四:南北黄灯,东西红灯状态五:重复以上四种状态紧急情况下(键盘控制):数字0:恢复数字1:南北红灯,东西绿灯数字2:南北绿灯,东西

    6、红灯数字4:东西南北全红数字5:东西南北全绿数字6:东西南北全黄2、硬件说明2.1.硬件使用说明 用实验箱中提供的二极管作为南北路口和东西路口的模拟交通灯; 用可编程并行接口芯片8255控制模拟交通灯的亮与灭; 用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟的控制; 用可编程逻辑器件8279实现交通灯倒计时的显示。2.2. 芯片简介2.2.1 8253芯片简介2.2.1.1 8253 功能介绍intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz

    7、)。图2-1 8253引脚图8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。 执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内

    8、容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。 2.2.1.2 8253工作原理8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 2.2.1.3 8253内部结构 8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。图2-2 8253内部结构框图(1)数据总线缓冲器 数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交

    9、换信息的必经之路。 (2)读/写控制 表2.1 8253 端口选择读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1和A0来选择。如表所示。 (3)通道选择 CS片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。 RD

    10、、WR读/写控制命令,由CPU输入, 低电平有效。RD效时,CPU读取由A1、A0所选定的通道内计数器的内容。WR有效时,CPU将计数值写入各个通道的计数器中, 或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。 (4)计数通道02 每个计数通道内含1个16位的初值寄存器、减1计数器和1个16位的(输出)锁存器。8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。采用二进制计数时, 写入的初值范围为0000H0FFFFH,最大计数值是0000H,代表65536。 采用BCD码计数时,写入的初值范围为00009999,

    11、最大计数值是0000,代表10000。与此计数器相对应,每个通道内设有一个16位计数值锁存器。必要时可用来锁存计数值。(特别说明:8253计数器的值先减1再判断是否为0,为0就中断了,所以最大初始值为0,这样减1以后,不为0,所以为最大的,取决于CF标志位) 当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入, 每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值。并预置到计数器中,每输入一个时钟脉冲,计

    12、数器内容减“1”, 待计数值计到“0”。OUT将有输出,表示定时时间到。允许从CLK输入的时钟频在12MHz范围内。因此,任一通道作计数器用或作定时器用,其内部操作完全相同,区别仅在于前者是由计数脉冲进行减“1”计数。 而后者是内时钟脉冲进行减“1”计数。作计数器时, 要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时, 计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到: 定时系数=需要定时的时间/时钟脉冲周期设置通道:向方式控制字寄存器端口写入方式选择控制字,用于确定要设置的通道及工作方式; 计数/定时:向通道写入计数值,启动计数操作; 读取当前的计数值:向

    13、指定通道读取当前计数器值时,8253将计数器值存入锁存器,从锁存器向外提供当前的计数器值,计数器则继续作计数操作。 计数到:当计数器减1为0时,通过引脚OUT向外输出“到”的脉冲信号。 计数初值输入存放在初值寄存器中,计数开始或重装入时被复制到计数器中。 锁存器在非锁存状态,其值随计数器的变化而变化;一旦锁存了计数器的当前值,直到锁存器值被读取后才能解除锁存状态。 (5)方式选择控制字 图2-3 8253方式控制字8253的初始化编程就是对其工作方式的确定。具体实现就是在8253上电后,由CPU向8253的控制寄存器写入一个控制字,就可以规定8253的工作方式、计数值的长度以及计数所用的数制等

    14、,另外根据要求将计数值写入8253的相应通道。 8253的一个方式控制字只决定一个技术通道的工作模式。 2.2.1.4 8253的通道工作方式 8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。在这次设计中我们只用到了方式2和方式3,8253的这两种工作方式如下: (1)方式2:速率波发生器 工作方式2被称作速率波发生器。进入这种工作方式, OUT输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUT保持为高电平不变; 待计数值减到“1”和“0”之间, OUT将输出宽度为一个CLK周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环

    15、计数,OUT将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLK周期, 重复周期为CLK周期的n倍。 如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。如果在操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。(2)方式3:方波发生器 工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。 进入工作方式3,OUT

    16、输出低电平, 装入计数值后,OUT立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUT端输出的周期为nCLK周期,占空比为1:1的方波序列; 若n为奇数, 则OUT端输出周期为nCLK周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。 如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。 如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计

    17、数初值n,并从下一个计数操作周期开始改变输出方波的速率。 2. 2.1.5 读取计数器的当前值 直接读计数器:输出锁存器在非锁存状态会跟随计数器计数的变化而变化,直接读计数器是从锁存器得到计数器的当前值。但由于计数器处于工作状态,读出值不一定能稳定。 先锁存再读取:通过方式选择控制字对指定通道(SC1、SC0)的计数值锁入锁存器(RL1RL0=00), 锁存器一旦锁存了当前计数值,就不再随计数器变化直到被读取。读计数器通道(有锁存器)。2. 2.1.6 8253的级联和地址分配8353采用级联方式。此实验中使用8253的0通道和1通道以实现级联。通道0的工作在实验中起到的作用是在OUT0端输出

    18、一个比较合适的时钟频率,然后用通道1进行时间的控制。通道1在控制灯闪烁的时候采用的工作方式是方式3,这样可以让8255的A端口检测到输出端的方波信号。2.2.2. 8255芯片简介2.2.2.1 8255的基本工作原理8255 是Intel公司生产的可编程输入输出接口芯片,它是具有3个8位的并行I/O端口,具有三种工作方式,被广泛地使用于单片机的并行I/O端口。工作方式0:基本输入输出方式工作方式1:选通输入输出方式 工作方式2:双向传送方式图2-4 8255引脚图图2-5 8255工作方式控制字图2-6 8255 C口按位置位控制字2.2.2.2 8255的内部结构图2-7 8255内部结构

    19、2.2.2.3 8255引脚功能说明RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。CS:片选信号线

    20、,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 2.2.2.4 8255的读写控制8255的读/写控制逻辑电路接受CPU 发来的控制口号RD、WR、RESET和地址信号A1A0。然后根据命令端口,控制信号的

    21、要求,将端口的数据读出选信CPU或者将CPU 送来的数据写入端口,各端口的工作状态。如表所示。通过用输出指令对8255A的控制字寄存器编程,写入设定工作方式的控制字,可以让3个数据口以不同的方式工作,端口A可工作于3种方式的任一种,端口B只能工作于方式0和方式1,端口C除了用于输入输出端口外,还能配合A口和B口工作,为这两个端口的输入输出操作提供联系信号。2.2.3 8279芯片简介2.2.3.1 8279功能介绍 8279 是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。8279内部有键盘 FIFO (先进先出堆栈) /传感器, 双重功能的

    22、8*8=64B RAM,键盘控制部分可控制 8*8=64 个按键或 8*8 阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示 RAM容量为 16*8,最大配置可达 16 位 LED数码显示。图2-8 8279芯片管脚图 2.2.3.2 8279内部结构图2-9 8279内部结构图2.2.3.3 8279管脚简介(1)数据线 DB0DB7 是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送 CPU 和8279 之间的数据和命令。 (2)地址线 CS=0 选中8279,当 A0=1 时,为命令字及状态字地址;当A0=0 时,为片内数据地址,故 8279芯片占用 2个端口地址

    23、。 (3)控制线 CLK:8279 的时钟输入线。 IRQ:中断请求输出线,高电平有效。/RD、/WR:读、写输入控制线。 SL0-SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。 RL0-RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。 SHIFT:来自外部键盘或传感器矩阵的输入信号,它是 8279 键盘数据的次高位即 D6 位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式中,该引脚无用。 CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把 RL0-RL

    24、7 的数据存入 FIFO RAM 中。 OUTA0-OUTA3:通常作为显示信号的高 4 位输出线。 OUTB0-OUTB3:通常作为显示信号的低 4 位输出线。 /BD:显示熄灭输出线,低电平有效。当/BD=0 时将显示全熄灭。 2.2.3.4 8279的工作方式 8279 有三种工作方式:键盘方式、显示方式和传感器方式。 (1)键盘工作方式 8279 在键盘工作方式时,可设置为双键互锁方式和 N 键循回方式。 双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入 FIFO RAM中。 N 键循回方式: 一次按下任意个键均可被识别, 按键

    25、值按扫描次序被送入 FIFO RAM 中。 (2)显示方式 8279 的显示方式又可分为左端入口和右端入口方式。 显示数据只要写入显示 RAM,则可由显示器显示出来,因此显示数据写入显示 RAM的顺序,决定了显示的次序。 左端入口方式即显示位置从显示器最左端 1 位(最高位)开始,以后显示的字符逐个向右顺序排列;右端入口方式即显示位置从显示器最右端 1 位(最低位)开始,已显示的字符逐个向左移位。但无论左右入口,后输入的总是显示在最右边。 (3)传感器方式 传感器方式是把传感器的开关状态送入传感器 RAM 中。当 CPU 对传感器阵列扫描时, 一旦发现传感器状态发生变化就发出中断请求 (IRQ

    26、 置1) , 中断响应后转入中断处理程序。2.2.3.5 8279命令功能表表2.2 8279命令功能表3、硬件连接说明与程序流程3.1 硬件连接说明8253通道0的地址端口为208H,通道1的地址端口为209H,通道2的地址端口为20AH,8253的控制端口的地址为20BH,通道0和通道1级联,用来得到实验所需的频率,OUT1与8255的PA0口连接。8255 A口地址为200H,B口地址为201H,控制口地址为203H ,8255的PA0口接入8253的脉冲, B口用于输出,连接彩灯。8279芯片的地址为210H,用于显示彩灯的倒计时。3.2 硬件连接图图3-1 硬件连接图4、程序代码4.

    27、1程序流程图4.2 程序代码与说明Z8279 EQU 212HD8279 EQU 210HCODE SEGMENT ASSUME CS:CODE DS:DATADATA SEGMENTA DB 1 DUP(?)B DB 1 DUP(?)C DB 1 DUP(?)COUNT1 DB 0COUNT2 DB 0DATA ENDSSTART:MOV DX,20BH MOV AL,00110111B OUT DX,AL MOV DX,208H MOV AL,00H OUT DX,AL MOV AL,50H OUT DX,AL MOV DX,20BH MOV AL,01110111B OUT DX,AL

    28、MOV DX,209H MOV AL,00H OUT DX,AL MOV AL,02H OUT DX,AL ;8253初始化 MOV DX,203H MOV AL,10010000B OUT DX,AL ;8255初始化 L0: MOV A,19H MOV B,14H MOV C,05H L1: MOV DX,201H MOV AL,01111011B ;南北红,东西绿 OUT DX,AL MOV CL,A CALL SHOW CALL yanshi CALL shoudong DEC A CMP A,05H JNZ L1 PP: MOV DX,201H MOV AL,01110111B ;南

    29、北红,东西黄 OUT DX,AL MOV CL,A CALL SHOW CALL yanshi CALL shoudong DEC A CMP A,00H JNZ PP L4: MOV DX,201H MOV AL,11001111B ;南北绿,东西红 OUT DX,AL MOV CL,B CALL SHOW CALL yanshi CALL shoudong DEC B CMP B,00H JNZ L4 L5: MOV DX,201H MOV AL,10101111B ;南北黄,东西红 OUT DX,AL MOV CL,C CALL SHOW CALL yanshi CALL shoudon

    30、g DEC C CMP C,00H JNZ L5 JMP L0yanshi PROC MOV COUNT1,0FFHMOV COUNT2,0FFHSECD:DEC COUNT2JNZ SECDDEC COUNT1JNZ SECDRETyanshi ENDPSHOW PROC NEARMOV DX,Z8279 MOV AL,00H OUT DX,AL MOV AL,38H OUT DX,AL;初始化 8279 MOV DX,D8279 MOV AL,00H OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL OUT DX,AL

    31、OUT DX,AL; 熄灭8279 MOV AL,CL MOV AH,0 MOV DL,10 DIV DL ;AL/DL=AL.BH MOV BL,AH ; 将余数(即秒的个位)放在BL中 MOV BH,AL ; 将商(即秒的十位)放在BH中 CALL TRANS ; 调用8279显示秒的个位 MOV BL,BH CALL TRANS ; 调用8279显示秒的十位RETSHOW ENDPTRANS PROC NEAR ;数码管显示程序ONE:CMP BL,1JNZ TWOMOV AL,00000110BTWO:CMP BL,2JNZ TRIMOV AL,01011011BTRI:CMP BL,

    32、3JNZ FORMOV AL,01001111BFOR:CMP BL,4JNZ FIVMOV AL,01100110BFIV:CMP BL,5JNZ SIXMOV AL,01101101BSIX:CMP BL,6JNZ SEVMOV AL,01111101BSEV:CMP BL,7JNZ EITMOV AL,00000111BEIT:CMP BL,8JNZ NINMOV AL,01111111BNIN:CMP BL,9JNZ ZROMOV AL,01101111BZRO:CMP BL,0JNZ SHWMOV AL,00111111BSHW:MOV DX,D8279OUT DX,ALRETTRA

    33、NS ENDP shoudong PROC NEAR ;手动开关MOV DX,Z8279IN AL,DXAND AL,0FHCMP AL,00HJE JIESHUMOV AL,40HOUT DX,ALMOV DX,D8279IN AL,DXNHDL:CMP AL,02DJNZ NLDHMOV DX,201H;8255BMOV AL,01111011B ;南北红东西绿OUT DX,ALCALL HUIFUNLDH:CMP AL,10DJNZ HHMOV DX,201H;8255BMOV AL,11001111B ;南北绿东西红OUT DX,ALCALL HUIFUHH:CMP AL,01DJNZ

    34、 LLMOV DX,201H;8255BMOV AL,01101111B ;红红OUT DX,ALCALL HUIFULL:CMP AL,09DJNZ YYMOV DX,201H;8255BMOV AL,11011011B ;绿绿OUT DX,ALCALL HUIFUYY:CMP AL,33DJNZ JIESHUMOV DX,201H;8255BMOV AL,10110111B ;黄黄OUT DX,ALCALL HUIFUJIESHU:RETshoudong ENDPHUIFU PROC NEARWAITS:MOV DX,Z8279IN AL,DXAND AL,0FHCMP AL,00HJE

    35、WAITSMOV AL,40HOUT DX,ALMOV DX,D8279IN AL,DXCMP AL,03DJNZ WAITSRETHUIFU ENDPCODE ENDS END START5、问题分析与解决方案在实验过程中遇到过一些问题,也通过查资料或者问老师、同学得到了解决。在此列举:(1)在数码管显示数字时,数字跳转的周期太短,不到一秒;解决办法:重新设计了延时小程序,MOV COUNT1,0FFHMOV COUNT2,0FFHSECDDEC COUNT2JNZ SECDDEC COUNT1JNZ SECDRET(2)在设置红黄绿灯的时间时,遇到了麻烦,由于原程序设置的时间太短,所以需要

    36、延长各个灯的时间;解决办法:先通过查阅书籍等,仔细地看了整个程序,并画了程序流程图,认真地了解了整个代码,然后根据对程序的了解将彩灯的时间改成了自己满意的时长。6、 程序测试与分析6.1实验连线图图6-1实验连线图6.2程序测试结果拿到实验箱,我首先对所要用的芯片做简单的检查,将试验箱连接电脑,发现没有问题,便继续做实验。然后将试验箱按照上述的硬件连接要求将其连接,并调试程序。设计按照题目的要求顺利地完成了以下各种功能。(1)运行程序,小灯泡按照之前设定的规则依次亮灭,并且数码管显示亮灯的倒计时。(2)特殊情况下的键盘控制,也按照之前设定的发挥各自的功能。6.3结果分析实验表明我的硬件连接以及

    37、程序都没有出问题,实验结果很好。7、心得体会在设计交通指挥灯系统的过程中,我认真查阅资料,学习关于这方面的知识,比如8279芯片的使用,如何使之显示所需的倒计时以及交通有哪些规则等.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我的汇编语言学得不够好,以至于我只能借助参考资料,查每一条指令的作用与功能,才能掌握整个程序,这样一来又巩固了我的对汇编语言的了解.整个过程用到了三个芯片,电

    38、路连接并不复杂,只不过在设计时我们花费了很大的功夫。并且8253、8255芯片我们上学期在微型计算机原理与接口技术一门课中学过,但是还是不太熟悉,又翻阅了之前学习的课本,才又拾回来一些。如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学的时候心里有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,所以你不容易忘记!而且在用8279完成数码管显示时,由于

    39、我们对8279不太熟悉,我们花了一段时间来研究芯片,但经过努力,最终成功地编程实现了。这门硬件课程设计,让我们获益匪浅。这个过程中我们学到了很多的东西,而且最后的结果也让我们比较满意的。刚开始接触题目时,觉得没有思路,感觉很难,尽管老师已经帮我们把题目分析得比较细了,在翻阅书籍以及借助网络资源,我们渐渐有了很大的进展。而且我们通过画流程图逐步解决问题,对汇编语言又有了深刻的认识,对一些指令的使用也更加熟悉了。而且以前上课学的一些知识只是学会了,并不知道如何去用,或者应该应用在哪里,但通过这次课程设计,让我们可以将课本上机械的理论知识转化为灵活的实践中去,让记忆更加深刻,让设计变得简单易懂,锻炼

    40、了自己的动手能力,巩固了理论知识,激发了学习的兴趣。通过这次课程设计丰富了我的理论知识,也丰富了自己的学习阅历,让自己对计算机专业有了更深的认识和理解,也坚定了自己将来在这一行业继续努力的决心。同时遇到不懂的问题要主动思考,但也要和其他同学进行讨论,而且还要认真向老师讨教。在我的整个的课程设计中,期间我遇到过一些问题经过老师的开导我们逐步攻克难关,将实验顺利进行下去。感谢老师的指导。总之,这次实验我收获很大。但也认识到了自己的知识储备量有限,自己能力还有待于进一步的提高。前方困难重重,需要再接再厉,需要不停攀登,需要加倍努力。8、参考文献1 周荷琴 吴秀清,微型计算机原理与接口技术(第四版),合肥, 中国科学技术大学出版社,2008;2张瑜,计算机硬件类课程难点辅导,北京,北京航天航空大学出版社,2006;3邹逢兴,陈立刚,计算机硬件技术基础(第2版),北京,高等教育出版社,2009;4彭介华,电子技术课程设计指导,北京,高等教育出版社,1997;5孙德文,微型计算机技术M,北京,清华大学出版社,1993;40


    注意事项

    本文(课程设计交通灯指挥系统.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922