微机课程设计报告

时间:2024.4.20

《微型计算机技术》

课程设计报告

题    目:     交通灯控制系统  

专业名称:     电子信息工程    

班    级:      102            

学    号:      010706233    

姓    名:      杨恒俊         

20##年 12月

交通灯控制系统

杨恒俊

电子信息工程学系

摘要:随着时代的发展,人们对道路的需求越来越大,自然的,路也就越来越多。这样就产生了很多的十字路口。如何使这么多的十字路口的交通便于管理,是这个社会严重的课题。交通灯就是在这样的背景下产生的。随着现代技术的发展,如何使交通灯自动化也成为了一项课题。本次就是利用8255等软件模拟交通灯自动化设计的过程。

关键词:交通灯;自动化 ;8255

1、设计任务:

1.1设计任务:

设计一个在十字路口使用的交通灯,用红黄绿三种颜色指示,红色表示禁止通行,绿色表示可以通行,黄色表示稍等。然后安排个路口的三种等按一定的规律闪亮有序的安排十字路口的交通。

1.2 设计内容:

通过并行接口8255实现十字路口交通灯的模拟控制。0-1指示模块的D075-D077与PA5-PA7相连,作为南北路口的交通灯,D071- D073与PA0-PA2相连,作为东西路口的交通灯。编程使六个灯按以下规律变化:南北路口的绿灯、东西路口的红灯同时亮30秒;南北路口的黄灯闪烁若干次,同时东西路口红灯继续亮;南北路口的红灯、东西路口的绿灯同时亮30秒;南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次;重复以上步骤。

2、设计原理:

2.1 设计方案:

将8255A控制字设置为全输出,利用端口A输出控制交通灯东西、南北方向红绿灯的变换,利用延时程序控制各种状态显示的时间。

2.2 内部结构

8255:

                              8255的内部结构及引脚

1数据端口有A口,B口,C口均为8位端口且各自独立。
   A口 输出:锁存/缓冲
       输入:锁存
   B口 输出:锁存/缓冲
       输入:缓冲
   C口 输出:锁存/缓冲
       输入:缓冲
2 A组和B组控制逻辑
A组 A口+C口上(PC7---PC4)
B组 B口+C口下(PC3---PC0)
3读/写控制逻辑
  RESET:1)复位信号 高电平有效
         2)8255中控制寄存器均清0
         3)将3个端口均设置为输入方式
  __
  CS:片选信号 低电平有效用来选通该芯片。
  __
  RD:读信号 低有效
  __
  WR:写信号 低有效
  A0A1线:A0 A1  
           0  0   A口
           0  1   B口
           1  0   C口
           1  1   控制寄存器端口
8255控制字(写程序的时候需要掌握的基础知识)
方式选择控制字: D7D6D5D4D3D2D1D0
D7   :   1 表示是方式选择控制字
D6D5 :  决定A口工作方式 00--方式0, 01--方式1, 1X--方式2
D4   :  决定A口输入还是输出  1--输入 0--输出
D3   :  决定C口上输入还是输出 1--输入 0--输出
D2   : 决定B口工作方式 00--方式0, 01--方式1
D1   :  决定B口输入还是输出  1--输入 0--输出
D0   :  决定C口下输入还是输出 1--输入 0--输出
置位/复位控制字:D7D6D5D4D3D2D1D0
D7 0表示  置位/复位控制字
D6D5D4  这3位任意 一般写000
D3D2D1  这3位表示
                  000 PC0
                  001 PC1
                  010 PC2
                     .
                     .
                     .
                  111 PC7
D0  0复位 1置位 对某个PCi复位0 或置位1 (i取值0到7)

方式0---基本输入输出方式;

方式1---选通输入输出方式;

方式2---双向选通输入输出方式。

8253

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

  执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。

       8253运行原理

二级管

发光二极管显示模块由8255的A口输的出来控制发光二极管的亮灭。在实验设计中A口已经与发光二级管连接好了,根据灯亮结果可以知道,在A口中PA7 PA6 PA5 PA2 PA1 PA0与发光二极管链接。

                 发光二级管结构

3、系统设计:

3.1 电路设计:

          微机试验箱上的内部电路已连接,只要连接8255等芯片极发光二极管等

图1-2硬件电路图

3.2 主程序设计:

   将8255控制字设置为全输出,利用端口A输出控制交通灯东西、南北方向红绿灯的变换,利用延时程序控制各种状态显示的时间。其程序流程图如下图所示;

其主程序流程图如下图所示:

图1-3主程序流程图

