微机原理课程设计 交通灯.docx

上传人:b****0 文档编号:18130466 上传时间:2023-08-13 格式:DOCX 页数:26 大小:881.15KB
下载 相关 举报
微机原理课程设计 交通灯.docx_第1页
第1页 / 共26页
微机原理课程设计 交通灯.docx_第2页
第2页 / 共26页
微机原理课程设计 交通灯.docx_第3页
第3页 / 共26页
微机原理课程设计 交通灯.docx_第4页
第4页 / 共26页
微机原理课程设计 交通灯.docx_第5页
第5页 / 共26页
微机原理课程设计 交通灯.docx_第6页
第6页 / 共26页
微机原理课程设计 交通灯.docx_第7页
第7页 / 共26页
微机原理课程设计 交通灯.docx_第8页
第8页 / 共26页
微机原理课程设计 交通灯.docx_第9页
第9页 / 共26页
微机原理课程设计 交通灯.docx_第10页
第10页 / 共26页
微机原理课程设计 交通灯.docx_第11页
第11页 / 共26页
微机原理课程设计 交通灯.docx_第12页
第12页 / 共26页
微机原理课程设计 交通灯.docx_第13页
第13页 / 共26页
微机原理课程设计 交通灯.docx_第14页
第14页 / 共26页
微机原理课程设计 交通灯.docx_第15页
第15页 / 共26页
微机原理课程设计 交通灯.docx_第16页
第16页 / 共26页
微机原理课程设计 交通灯.docx_第17页
第17页 / 共26页
微机原理课程设计 交通灯.docx_第18页
第18页 / 共26页
微机原理课程设计 交通灯.docx_第19页
第19页 / 共26页
微机原理课程设计 交通灯.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机原理课程设计 交通灯.docx

《微机原理课程设计 交通灯.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计 交通灯.docx(26页珍藏版)》请在冰点文库上搜索。

微机原理课程设计 交通灯.docx

微机原理课程设计交通灯

《微机原理与接口技术》课程设计

课题:

交通急救控制系统

 

姓名:

学号:

093253

专业:

电子信息工程

班级:

093253

指导教师:

黄永忠

 

2011年12月31日

目录

1)设计要求…………………………………………3

2)系统结构总图……………………………………4

3)芯片简介…………………………………………5

4)系统电路图与模块设计…………………………11

5)流程图……………………………………………12

6)心得体会…………………………………………20

7)参考文献…………………………………………21

8)评分表……………………………………………22

 

1.设计要求

 

(一)系统功能任务要求

1)允许按十字路口交通需求设置控制状态

2)允许修改各状态下的通行时间

3)有剩余时间显示

4)全部按LED显示

(二)系统设计说明

1)可以自增系统功能

2)系统程序才用汇编或C语言编程

硬件原理图才用电子CAD绘制

(3)设计具体要求

1)先东西方向亮红灯,南北绿灯。

再接着南北红灯,东西绿灯。

依次交替。

2)紧急状况时东西南北同时显示红灯。

 

二.系统结构总图

8255

8279

LED

交通灯

CPU(8088)

时钟发生器

存储器

8259

8253

小键盘

 

三.芯片简介

根据上面的系统结构总图,此次设计需要用到的芯片有四种,分别是8253、8259、8088、8279与8255,下面我们分别来介绍一下这几种芯片。

1)、定时模块(8253)

1、元件特性及引脚图

8253定时模块是为8259提供中断请求信号的。

由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。

2、8253的功能用途是:

(1)延时中断

(2)可编程频率发生器

(3)事件计数器

(4)二进倍频器

(5)实时时钟

(6)数字单稳

(7)复杂的电机控制器

8253有六种工作方式:

(1)方式0:

计数结束中断

(2)方式1:

可编程频率发生器

(3)方式2:

频率发生器

(4)方式3:

方波频率发生器

(5)方式4:

软件触发的选通信号

(6)方式5:

硬件触发的选通信号

各引脚功能如下。

D7~D0——八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0、A1——片内寄存器地址输入信号;

CLK——计数输入,用于输入定时基准脉冲或计数脉冲;

OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;

 

2)8259芯片

1、元件特性

中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。

它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。

因此无需附加任何电路,只需对8259A编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

在MD微机系统中,8259芯片工作于单片方式。

2、8259引脚图如下图,各引脚功能如下。

D7~D0——八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0——地址信号;

INT——中断请求信号;

INTA(低电平有效)——中断响应信号;

CAS0~CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;

SP/EN——从编程/允许级联。

在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。

