8255交通灯单片机课程设计.docx

上传人:b****1 文档编号:3533453 上传时间:2023-05-06 格式:DOCX 页数:15 大小:185.81KB
下载 相关 举报
8255交通灯单片机课程设计.docx_第1页
第1页 / 共15页
8255交通灯单片机课程设计.docx_第2页
第2页 / 共15页
8255交通灯单片机课程设计.docx_第3页
第3页 / 共15页
8255交通灯单片机课程设计.docx_第4页
第4页 / 共15页
8255交通灯单片机课程设计.docx_第5页
第5页 / 共15页
8255交通灯单片机课程设计.docx_第6页
第6页 / 共15页
8255交通灯单片机课程设计.docx_第7页
第7页 / 共15页
8255交通灯单片机课程设计.docx_第8页
第8页 / 共15页
8255交通灯单片机课程设计.docx_第9页
第9页 / 共15页
8255交通灯单片机课程设计.docx_第10页
第10页 / 共15页
8255交通灯单片机课程设计.docx_第11页
第11页 / 共15页
8255交通灯单片机课程设计.docx_第12页
第12页 / 共15页
8255交通灯单片机课程设计.docx_第13页
第13页 / 共15页
8255交通灯单片机课程设计.docx_第14页
第14页 / 共15页
8255交通灯单片机课程设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

8255交通灯单片机课程设计.docx

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

8255交通灯单片机课程设计.docx

8255交通灯单片机课程设计

《单片机原理与应用》

课程设计报告

 

目:

简单交通灯控制系统

 

业:

级:

号:

名:

天津理工大学中环信息学院

计算机工程系

2011年12月29日

交通灯控制系统设计

摘要

设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:

初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。

如遇到特殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。

同时用LED用倒计时方式显示各路口亮灯时间。

关键词:

单片机,交通灯,应急开关,LED

1绪论

1.1设计背景

红绿交通灯自动控制系统在城市十字(或丁字)路口有着广泛的应用。

随着社会的进步,人们生活水平的提高,私家车数量会不断增加,对城市交通带来前所为有的压力。

道路建设也将随之发展,错综复杂的道路将不段增多。

为维持稳定的交通秩序,红绿灯自动控制系统将得到更为广泛的应用。

现在实际应用的红绿灯系统中一般没有倒计时功能,使司机和行人不知道指示灯还有多久将会改变现有状态。

本设计应用基本数字电路知识,采用LED灯作红、绿、黄三交通灯,用七段数码管作同步倒计时显示。

实现两方向通行时间不相等的控制并配有倒计时。

1.2设计目的

熟悉单片机控制系统,并了解系统设计的一般规律。

掌握8255芯片的结构及编程方法。

熟悉模拟交通灯控制的实现方法。

1.3设计任务及要求

设计一个交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:

初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。

如遇到特

殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。

同时用LED用倒计时方式显示各路口亮灯时间。

2设计使用的仪器和设备

2.1达爱思教仪

本实验采用达爱思教仪型号是Dais-PG206FD

2.2八段数码管

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光

二极管单元(多一个小数点显示);按能显示多少个“8”分为1位、2位、4位等等数码管,

2.38255芯片

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有3个通道3种工作方式的可编程并行接口芯片(8255引脚如图1,8255编程模式如图2)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接

A、B、C口。

3个部分:

与CPU

口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为连接部分、与外设连接部分、控制部分。

图18255弓I脚

 

3系统硬件设计方案

3.1系统硬件方案框图

交通灯系统硬件方案框图如图

接口电路

八段管信息演示模

8255单片机

图3交通灯系统硬件方案框图

3.2电路原理图

电路原理图是借鉴外部中断实验(急救车与交通灯)修改的如图4,增加P2.1连接

K1和P2.2连接K2。

如遇到特殊情况,可拨动应急开关K1,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关K2,系统返回继续运行。

图4交通灯与急救车

3.3相关知识及原理介绍

8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。

具有

3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,

使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255特

性:

(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口.

(2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C

口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE的I/O闪控式,双向1/03种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.

交通灯控制系统,该控制系统工作后,交通灯按照下列规律变化:

初始态东南西北均为红灯,持续时间为2s;然后转为状态1(10s),为东西红、南北绿;状态2(3s)东西红灯不变、南北绿灯灭、黄灯闪烁三次;状态3(15s),为东西绿、南北红;状态4(3s),为东西绿灯灭、黄灯闪烁三次、南北红灯不变;最后回到状态1,依此循环。

如遇到特

殊情况,可拨动应急开关,使各向均为红灯,特殊车辆不受红灯限制,待其顺利通过后拨动另一个开关,系统返回继续运行。

同时用LED用倒计时方式显示各路口亮灯时间。

4系统软件设计方案

4.1工具介绍

汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。

汇编语言,作为一门语言,对应于高级语言的编译器,需要一个汇

编器”来把汇编语言原文件汇编成机器可执行的代码。

高级的汇编器如MASM,TASM

等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。

在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令丄经类同于高级语言。

现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。

汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。

大多数情况下Linux程序员不需要使用汇编语言,因为即便是硬件驱动这样的底层程序在Linux操作系统中也可以完全用C语言来实现,再加上GCC这一优秀的编译器目前已经能够对最终生成的代码进行很好的优化,的确有足够的理由让我们可以暂时将

汇编语言抛在一边了。

但实际情况是Linux程序员有时还是需要使用汇编,或者不得不使用汇编,理由很简单:

精简、高效和libc无关性。

假设要移植Linux到某一特定的嵌入式硬件环境下,首先必然面临如何减少系统大小、提高执行效率等问题,此时或许只有汇编语言能帮上忙了。

拟制设计任务书建立数学模型确立算法

绘制程序流程图编制汇编语言源程序上机调试

汇编语言源程序的设计步骤:

(1)

(2)

(3)

(4)

(5)

(6)

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定

A/D

时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

单片机如图(

图5单片机

4.2程序流程图

交通灯控制系统流程框图如图6,如遇到特殊情况外部中断子程序框图如图

7

4.3程序源代码及注释

CS8255EQU0FFFFh

OUTSEGEQU0FFFCh

OUTBITEQU0FFFDh

;8255命令控制口

;字形控制口

;字位/键扫控制口

SECONDEQU30H

NUMEQU31H

TIMEEQU32H

TIME1EQU33H

ORG0000H

LJMPMAIN

ORG0003H

主程序的入口地址跳转到主程序的开始处外部中断0的中断程序入口地址

LJMPINT

ORG000BH

LJMPT0_INT

MAIN:

MOVSP,#50H

定时器0的中断程序入口地址跳转到中断服务程序处

MOVTCON,#01h;

MOVIE,#8FH

MOVTMOD,#51H

下降沿,IT0;CPU

开中断,允许T0中断,T1中断和外部中断1中断

设置T1为计数方式,T0为定时方式,且都工作于模式1

MOVDPTR,#CS8255

MOVA,#80H;

MOVX@DPTR,A

给8255赋初值,8255工作于方式0

MOVR3,#5

LCALLDISP

LCALLDELAY

Na:

SETBTR0

Na0:

MOVR3,#02h

MOVP1,#0DBH;

启动T0计时器东西方向禁止,南北方向通行置8255A口,东西南北方向红灯亮

Na2:

CJNER3,#00H,Na2;

比较SECON中的值是否为0,不为0转到当前指令处执行

N00:

MOVR3,#0ah

东西方向禁止,南北方向通行10s

 

N02:

CJNER3,#00H,N02;比较SECON中的值是否为0,不为0转到当前指令处执行

---黄灯闪烁3秒程序

 

 

N2:

MOVR7,#00H

MOVR3,#0fh;东西通行,南北禁止15s

MOVP1,#0EBH;置P1口,东西方向绿灯灭,南北方向红灯亮

N22:

CJNER3,#00H,N22

-黄灯闪烁3秒程序

置P1口,东西,南北方向黄灯亮

MOVR3,#03HN3:

MOVP1,#0F3HN31:

MOVR4,#00H

CJNER4,#7DH,$

N32:

MOVP1,#0FBH;

N33:

MOVR4,#00H

CJNER4,#7DH,$;

CJNER3,#00H,N3;

黄灯持续亮0.5秒置P1口,南北方向黄灯灭

黄灯持续灭0.5秒闪烁时间达3秒则退出

 

东西通行,南北禁止3s

置P1口,东西方向绿灯灭,南北方向红灯亮

N42:

CJNER3,#00H,N42

SJMPN00

给定时器TO送定时10ms的初值

-1秒延时子程序

T0_INT:

MOVTL0,#9AH

MOVTH0,#0F1H

INCR4

INCR5

CJNER5,#0FAH,T01;

MOVR5,#00H

;R5

DECR3

T01:

ACALLDISP

RETI

判断延时是否够一秒,不够则调用显示子程序清零

倒计时初值减一

调用显示子程序中断返回

 

INT:

PUSHPSW

MOVTIME1,R3

MOVNUM,P1

MOVP1,#1BH

I1:

;CALLDELAY1

JBP3.1,I1

MOVR3,TIME1

MOVP1,NUM

POPPSW

RETI

-显示子程序

DISP:

MOVB,#0AH

中值二转十显示转换

MOVA,R3;SECOND

DIVAB

MOVR0,A

MOVR2,#00000010b;

Loop:

MOVDPTR,#OUTBIT

CLRA

MOVX@DPTR,A;关所有八段管

MOVDPTR,#LEDMAP

MOVA,R0

MOVCA,@A+DPTR

MOVDPTR,#OUTSEG

MOVX@DPTR,A

MOVDPTR,#OUTBIT

MOVA,R2

MOVX@DPTR,A;显示一位八段管MOVR6,#01

CALLDELAY

MOVA,R2

RRA

显示下一位

MOVR2,A

MOVDPTR,#LEDMAP

MOVA,B

MOVCA,@A+DPTR

MOVDPTR,#OUTSEG

MOVX@DPTR,A

MOVDPTR,#OUTBIT

MOVA,R2

MOVX@DPTR,A;显示一位八段管

MOVR6,#01

CALLDELAY

MOVDPTR,#OUTBIT

CLRA

MOVX@DPTR,A;关所有八段管

RET

延时4MS子程序

DELAY:

MOVR1,#0AH

LP:

MOVR7,#64H

NOP

LP1:

DJNZR7,LP1

DJNZR1,LP

RET

DELAY1:

MOVTIME,#0FH

LP4:

MOVR1,#0FFH

LP2:

MOVR7,#0FFHNOP

LP3:

DJNZR7,LP3

DJNZR1,LP2

DJNZTIME,LP4

RET

LEDMAP:

八段管显示码

DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H

DB080H,090H,088H,083H,0C6H,0A1H,086H,08EHEND

5硬件、软件调试步骤

5.1安装注意事项

首先观察原理图,根据电气要求进行合理的整体布局,最大限度的减少叉线和飞线,降低干扰。

自己要形成一个大致的布局和接线方法,而且要尽量美观。

步骤如下:

(1)用万用表检查万能板的内部结构,确定其内部的电气连接属性。

(2)安装前先检查元器件的质量,安装时注意、集成芯片的引脚和极性。

5.2调试

(1)不通电检查电路安装完毕后,不要急于通电,应首先认真检查接线是否正确,包括多线、少线、错线等,尤其是电源线不能接错或接反,以免通电后烧坏电路或元器件。

(2)直观检查连线检查完毕后,直观检查电源,元器件接线端之间有无短路,连线处有无接触不良。

(3)运行软件观察交通灯运行情况,出现问题对软件程序进行修改。

5.3调试注意事项

(1)测试之前要熟悉各种仪器的使用方法,并仔细加以检查,避免由于仪器使用不当或出现故障而作出错误判断。

(2)测试仪器和被测电路应具有良好的共地,只有使仪器和电路之间建立一个公共地参考点测试的结果才是准确的。

6小结

这次课程设计的主要任务是根据课堂所学知识,运用8255A进行交通灯控制的设计。

按照设计的要求,我查阅了相关的资料,先设计出了单元电路,在此基础上设计出了整个系统的电路图。

通过此次课程设计,我对8255A、8253的工作方式有了深刻的理解和认识,更重要的是对微机原理这门课程有了进一步的认识,加深了理解,巩固了所学的的知识,在设计时要考虑到8255A,通过查阅很多资料,拓展了知识面,在这一过程中,我也学到了很多东西。

在设计时,根据要求选择合适的工作方式显得十分的重要。

该次课程设计是利用课堂所学的知识来解决一个实际的问题,生动有趣,提到了我们运用知识的能力。

通过课程设计,对于自己使用ProtelDXP的技巧是一个很大的提高,如何让布局合理、如何让电路简单的设计是一种锻炼,同时也是一个娱乐的过程。

总之,课程设计作为一种教学方式,巩固了我们课堂上所学的知识,提高了我们对知识学习的热情,锻炼了我们运用知识解决实际问题的能力,让我们收获了很多。

7参考资料

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

高等教育出版社,2004年

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

高等教育出版社,2008年

[3].胡汉才《单片机原理及其接口技术》北京:

清华大学出版社,2010年

[4].渠丽岩,郝芸《单片机原理与应用实验指导书》天津:

天津理工大学中环信息学院,2009年

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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