4、调试运行:

                               调试结果

  图中分别有2个红灯,2个黄灯,2个绿灯在同时闪亮。分别对应东西南北的三灯。

6、设计心得:

通过这次课程设计,又一次利用了汇编语言,让我更熟悉汇编语言的编写。同时,也是我第一次深入了解了红绿灯的工作原理及方式。同时也让我对这种自动化的管理方式产生了浓厚的兴趣。更重要的是,本次课程设计暴露出了我的程序编写能力不足,以及对软件以及试验箱不熟,以至于无法处理试验过程中出现的问题等。

7、附录

    PORT_A  EQU 2A0H   ;8255 PORT A ADDRESS

      PORT_B  EQU  2A1H  ;8255 PORT B ADDRESS

      PORT_C  EQU  2A2H  ;8255 PORT C ADDRESS

    CMD_PORT  EQU  2A3H

     PORT_CS  EQU  2A3H

     TIM_CTL  EQU  43H   ;8253 TIMER CONTROL PORT ADDRESS

       TIMER  EQU  40H   ;8253 ADDRESS

      TIMER0  EQU  40H   ;8253 TIMER/CNTER 0 PORT ADDRESS

      TIMER1  EQU  41H   ;8253 TIMER/CNTER 1 PORT ADDRESS

      TIMER2  EQU  42H   ;8253 TIMER/CNTER 2 PORT ADDRESS

        CODE  SEGMENT

              ASSUME    CS:CODE

      START:

              MOV AL,10000011B            ;PORT_APORT_C'HIGN 4 BITS:OUTPUT,PORT_C'LOW 4 BITS:INPUT,MODE 0

              MOV DX,PORT_CS

              OUT DX,AL

       SHOW:

              MOV DX,PORT_A

              MOV AL,00100100B

              OUT DX,AL

      

              MOV CX,8

     HUANG4:

              CALL  TIMING

              LOOP  HUANG4

      

              CALL  TIMING

              MOV   CX,8

      HUANG:

              MOV   AL,00100100B

              OUT   DX,AL

              CALL  TIMING

              MOV   DX,PORT_A

              MOV   AL,00000100B

              OUT   DX,AL

              CALL  TIMING

           

              LOOP  HUANG

              MOV   CX,10

         VV:

              MOV   AL,01000100B

              OUT   DX,AL

              CALL  TIMING

              LOOP  VV

      

              MOV   AL,10000001B

              OUT   DX,AL

              CALL  TIMING

              MOV   CX,8

     HUANG2:

              CALL  TIMING

              LOOP  HUANG2

              MOV   CX,8

     HUANG3:

              MOV   AL,10000001B

              OUT   DX,AL

              CALL  TIMING

              MOV   DX,PORT_A

              MOV   AL,10000000B

              OUT   DX,AL

              CALL  TIMING

             

              LOOP  HUANG3

              MOV   CX,10

         MM:

              MOV   AL,10000010B

              OUT   DX,AL

              CALL  TIMING

              LOOP  MM

              JMP   SHOW

      TIMING  PROC  NEAR

              CALL  DELAY

              RET

      TIMING  ENDP

       DELAY  PROC  NEAR

              PUSH  CX

              PUSH  BX

              MOV   BX,0FFH

     DELAY_:

              MOV   CX,0FFH

            DELAY_AGAIN:

              LOOP  DELAY_AGAIN

              DEC   BX

              JNZ   DELAY_

              POP   BX

              POP   CX

              RET

       DELAY  ENDP

      

        CODE  ENDS

              END   START


第二篇:微机交通灯控制系统课程设计报告


《微型计算机技术》

课程设计报告

题    目:     交通信号灯控制系统  

专业名称:       电子信息工程      

班    级:         092班            

学    号:        000000000910706228l         

姓    名:         廖夏晖 xxx         

20##年  12月

交通信号灯控制系统

廖夏晖

XXX

(电子信息工程学系)

摘要:本文介绍了以8086微处理器为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制,主要是模拟十字路口的红绿灯,介绍了交通灯控制器的原理以及电路接线。在设计中所用到的编程语言是汇编语言,延时采用的是软件延时(即通过汇编指令)。

关键词:8086微处理器;交通灯;8255A

一、课程设计任务

1.1 设计目标

利用ZY15MicInt12BB微机原理及接口实验箱上的8086微处理器模块、并行接口8255A模块,地址译码单元以及0—1LED灯显示等模块,根据所学的微机原理知识,按照实际交通情况设定一种交通灯规则,设计一个简单的交通信号灯控制系统。

    1.2 设计要求