在非缓冲方式中,作为输入信号用于表示主片还是从片;

IR0~IR7——外部中断请求输入线。

要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。

 

3)8088芯片

8088引脚图如图所示,各引脚功能如下:

(1)AD7~AD0:

地址/数据线复用,双向三态。

在每个总线周期T1状态用作地址总线,输出访问存储器或I/O口地址低8位A7~A0,T2~T4状态传送数据D7~D0。

  

(2)A8~A15:

地址线,输出三态。

在整个总线周期内始终输出地址信号。

(3)A19/S6~A16/S3:

地址/状态线复用。

在每个总线周期T1状态用作地址总线高4位。

在总线周期T2~T4期间,输出状态信息。

  (4)ALE:

地址锁存允许信号,输出高电平有效。

(5)NMI:

非屏蔽中断请求,输入上升沿有效。

相应的中断类型码为02H。

  (6)INTR响应信号,输出三态,低电平有效。

当CPU响应中断时,它变为有效低电平,通知中断源送出中断向量码。

(7) CLK:

时钟信号输入。

8088CPU内部没有时钟信号产生电路,需外部提供。

(8)RESET:

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

 (9)READY:

准备好信号,输入高电平有效。

READY用来使CPU和慢速存储器或I/O设备之间速度实现匹配,完成数据传送。

 

(10) DEN:

数据允许信号,输出三态,低电平有效。

 (11)DT/R:

数据发送/接收控制,输出三态,DT/R=1时,CPU发送数据,DT/R=0时,CPU接收数据。

在DMA方式时,它处于浮空状态。

  

(12)IO/M:

外设/内存访问控制,输出三态。

输出高电平时,表示总线周期为I/O访问周期;输出低电平时,表示总线周期为存储器访问周期。

 (13) WR:

写信号,低电平有效。

在DMA方式时,它处于浮空状态。

 (14) RD:

读信号,低电平有效。

在DMA方式时,它处于浮空状态。

 (15)HOLD:

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

当DMA操作或外部处理器要求通过总线传送数据时,HOLD信号为高电平,表示外界请求现有主CPU让出对总线的控制权。

 (16)HLDA:

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

4)8279芯片

LED时间显示模块(8279)

1、元件特性

Intel8279是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和显示控制两种功能。

键盘部分提供一种扫描的工作方式,可以和具有64个按键的矩阵键盘相连接,能对键盘不断扫描,自动消抖,自动识别按下的键并给出编码,能对双键或n键同时按下实行保护。

显示部分为发光二极管、荧光管及其它显示器提供了按扫描方式工作的显示接口,它为显示器提供多路复用信号,可以显示多达16位的字符或数字。

2、8279引脚图与功能说明

(1)DB0~DB7:

双向数据总线,用来传送8279与CPU之间的数据和命令。

(2)CLK:

时钟输入线,用以产生内部定时的时钟脉冲。

(3RESET:

复位输入线,8279复位后被置为字符显示左端输入,二键闭锁的触点回弹型式,程序时钟前置分频器被置为31,RESET信号为高电平有效。

(4)CS:

片选输入线,低电平有效,单片机在CS端为低时可以对8279读/写操作。

(5)A0:

缓冲器低位地址,当A0为高电平时,表示数据总线上为命令或状态, 当为低电平时,表示数据总线上为命令或状态,当为低电平时,表示数据总线上为数据。

(6)RD:

读信号输入线,低电平有效,将缓冲器读出,数据送往外部总线。

(7)WR:

写信号输入线,低电平有效,将缓立器读出,将数据从外部数据总线写入8279的缓冲器。

5)8255芯片

1、元件特性

8255A内部包含3个8位的输入输出端口A、B和C,通过外部的24根输入输出线与外设交换数据或进行通讯联络。

端口A和端口B都可以用作一个8位的输入口或8位的输出口,C口既可以作为一个8位的输入口货输出口用,又可以作为两个4位的输入输出口使用,还常常用来配合A口和B口工作,分别用来产生A口B口的输出控制信号和输入A口和B口的端口状态信号。

2、8255引脚图与功能

(1)RESET:

复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

(2)PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

(3)PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

(4)PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

(5)CS:

片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。

(6)RD:

读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

(7)WR:

写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。

(8)D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送

 

四.系统电路图与各模块设计

1.系统电路图如最后一页所示;

2.各模块设计

1)定时模块

定时模块是为8259提供中断请求信号的。

由一片8253实现,选用定时器0#,工作在方式3,由于时钟应该1秒走动一次,所以输出值应为1S,其输出信号可作为8259的中断请求信号。

