毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

模拟交通灯 第2页

更新时间:2008-12-26:  来源:毕业论文

单片机交通灯
概述:
本实验是在TND—MD教学系统上实现的模拟信号灯程序。其模拟在十字交叉路口设置交通灯和倒计时牌,实现了基本的通行模式:不但考虑东往西,南往北两个直行方向,而且考虑到左拐情况,直行、左拐和禁止时间比例为0.8:0.2:1。东口和南口都分别设计了直行和左拐两组红绿指示灯(利用红绿LED显示)和到计时牌显示通行时间(利用液晶显示屏分两组显示)。所使用的芯片主要有8253定时计数器、8255A并行接口电路芯片、8259A中断控制器等。还利用LED红绿发光二极管表示红绿灯,显示可以和禁止通行的方向。利用液晶显示屏分两组显示到计时,它的计时单位为秒,运行后通过程序中预定设计的数字开始循环倒计时。

一、设计内容和要求
提高要求:
a) 考虑东往西,南往北两个直行方向和左拐情况;直行、左拐和禁止时间比例为0.8∶0.2∶1;
b) 南口和北口设置各设置直行和左拐两组红绿灯(利用红绿LED显示)和倒计时牌显示(利用4个数码管或液晶显示屏分两组显示);
c) 注意东口和南口之间禁止通行时间等于左拐与直行通行时间之和。
 
如下图,在十字交叉路口设置交通灯和倒计时牌,东边与西边显示完全一样,南边与北边的显示完全一样,只需设计东边和南边。                                         模拟交通图

二、设计思想
本程序是TND—MD教学系统上实现的,要使用汇编语言进行编写,整体的设计思路是:
由于要实现前叙实验要求,本程序要达到以下几个功能:
秒信号的产生:
    现实生活中交通灯都是倒计时的,因此本实验需要一个秒信号,而在TND—MD教学系统上的8253定时计数器可以实现这个功能。由于8253的OUT输出频率为1.19318MHz,若使其计数初值为1193180,则刚好每秒产生一个脉冲。而8253的每个计数器都是16位的,无法存入这个值,两个计数器级联可以实现:让0通道的OUT0连接8259的IRQ0,再由OUT0 连2通道的CLK2,使OUT2输出秒信号。其中计数器0的计数初值设计为1190,而计数器2的计数初值设计为1000,则OUT2每秒输出一个脉冲方波信号。

倒计时的显示:
 利用TND—MD教学系统上的液晶显示屏,来实现显示倒计时。由于考虑到了东、南两个方向的通行显示,所以我们设计了两个到计时,一个用来显示东边方向的到计情况,另一个用来显示南边方向的到计情况。为了模拟的方便,我设计了直行时间为24秒,左拐时间为6秒,禁行时间为30秒。通过8253产生的秒信号,每秒驱动8259的IRQ7产生一次中断,调用中断服务程序显示到计时,每秒减一。东边通行时:时间从24减到0,然后是6秒的左拐时间,南边是30秒的禁止时间。南边的情况一样。东、南两个方向的时间都分别显示在液晶显示屏上。

红绿灯的显示和改变:
 在TND—MD教学系统上有LED红绿发光二极管,上面有4个红灯和4个绿灯,且有8个对应的引脚,我们可以利用并行接口芯片8255来实现对这个8个引脚的控制。即8255初始化后,将PB0…PB7依次连接在D0…D7上,每次只要往8255的B端口写数据就可以控制8个灯的亮灭。在本实验中,为了模拟各种情况,我把8个灯分成两组:东组有:1,2,5,6四盏灯;南组有:3,4,7,8四盏灯。其中东直行时各盏灯的亮灭情况是:11010111(“0”为亮,“1”为灭);东左拐时是:11010011;南直行时是:01111101;南左拐时是:01111100。
通过8253来定时驱动各种情况的切换。

三、教学实验系统连线
1)本实验所用引脚有:
8259A的IRQ0和IRQ7
                   8253的计数器2上的CLK2和OUT2
                   8255的PB0——PB7
                   LED发光二级管的D0——D7
                
 2)各引脚的连线情况:
IRQ0——CLK2

OUT2——IRQ7