在一个十字路口,东西方向和南北方向各有两组交通指示灯,每组有红、黄绿三个灯。东西方向同色灯连在一起,南北方向同色灯连在一起。对各组的交通灯进行控制,以保证车辆在各道上通畅运行。

两组组的交通灯工作过程为:

1.   南北方向亮绿灯允许通行,东西方向亮红灯禁止通行

2.   当延时25秒后,南北方向的黄灯同时变亮,且延时5秒。

3.   延时后,东西方向转为绿灯,南北方向转为红灯,且延时25秒。

4.   25秒后,转为东西方向黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。

5.         当遇到道路障通,或紧急情况时,A、B道全为红灯。

二、原理说明与硬件设计

   2.1原理说明

在本次课程设计当中,采用的是以8086微处理器为核心,以8255A芯片作为接口芯片,运用软件定时(即通过汇编指令)控制LDE灯(即交通灯)按照设定的交通规则显示。

2.2 8086简介

8086微处理器是Intel系列的第三代微处理器,拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器,其主频为5MHz/10MHz,地址总线宽度为20位,可寻址的内存空间打1MB。

8086微处理器的内部功能结构由两个独立的工作部件——执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)构成。其中,(1)BIU和EU可以并行工作,提高CPU效率。BIU监视着指令队列。当指令队列中有2个空字节时,就自动把指令取到队列中。(2) EU执行指令时,从指令队列头部取指令,然后执行。如需访问存储器,则EU向BIU发出请求,由BIU访问存储器。(3) 在执行转移、调用、返回指令时,需改变队列中的指令,要等新指令装入

队列中后,EU才继续执行指令。8086CPU的内部功能结构框图如图2-1所示。   

 

                

图2-18086CPU的内部功能结构框图

8086微处理器采用40引脚的DIP封装,其引脚图如图2-2所示。8086 CPU到底可以工作在最大模式或最小模式两种工作模式下,这完全由硬件决定。处于不同工作模式时,其部分引脚的功能是不同的。

                                    图2-2  8086的引脚

(1)两种工作方式下功能相同的引脚

    MM/MX:最小/最大模式输入控制信号。 引脚用来设置8086 CPU的工作模式。当为高电平(接+5V)时,CPU工作在最小模式;当为低电平(接地)时,CPU工作在最大模式。

    AD15 ~AD0:地址/数据总线,双向,三态。这是一组采用分时的方法传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。  

    A19/S6~A16/S3:地址/状态信号,输出,三态。这是采用分时的方法传送地址或状态的复用引脚。   

    BHE(低)/S7:允许总线高8位数据传送/状态信号,输出,三态。为总线高8位数据允许信号,当低电平有效时,表明在高8位数据总线D15 ~D8上传送1个字节的数据。S7为设备的状态信号。   

    RD,WR:读信号和写信号,输出,三态,低电平有效。

    READY:准备就绪信号,输入,高电平有效。READY信号用来实现CPU与存储器或I/O端口之间的时序匹配。

    TEST:等待测试控制信号,输入,低电平有效。信号用来支持构成多处理器系统,实现8086 CPU与协处理器之间同步协调的功能,只有当CPU执行WAIT指令时才使用。

    NMI:非屏蔽中断请求信号,输入,高电平有效。

当NMI引脚上有一个上升沿有效的触发信号时,表明CPU内部或I/O设备提出了非屏蔽的中断请求,CPU会在结束当前所执行的指令后,立即响应中断请求。   

    RESET:复位信号,输入,高电平有效。   

    CLK:时钟信号,输入。  

VCC,GND:电源输入引脚和接地引脚。8086 CPU采用单一+5V电源供电。

(2)CPU工作于最小模式时使用的引脚信号

当MM/MX引脚接高电平时,CPU工作于最小模式。此时,引脚信号24~31的含义及其功能如下。   

M/IO:存储器、I/O端口选择控制信号。信号指明当前CPU是选择访问存储器还是访问I/O端口。为高电平时,访问存储器,表示当前要进行CPU与存储器之间的数据传送。为低电平时,访问I/O端口,表示当前要进行CPU与I/O端口之间的数据传送。               

INTR:可屏蔽中断响应信号,输出,低电平有效。CPU通过信号对外设提出的可屏蔽中断请求做出响应。为低电平时,表示CPU已经响应外设的中断请求,即将执行中断服务程序。   

ALE:地址锁存允许信号,输出,高电平有效。CPU利用ALE信号可以把AD15 ~AD0地址/数据、A19/S6~A16/S3地址/状态线上的地址信息锁存在地址锁存器中。