2)中断模块

中断模块实现动态显示的,硬件为一片8259,由于中断请求信号为每秒一次,中断程序该为时间按秒增加,并显示,只要开中断,便可实现每秒显示时间增加一秒,从而达到动态显示的效果。

3)主控CPU模块

8088最小工作模式,作为整个电子表的核心控制部分。

在8088最小模式中,硬件连接上有如下特点:

(1)MN/MX端接+5V,决定了8088工作在最小模式。

(2)有1片8284A,作为时钟发生器。

(3)有3片8282,用来作为地址锁存器。

8282是典型的锁存器芯片,因为它是8位的,所以需要3片8282作为锁存器。

(4)当系统中所连的存储器和外设系统较多时,需要增加数据总线的驱动能力,这时,要用两片8286作为总线收发器。

4)显示模块

显示模块是由一块8255A芯片与LED红绿黄显示灯组成,由8255A来接收信号,从而控制红绿黄灯亮灭的时间,实现交通灯得控制。

5)小键盘模块

小键盘模块送入主控模块的子功能模块。

由软件和硬件实现,硬件上由小键盘和8279互连,将小键值由8279送入主控模块。

软件上使用行扫描法获得键值并送回主控模块。

 

五.流程图

1.8255控制交通灯流程图

 

2.中断模块流程图

 

程序清单:

D8279EQU200H

C8279EQU202H

C8253EQU20bH

D82530EQU208H

D82531EQU209H

C82590EQU210H

C82591EQU211H

DATASEGMENT

HOURDB00

MINUTEDB00

STATDB00

LEDDB3fH,06H,5bH,4fH,66H,6dH,7dH,27H,7fH,6fH,00H,00H

DISBUFDB8dup(0)

dataends

stacksegmentstack