PB0…PB7——D0…D7

四、所用芯片工作原理
本实验所使用的芯片主要有8253定时计数器、8255A并行接口电路芯片、8259A中断控制器等,它们的工作原理分别如下:
(一)8253定时计数器
8253可编程定时/计数器是Intel公司生产的通用外围芯片之一。它有3个独立的十优位计数器,计数频率范围为0-2MHz.它所有的计数方式和操作方式都通过编程控制,右下图是8253的内部结构图,其工作原理如下:
1、8253的功能是:
    (1)延时终端;(2)可编程频率发生器;(3)事件计数器;(4)倍频器;(5)实时时钟;(6)数字单稳;(7)复杂的电机控制器
2、计数器0,计数器1,计数器2 :
    这3个计数器互相独立,各自可按不同的方式工作。计数器的内部结构如前面所述,每个计数器包含一个16位的初始寄存器,一个计数执行部件和一个锁存器。计数执行部件从初始值寄存器中获得计数初值,便进行减1计数,此时,锁存器跟随记数执行部件的内容而变化,当有一个锁存命令来到时,锁存器便锁定当前计数,直到被读走以后,又跟随计数执行部件的动作。
各计数器的外部输入输出信号:
① 计数器0:CLK0—计数器0的时钟输入。
    GATE0—计数器0的门脉冲控制输入。
    OUT0—计数器0的输出。
② 计数器1:CLK1—计数器1的时钟输入。
    GATE1—计数器1的门脉冲控制输入。
    OUT1—计数器1的输出。
③ 计数器2:CLK2—计数器2的时钟输入。
    GATE2—计数器0的门脉冲控制输入。
    OUT2—计数器0的输出。
3.读/写逻辑电路:
    读/写电路从系统控制总线接收输入信号,经过组合,产生对8253各部分的控制。具体为:
    A1、A0—用来对3个计数器和控制积存器进行寻址。
    RD—读信号。当RD为低电平时有效,此时,表示CPU正在对8253的一个计数器进行读操作。
    WR—写信号。当WR为低电平时有效,此时,表示CPU正在对8253的几个计数器进行写操作。
    CS—片选信号。只有在CS为持续低电平的情况下,RD和WR才会受到确认,否则会被忽略。
4.工作方式:
    方式0:计数结束产生中断
    方式1:可重复触发的单稳态触发器
    方式2:分频器
    方式3:方波发生器
    方式4:软件触发的选通信号发生器
    方式5:硬件触发的选通信号发生器
(二)8255A并行接口电路芯片
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/输出方式;方式1:选通输入/出方式;方式2:双向选通工作方式。
右图为8255内部结构图:
1.数据端口A、B、C
    共提供24条数据线,与外设相联结,可以用软件将它们分别编程为输入端口或输出端口:
端口A:
  ①1个8位的数据输入锁存器:PA作输入时,有锁存功能。
  ②1个8位的数据输出锁存器缓冲器:PA作输出时,有锁存功能。
端口B:
  ①1个8位输入缓冲器:PB作输入时,不对数据锁存。
  ②1个8位输出锁存器缓冲器:PB作输出时,有锁存功能。
端口C:
  ①1个8位输入缓冲器:PC作输入时,无锁存功能。
  ②1个8位输出锁存器缓冲器:PC作输出时,有锁存功能。
2.A组控制和B组控制
  8255在使用中,PA和PB常作为独立的输入/输出端口,端口C则配合PA、PB的工作。因此,把PA、PB、PC分为两组。
A组:PA、PC的上半部(PC7-PC4)
B组:PB、PC的下半部(PC3-PC6)
  这两组端口的工作方式分别由A组控制和B组控制逻辑进行控制。
3.读写控制逻辑
  该部分控制8255与CPU的数据传输。它接收CS、A1、A0,WR、RD及reset信号。
(三)8259A中断控制器
中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片.其内部结构逻辑主要由以下三部分组成:(1)控制逻辑;(2)中断优先权判优及其屏蔽;(3)辅助电路.编程结构由三组共10个寄存器构成,每个寄存器均为

上一页  [1] [2] [3] [4] 下一页

模拟交通灯 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。