DT/R:数据发送/接收信号,输出,三态。DT/信号用来控制数据传送的方向。DT/为高电平时,CPU发送数据到存储器或I/O端口;DT/为低电平时,CPU接收来自存储器或I/O端口的数据。  

DEN:数据允许控制信号,输出,三态,低电平有效。信号用作总线收发器的选通控制信号。当为低电平时,表明CPU进行数据的读/写操作。   

HOLD:总线保持请求信号,输入,高电平有效。   

HLDA:总线保持响应信号,输出,高电平有效。

2.3 8255A简介

本次设计灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图2-3所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-4所示。                                                                                             

图2-3  8255的内部结构及引脚

图2-4   8255工作方式控制字和C口按位置位/复位控制字格式

三、流程图及电路接线图

1、软件流程图如下:

                 

图3-1软件流程图

2、电路接线图如下:

                                      图3-2电路接线图

3系统汇编源程序

系统采用汇编程序,利用延时子程序实现定时,具体程序见附录。

四、程序运行结果调试:

调试结果如图所示:

  

图4-1南北绿灯东西红灯                      图4-2南北黄灯东西红灯

       

图4-3南北红灯东西绿灯                         图4-4南北红灯东西黄灯

说明:

(1)图4-1表示南北方向亮绿灯允许通行,东西方向亮红灯禁止通行

(2)图4-2表示南北方向绿灯25秒时间到,绿灯转黄灯提示此方向上交通灯即将转红,东西方向仍然亮红灯禁止通行。

(3)图4-3表示5秒时间到,南北方向黄灯转红灯禁止通行,东西方向转亮绿灯允许通行。

(4)图4-3表示东西方向绿灯25秒时间到,绿灯转黄灯提示此方向上交通灯即将转红,南北方向仍然亮红灯禁止通行。

(5)5秒时间到,系统又回到初始状态即南北方向亮绿灯允许通行,东西方向亮红灯禁止通行如图8所示。依此循环,一个循环周期为60秒,从而实现了交通灯的工作功能。

五、总结

    通过此次课程设计,结合所学的《微机原理与接口技术》这门课程的知识,对其应用之一——交通灯控制器进行设计与实现。总体感觉收获比较多,因为可以将书本上的知识应用到实践当中。刚开始的时候,翻阅了一些资料,还是没有什么头绪,后来在几个同学的帮助下,经过多次的上机练习和调试终于找到了入口点,接下来的事情就相对的容易一些了。首先,把握整个的设计的大概的流程,然后再对每一个分快进行设计,最后进行调试。在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255A的初始化及其端口的使用。此次课程设计感觉收获很多,比如,翻阅资料提高了自学能力,和同学一起讨论汲取别人的长处。希望老师能够引导学生应该如何去把握、分析课程设计的主题,找出突破点,让学生积极主动进行课程设计,以使学生更好地提高自学的能力。

参考文献:

[1] 洪永泉.微机原理与接口技术[M].北京:科学出版社,2009

[2] 徐泽明.利用微机控制交通指示灯[J] .软件导刊,2007(5)

[3] 项新建.微机交通灯控制系统[J].ASPT来源刊,1997(09)

附录:

PORT_A  EQU     2A0H                ;声明8255A口地址

PORT_B  EQU     2A1H                ;声明8255B口地址

PORT_C  EQU     2A2H                ;声明8255C口地址

CMD_PORT EQU   2A3H                ;声明8255A控制字寄存器端口地址

PORT_CS EQU     2A3H

CODE SEGMENT

       ASSUME CS:CODE

START:

    MOV  AL,10000001B                 ;方式控制字:B口为输出

    MOV  DX,2A3H           

    OUT  DX,AL                        ;写方式控制字到8255A控制字寄存器端口

SHOW:   

NLDH:  MOV  DX,PORT_B

       MOV  AL,00101000B              ;状态1:南北方向亮绿灯东西方向亮红灯

       OUT  DX,AL

       MOV  BL,0                       ;BL清0

YS1:   CALL  DELAY                    ;延时25秒

       INC  BL                          ;(BL)++

       CMP  BL,500                      ;比较

       JNG  YS1                         ;(BL)<=500,转移到l1

NHDH : MOV  DX,PORT_B

       MOV  AL,00011000B               ;状态2:南北方向亮黄灯东西方向亮红灯

       OUT  DX,AL;

       MOV  BL,0

YS2:   CALL DELAY                      ;延时5秒

       INC   BL

       CMP  BL,100

       JNG  YS2      

