微机原理及接口技术课程设计交通灯.docx

上传人:b****6 文档编号:4602906 上传时间:2022-12-07 格式:DOCX 页数:11 大小:18.75KB
下载 相关 举报
微机原理及接口技术课程设计交通灯.docx_第1页
第1页 / 共11页
微机原理及接口技术课程设计交通灯.docx_第2页
第2页 / 共11页
微机原理及接口技术课程设计交通灯.docx_第3页
第3页 / 共11页
微机原理及接口技术课程设计交通灯.docx_第4页
第4页 / 共11页
微机原理及接口技术课程设计交通灯.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

微机原理及接口技术课程设计交通灯.docx

《微机原理及接口技术课程设计交通灯.docx》由会员分享,可在线阅读,更多相关《微机原理及接口技术课程设计交通灯.docx(11页珍藏版)》请在冰豆网上搜索。

微机原理及接口技术课程设计交通灯.docx

微机原理及接口技术课程设计交通灯

目录

一、实验目的………………………………………………………………………………………3

二、实验内容………………………………………………………………………………………3

三、交通信号灯实时控制和管理的总体设计……………………………………………………4

    

(一) 芯片选择及端口选择……………………………………………………………4

       

(二) 实验连接线路图及相关说明……………………………………………………5

       (三) 设计思想…………………………………………………………………………6

    (四) 设计流程图………………………………………………………………………7

四、实验环境及条件………………………………………………………………………………9

五、源程序清单……………………………………………………………………………………9

    

(一) 初始化主程序……………………………………………………………………9

    

(二) 中断服务程序……………………………………………………………………11

六、程序运行结果………………………………………………………………………………13

七、课程设计总结…………………………………………………………………………………13

八、参考文献………………………………………………………………………………………15

微机原理及接口技术课程设计

一、实验目的

    ⒈ 了解交通灯管理的基本工作原理

    ⒉ 熟悉8259A中断控制器的工作原理和应用编程

    ⒊ 熟悉8255A并行接口的各种工作方式和应用

    ⒋ 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法

    ⒌ 掌握多位LED显示问题的解决 

    

二、实验内容

    本次课程设计的内容为交通信号灯的实时控制和管理。

    某交通干线车行道和人行横道的交通信号灯设置如图所示:

    

    

    车行道

               车行道                                      车行道     

    车行道     

    其中:

   表示红灯、  表示黄灯、  表示绿灯

    具体要求如下:

    1.东西方向车辆放行60秒钟。

即东西方向的绿灯和南北方向的红灯同时点亮1分钟;

    2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。

此时南北方向仍维持红灯点亮。

在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从65减为0。

    3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。

即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;

    4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。

此时东西方向仍维持红灯点亮。

    5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。

如此循环重复。

    

    

    

三、交通信号灯实时控制和管理的总体设计

    ㈠ 芯片选择及端口选择

     1.用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。

      2. 用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要

    求的1分钟、5秒钟和20秒的定时。

    实验系统8235的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;

    定时采用软硬件相结合的方式实现。

    ⒊ 用实验系统的发光二极管模拟红绿灯。

    注:

8259A的端口地址为:

218H、219H

        8255A的端口地址为:

端口A-200H、端口B-201H、端口C-202H、控制端口-203H

        8253的端口地址为:

计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。

    

㈡ 实验连接线路图及相关说明

    

(1)线路图

                

                     +5v

8259A

 IRQ0   ○              ○

 INTR         INTR

    INTA         INTA

        

    ○

                     2.5MHZ

   ◎表示发光二极管                                   

  

                      ○     ○   

                      .  .  .  .  .                        .   .   .   .

                      .  .  .  .  .                        .   .   .   .

                      .  .  .  .  .                        .   .   .   .

                      ○     ○ 

                          

               ○                                       试验箱交通灯组

                          

                             

                     

片选信号引脚连接

8259A的片选信号引脚连接:

218-21F

8255A的片选信号引脚连接:

200-207

8253 的片选信号引脚连接:

208-20F

(三)设计思想

    设计数器0的计数初值为25000,由于CLK0接脉冲信号,频率为2.5MHZ,所以每10ms中断一次。

利用CX对不同的状态时间计数,用来实现计数器0对1分钟,20秒钟,5秒钟的定时。

中断子程序分为数码显示刷新部分和红绿黄灯各种状态切换部分。

每进入中断即刷新LED显示。

用对于东西车道和南北车道黄灯闪烁利用标志位判断实现,满足比较条件就暗,不满足条件就亮。

(四)设计流程图

 主程序流程图:

    

中断服务程序流程图:

四、实验环境及条件

⒈超想—3000TB综合实验/仿真系统               

⒉导线

    3.微机原理及接口技术试验箱

五、源程序清单

⒈本次设计中,选用8235的计数器0定时向实验系统主片8259A的IRQ0请求中断。

设置8253的计数器0每10ms请求一次中断,工作于模式3;8255的A端口控制交通灯;数码管驱动程序采用指导老师提供的程序。

初始化程序:

DATA SEGMENT 

     LED  DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H       ;存放七段代码表

           DB  7FH,6FH,77H,7CH,39H,5EH,79H,71H        

D1      EQU 10H

D2      EQU 200H            ;8255A端口A

EA   EQU 200H               ;8259端口地址

EE   EQU 203H

CONTROL EQU 20bH          ;8253端口地址

COUNT0  EQU 208H 

COUNT1  EQU 209H                  

COUNT2  EQU 20aH

Z8279    EQU       222H

D8279    EQU       220H

LEDMOD   EQU       00   ;左边输入,八位显示外部译码八位显示

LEDFEQ   EQU       38H  ;扫描频率

DATA ENDS

CODE SEGMENT

    ASSUME CS:

CODE,DS:

DATA

CODE   SEGMENT

      ASSUME CS:

CODE

CONT    DB 0

CONT1    DB 0

CONT2    DB 0

BKSD    DB 0

BKAD    DB 0

BKDA    DB 0

TEMP    DB 0

;*******************************************

START:

 

MOV AX,0

MOV DS,AX

MOV AX,OFFSET IRQ0

ADD AX,2000H

MOV SI,0FH*4

MOV [SI],AX

MOV AX,0

MOV [SI+2],AX

IN AL,218H

AND AL,7FH

OUT 219H,AL

CLI

MOV AL,80H        ;初始化8255

OUT EE,AL

MOV AL,00

OUT EA,AL

MOV AL,0f0H

OUT EA,AL

              

MOV   DX,218H      ;8259初始化

MOV   AL,00010010b

OUT   DX,AL

MOV   AL,08H

MOV   DX,219H

OUT   DX,AL

    

MOV     DX,203H    ;设置为全输出

MOV     AL,80H

OUT     DX,AL

MOV     DX,200H

MOV     AL,0ffh

OUT     DX,AL       ;清LED

MOV     DX,200H     ;全红

MOV     AL,0F0H

OUT     DX,AL

MOV AL,00110110b   ;初始化 8253

OUT CONTROL,AL

MOV AX,2500

MOV DX,COUNT0 

OUT DX,AL

MOV AL,AH

OUT COUNT0 ,AL

MOV AX,DATA

MOV DS,AX

中断服务程序:

A1:

    STI

    HLT

    JMP A1

IRQ0:

                                    ;写数码管程序,暂缺

    JMP COMPARE

COMPARE:

CMP DL,0

    JZ STATE0

    CMP DL,1

    JZ STATE1

    CMP DL,2

    JZ STATE2

    CMP DL,3

    JZ STATE3

STATE0:

                ;状态0:

东西红南北绿

    mov al,01011010b   

   out D2,al

    DEC SI

    JNZ CHANGE1

    DEC DH

    MOV SI,100

CHANGE1:

DEC CX

    CMP CX,0

    JNZ M0

    MOV CX,500

STATE1:

    DEC DI         ;状态1:

东西方向黄灯闪烁,南北绿灯

    CMP DI,0

    JNZ SHINE1

    MOV AL, 00001010b     ;东西灭,南北绿

    OUT D2,AL

    MOV DI,50

    JMP CHANGE

SHINE1:

    MOV AL,11111010B     ;东西黄,南北绿

    OUT D2,AL

CHANGE:

    DEC SI

    JNZ CHANGE2

    DEC DI

    MOV SI,100

CHANGE2:

DEC CX

    CMP CX,0

    JNZ M1

    MOV CX,2000

    MOV DH,25

STATE2:

    MOV AL,10100101b          ;状态2:

东西绿灯,南北红灯

    OUT D2,AL

    DEC SI

    JNZ CHANGE3

    DEC DH

    MOV SI,100

CHANGE3:

DEC CX

    CMP CX,0

    JNZ M2

    MOV CX,500

STATE3:

 DEC DI                   ;状态3:

东西绿灯,南北黄灯闪烁

    CMP DI,0

    JNZ SHINE2

    MOV AL,10100000B                   ;东西绿灯,南北灭

    OUT D2,AL

    MOV DI,50

   JMP SOURCE

SHINE2:

    MOV AL,10101111B            ;东西绿,南北黄

    OUT D2,AL

SOURCE:

    DEC SI

    JNZ CHANGE4

    DEC DH

    MOV SI,100

CHANGE4:

DEC CX

    CMP CX,0

    JNZ M3

    MOV CX,6000

    MOV DH,65

M0:

    MOV DL,0           ;下次进入状态0

    JMP EXIT

M1:

    MOV DL,1           ;下次进入状态1

    JMP EXIT

M2:

    MOV DL,2           ;下次进入状态2

    JMP EXIT

M3:

    MOV DL,3           ;下次进入状态3

EXIT:

    MOV AL,20H

    OUT 218H,AL

    IRET

CODE ENDS

END START

六、程序运行结果

    1.即东西方向的绿灯和南北方向的红灯同时点亮1分钟;

    2.1分钟后,东西方向的黄灯闪烁5秒钟,。

此时南北方向仍维持红灯点亮。

    3.东西方向的黄灯闪烁5秒钟后,转为东西方向的红灯和南北方向的绿灯同时点亮20秒钟;

    4. 20秒钟后,转为南北方向的黄灯闪烁5秒钟,此时东西方向仍维持红灯点亮。

    5.南北方向的黄灯闪烁5秒钟后,东西方向的绿灯和南北方向的红灯同时点亮1分钟。

如此循环重复。

    6. 由于数码显示模块没有完成,数码管没有倒计时显示。

七、课程设计总结

1、软件延时与定时器计时

    软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示

   

2、使用中断的好处

   使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。

   在本设计中程序每10MS请求一次中断,实现精确定时与数码管显示刷新。

3、团队合作

   在产品或项目开发中,团队合作是非常重要的,在对设计进行模块划分、统一变量之后,分别设计不同设计然后进行整合,这样进行开发是非常快速简单的。

4、关于本次设计

   在本次设计中,使用了8259A中断控制器、8253计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,但是程序没有实现对双向交通的数码显示,数码显示模块空缺,我们会尽快将程序补全,使其具有完整的交通灯功能,程序电子文档:

   在此次设计中体也会到了交流与保护知识专利的重要性,在千篇一律的设计中,显示自己的特色,在实用性和执行效率间取得平衡,是设计的关键所在,本次设计由于不熟悉试验箱8段代码管的线路,未能进行数码倒计时显示,这是设计的遗憾,未能很好的借鉴老师提供的代码,是本次设计不能完美的原因。

                                                      通信工程0306班

                                                               金明坤

                                                            2005.12.22

参考文献:

1、16/32位微机原理、汇编语言及接口技术(第二版)   机械工业出版社      钱晓捷、陈涛

2、微机原理与接口技术课程设计   机械工业出版社     宋杰等

3、微型计算机接口技术及应用     华中科技大学出版社       刘乐善

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1