dw100dup(?

stackends

codesegment

assumecs:

code,ds:

data

start:

MOVAX,DATA

MOVDS,AX

;=========INIT8253==========

MOVDX,C8253

MOVAL,36H

OUTDX,AL

MOVDX,D82530

MOVAX,10000

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,C8253

MOVAL,36H

OUTDX,AL

MOVDX,D82531

MOVAX,100

OUTDX,AL

MOVAL,AH

OUTDX,AL

;=========INIT8259=============

CLI

MOVAL,13H

MOVDX,C82590

OUTDX,AL

MOVAL,8

MOVDX,C82591

OUTDX,AL

MOVAL,1

OUTDX,AL

MOVAX,0

MOVES,AX

LEAAX,INT0

MOVES:

[4*8],AX

MOVAX,CS

MOVES:

[4*8+2],AX

MY8255_AEQU1400H;8255连接端口IOY0

MY8255_BEQU1401H

MY8255_CEQU1402H

MY8255_MODEEQU1403H

MY8254_COUNT0EQU1440H;8254连接端口IOY2

MY8254_MODEEQU1443H

DATASEGMENT

LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;数码管七段代码表

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,MY8255_MODE;8255初始化,连接端口IOY0

MOVAL,10000001B;A口输出接LED,B口输出接数码管,C0~C3输入,C4~C7输出

OUTDX,AL

MOVCX,25

A1:

MOVDX,MY8255_A;8255的A口接LED()

MOVAL,01111011B;东西红,南北绿

OUTDX,AL;将灯状态传送给LED显示

CALLINITIAL_8254

LOOP2:

MOVAH,0BH;判断有无键按下

INT21H

CMPAL,0

JNZEXIT0;有键入则返回DOS

JMPY1

EXIT0:

MOVAH,4CH

INT21H

Y1:

MOVDX,MY8255_C

INAL,DX

TESTAL,00001110B;检测是否有紧急键按下

JZL1

CALLEMERGECY;有紧急键则转到紧急键处理

JMPL2

L1:

CALLDISP

L2:

MOVDX,MY8255_C;检测1s是否计完

INAL,DX

TESTAL,01H

JELOOP2

DECCX

CMPCX,5

JAA1

JMPA2

A2:

MOVDX,MY8255_A;东西红,南北黄

MOVAL,01111100B

OUTDX,AL

CALLINITIAL_8254

LOOP4:

MOVAH,0BH;判断有无键按下

INT21H

CMPAL,0

JNZEXIT1;有键入则返回DOS

JMPY2

EXIT1:

MOVAH,4CH

INT21H

Y2:

MOVDX,MY8255_C

INAL,DX

TESTAL,00001110B;检测是否有紧急键按下

JZL3

CALLEMERGECY;有紧急键则转到紧急键处理

JMPL4

L3:

CALLDISP

L4:

MOVDX,MY8255_C;检测1s是否计完

INAL,DX

TESTAL,01H

JELOOP4;若1s没计数完,继续

DECCX

CMPCX,0

JEP

JMPA2;20s或5s计数完全?

若没计数完,继续

P:

MOVCX,25

JMPA3

A3:

MOVDX,MY8255_A;东西绿,南北红

MOVAL,10110111B

OUTDX,AL

CALLINITIAL_8254

LOOP5:

MOVAH,0BH;判断有无键按下

INT21H

CMPAL,0

JNZEXIT2;有键入则返回DOS

JMPY3

EXIT2:

MOVAH,4CH

INT21H

Y3:

MOVDX,MY8255_C

INAL,DX

TESTAL,00001110B;检测是否有紧急键按下

JZL6

CALLEMERGECY;有紧急键则转到紧急键处理

JMPL7

L6:

CALLDISP

L7:

MOVDX,MY8255_C;检测1s是否计完

INAL,DX

TESTAL,01H

JELOOP5

DECCX

CMPCX,5

JAA3

JMPA4

A4:

MOVDX,MY8255_A;东西黄,南北红

MOVAL,11000111B

OUTDX,AL

CALLINITIAL_8254

LOOP6:

MOVAH,0BH;判断有无键按下

INT21H

CMPAL,0

JNZEXIT3;有键入则返回DOS

JMPY4

EXIT3:

MOVAH,4CH

INT21H

Y4:

MOVDX,MY8255_C

INAL,DX

TESTAL,00001110B;检测是否有紧急键按下

JZL8

CALLEMERGECY;有紧急键则转到紧急键处理

JMPL9

L8:

CALLDISP

L9:

MOVDX,MY8255_C;检测1s是否计完

INAL,DX

TESTAL,01H

JELOOP6;若1s没计数完,继续

DECCX

CMPCX,0

JEPP

JMPA4;20s或5s计数完全?

若没计数完,继续

PP:

MOVAH,0BH;判断有无键按下

INT21H

CMPAL,0

JNZEXIT;有键入则返回DOS

JMPSTART

EXIT:

MOVAH,4CH

INT21H

;**------------------------------------**

INITIAL_8254PROC;8254初始化,1s

PUSHAX

PUSHDX

MOVDX,MY8254_MODE;初始化,计数器0工作在方式0,先写低8位,再写高8位,BCD方式计数

MOVAL,00110001B

OUTDX,AL

MOVDX,MY8254_COUNT0

MOVAL,00H;写低8位

OUTDX,AL

MOVAL,10H;写高8位

OUTDX,AL

POPDX

POPAX

RET

INITIAL_8254ENDP

;**---------------------------------

INITIAL2_8254PROC;8254初始化,0.5s

PUSHAX

PUSHDX

MOVDX,MY8254_MODE;初始化,计数器0工作在方式0,先写低8位,再写高8位,BCD方式计数

MOVAL,00110001B

OUTDX,AL

MOVDX,MY8254_COUNT0

MOVAL,00H

 

心得体会

在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。

一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。

对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。

因此在整个设计过程中大部分时间是用在程序上面的。

很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。

因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有到的困惑,经过一番努力才得以解决。

 

参考文献

[1].阎石.《数字电技术基础》.北京:

高等教育出版社,2004年

[2].陈大钦.罗杰.《电子技术基础实验》.北京:

高等教育出版社,2008年

[3]李顺增,吴国东,赵河明等.微机原理及接口技术.北京:

机械工业出版社,2006

[4]杨立新.微型计算机原理和应用[M].北京:

科学技术文献出版社,1986.11

 

东华理工大学长江学院

课程设计评分表

学生姓名:

班级:

093253学号:

093253

课程设计题目:

交通急救控制系统

项目内容

满分

实评

能结合所学课程知识、有一定的能力训练。

符合选题要求

10

工作量适中,难易度合理

10

能熟练应用所学知识,有一定查阅文献及运用文献资料能力

10

理论依据充分,数据准确,公式推导正确

10

能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等

10

能体现创造性思维,或有独特见解

10

总体设计正确、合理,各项技术指标符合要求。

10

说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰

10

设计说明书栏目齐全、合理,符号统一、编号齐全。

 格式、绘图、表格、插图等规范准确,符合国家标准

10

有一定篇幅,字符数不少于5000

10

总分

100

指导教师评语:

 

指导教师签名:

年月日

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

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2