NHDL:

       MOV  DX,PORT_B

       MOV  AL,01000100B               ;状态3:南北方向亮红灯东西方向绿灯

       OUT  DX,AL      

       MOV  BL,0

YS3:   CALL DELAY                      ;延时25秒 

       INC  BL

       CMP  BL,500

       JNG  YS3      

NHDH:

       MOV  DX,PORT_B

       MOV  AL,01000010B               ;状态4:南北方向亮红灯东西方向黄灯

       OUT  DX,AL      

       MOV  BL,0

YS4:   CALL DELAY                      ;延时5秒

       INC  BL

       CMP  BL,100

       JNG  YS4          

JMP SHOW

DELAY PROC                             ;50ms延时子程序

      PUSH BX                           ; 保护现场

      PUSH CX

      MOV BL,5   

NEXT: MOV CX,2801                      ;内循环次数(实现延时10 ms)

W10MS: LOOP W10MS     ;

       DEC BL                          ;修改外循环计数值

       JNZ NEXT                        ;BX不等于0则进行外循环

       POP CX                          ;恢复现场

       POP BX

       RET                             ;退出子程序,返回主程序

DELAY ENDP                            ;结束过程

CODE ENDS

END START

更多相关推荐:
微机课程设计报告

课程设计报告20xx20xx年度第一学期名称题目院系控计学院设计周数1周成绩日期20xx年1月3日课程课程设计综合实验报告一课程设计的目的与要求目的在微机原理及应用课程中分别学过了微机原理各个基本组成模块的原理...

微机原理课程设计报告

微机原理课程设计报告设计名称:LED七段数码管数字钟学院:电子信息学院班级:电科091提交时间:20##年6月15日一:设计内容设计的电路功能是实现时钟的24进制计时并显示在数码管上,通过按键可对时钟的时、分、…

计算机综合课程设计报告

计算机综合课程设计报告小组编号06课题名称趣味贪吃蛇小组成员20xx年10月计算机综合课程设计报告目录目录11项目背景112系统目标121系统功能分析2211功能12212功能2222系统性能指标223系统平台...

中南大学计算机课程设计报告

中南大学本科生课程设计实践设计报告大学计算机基础题目学生姓名指导老师学院专业班级计算机基础教学实验中心20xx年12月15日1计算机网页制作实验报告一任务内容通过对大学计算机基础和大学计算机基础学习与实验指导这...

微机接口技术课程设计报告

《微机接口技术课程设计》设计报告题目:专业:10电子信息工程班级:学号:姓名:指导老师:重庆交通大学信息科学与工程学院设计时间:20##年6月14日到20##年6月28号1.设计任务说明综合应用接口技术各汇编语…

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

微机原理课程设计报告

科技学院课程设计报告20xx20xx年度第一学期名称微机原理与接口技术题目院系动力系自动化专业班级08K2学号学生姓名指导教师设计周数1周成绩日期20xx年1月7日微机原理及应用课程设计任务书一目的与要求1通过...

微机原理课程设计报告简易电子广告牌设计

一选题介绍题目简易电子广告牌设计意义由于单片机技术的不断发展和高亮度LED发光管的出现使得大屏幕高亮度LED电子广告屏成为可能与传统的霓虹灯广告在显示效果以及可修改性上都有着无法比拟的优势而且单片机的日益平民化...

微机课程设计报告-风扇控制

目录1设计的题目名称及要求22实验设备23设计思想实施方案和硬件电路图24典型程序模块及典型编程技巧分析75课程设计中遇到的问题及解决方法96实验程序的流程图107程序清单及程序注释168收获与体会429参考文...

微机交通灯控制系统课程设计报告

微型计算机技术课程设计报告题目交通信号灯控制系统专业名称电子信息工程班级092班学号000000000l姓名xxx20xx年12月交通信号灯控制系统XXX电子信息工程学系摘要本文介绍了以8086微处理器为核心利...

微机原理与接口技术课程设计(报告)

湖南科技大学信息与电气工程学院微机原理与接口技术课程设计报告题目基于DA转换器DAC0832的波形发生器设计专业电子信息工程班级电子3班姓名血色的天泪学号120xx303xx指导老师曾照福陈君李劲1信息与电气工...

微机原理课设报告

微机原理及应用课程设计设计题目基于PC机串行通信的点对点聊天系统专业计算机科学与技术班级计091学号3090911023学指导教师王理年学期一实验目的与要求微机原理及应用课程设计的目的在于检验和提高学生在汇编语...

微机课程设计报告(27篇)