单片机关于交通灯设计.docx

上传人:b****5 文档编号:28400503 上传时间:2023-07-13 格式:DOCX 页数:12 大小:49.36KB
下载 相关 举报
单片机关于交通灯设计.docx_第1页
第1页 / 共12页
单片机关于交通灯设计.docx_第2页
第2页 / 共12页
单片机关于交通灯设计.docx_第3页
第3页 / 共12页
单片机关于交通灯设计.docx_第4页
第4页 / 共12页
单片机关于交通灯设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机关于交通灯设计.docx

《单片机关于交通灯设计.docx》由会员分享,可在线阅读,更多相关《单片机关于交通灯设计.docx(12页珍藏版)》请在冰豆网上搜索。

单片机关于交通灯设计.docx

单片机关于交通灯设计

 

一、课程设计任务书

1.设计内容

1)以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;

2)利用提供的单元模块构成硬件系统。

2.设计要求:

1)基本功能:

要求在一般工作方式下,十字路口为A、B道(A、B道交叉组成十字路口),每道设置红、绿、黄三盏灯,在灯的控制下各道轮流放行。

通行的流程是:

B道红灯亮50秒,同时A道绿灯亮30秒,闪烁5秒,A道黄灯亮5秒;然后切换A道红灯亮50秒,同时B道绿灯亮30秒,闪烁5秒;B道黄灯亮5秒。

如此循环。

在A、B道红、绿、黄灯依次点亮时,A、B道对应的两位数码管分别倒计时显示本道红、绿、黄灯点亮的时间。

2)扩展功能:

设置自动流量控制功能:

即当一道有车而另一道无车(用按键开关S1、S2模拟车辆检测功能)时,使有车车道放行。

设置优先控制功能:

当有紧急车辆通过时,用开关S0进行控制,将A、B道均设定为红灯,第二次按下开关S0后,回复正常运行状态。

3.课程设计报告要求

1)自行设计系统硬件结构,硬件图纸要求B5图纸打印;图纸符合电气规范、美观。

2)编写系统程序,要求程序书写规范,功能完全;

3)书写报告,3千字左右,报告按照设计过程来进行撰写,文后需要附系统硬件原理图一份。

4)课程设计总结(可包括课程设计过程中的收获、体会及对该课程设计的意见、建议等)。

3、参考资料

[1]李广弟,朱月秀,王秀山编著.单片机基础.北京:

北京航空航天大学出版社,2001

 

[2]何立民编著.MCS-51系列单片机应用系统设计系统配置与接口技术.北京:

北京航空航天大学出版社,1999

 

目录

第一章:

课程设计内容与要求分析.......................1

1.1课程设计内容.....................................4

1.2课程设计要求分析..............................

1.2.1系统单元电路组成...........................4

第二章控制系统程序设计..........................

单片机原理及应用课程设计总结.........................13

参考文献............................................

附录................................................

1.1课程设计内容

1)以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;

1)基本功能与要求:

要求在一般工作方式下,十字路口为A、B道(A、B道交叉组成十字路口),每道设置红、绿、黄三盏灯,在灯的控制下各道轮流放行。

通行的流程是:

B道红灯亮40秒,同时A道绿灯亮30秒,闪烁5秒,A道黄灯亮5秒;然后切换A道红灯亮40秒,同时B道绿灯亮30秒,闪烁5秒;B道黄灯亮5秒。

如此循环。

在A、B道红、绿、黄灯依次点亮时,A、B道对应的两位数码管分别倒计时显示本道红、绿、黄灯点亮的时间。

2)扩展功能:

设置自动流量控制功能:

即当一道有车而另一道无车(用按键开关S1、S2模拟车辆检测功能)时,使有车车道放行。

设置优先控制功能:

当有紧急车辆通过时,用开关S0进行控制,将A、B道均设定为红灯,第二次按下开关S0后,回复正常运行状态。

2)利用提供的单元模块构成硬件系统。

1.2.1系统单元电路组成

电路组成:

在此电路中,我们主要用到了AT89C52单片机,

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,AT89C51是一种高效微控制器。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.AT89C51主要特性:

·与MCS-51兼容

·4K字节可编程闪烁存储器

寿命:

1000写/擦循环

数据保留时间:

10年

·全静态工作:

0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

2.管脚说明:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

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

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

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

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

  8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。

同时必须具有与外设连接的接口A、B、C口。

由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:

与CPU连接部分、与外设连接部分、控制部分。

  

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闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定.

引脚功能

  RESET:

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

  CS:

芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.

  RD:

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

  WR:

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

  D0~D7:

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

  PA0~PA7:

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

  PB0~PB7:

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

  PC0~PC7:

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

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

'

  A0,A1:

地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.

  当A0=0,A1=0时,PA口被选择;

  当A0=0,A1=1时,PB口被选择;

  当A0=1,A1=0时,PC口被选择;

  当A0=1.A1=1时,控制寄存器被选择.

1.3控制系统程序设计

由PA.0~PA.2控制南北方向,其中PA.0为红灯,PA.1为黄灯,PA.2为绿灯。

PA.5~PA.7控制东西方向,其中PA.7为红灯,PA.6为黄灯,PA.5为绿灯。

COM_ADD

XDATA

0F003H

PA_ADD

XDATA

0F000H

PB_ADD

XDATA

0F001H

PC_ADD

XDATA

0F002H

ORG

0000H

LJMP

STAR

ORG

0100H

STAR:

MOV

SP,#60H

MOV

DPTR,#COM_ADD

MOV

A,#80H

;PA、PB、PC为基本输出模式

MOVX

@DPTR,A

MOV

DPTR,#PA_ADD

;灯全熄灭

MOV

A,#0FFH

MOVX

@DPTR,A

START1:

MOV

A,#37H

MOVC

A,@A+PC

MOVX

@DPTR,A

;东西绿灯,南北红灯

ACALL

DL5S

MOV

R4,#6

START2:

MOV

A,#30H

MOVC

A,@A+PC

MOVX

@DPTR,A

;东西绿灯闪烁,南北红灯

ACALL

DL500ms

MOV

A,#29H

MOVC

A,@A+PC

MOVX

@DPTR,A

ACALL

DL500ms

DJNZ

R4,START2

MOV

A,#23H

;东西黄灯亮,南北红灯

MOVC

A,@A+PC

MOVX

@DPTR,A

ACALL

DL3S

MOV

A,#1EH

;东西红灯,南北绿灯

MOVC

A,@A+PC

MOVX

@DPTR,A

ACALL

DL5S

MOV

R4,#6

START3:

MOV

A,#17H

;东西红灯,南北绿灯闪烁

MOVC

A,@A+PC

MOVX

@DPTR,A

ACALL

DL500ms

MOV

A,#10H

MOVC

A,@A+PC

MOVX

@DPTR,A

ACALL

DL500ms

DJNZ

R4,START3

MOV

A,#0AH

;东西红灯,南北黄灯亮

MOVC

A,@A+PC

MOVX

@DPTR,A

ACALL

DL3S

SJMP

START1

DB

01111110B

;东西绿灯,南北红灯

DB

11111110B

;东西绿灯闪烁,南北红灯

DB

10111110B

;东西黄灯亮,南北红灯

DB

11011011B

;东西红灯,南北绿灯

DB

11011111B

;东西红灯,南北绿灯闪烁

DB

11011101B

;东西红灯,南北黄灯亮

DL500ms:

MOV

R5,#25

DL500ms1:

MOV

R6,#100

DL500ms2:

MOV

R7,#100

DJNZ

R7,$

DJNZ

R6,DL500ms2

DJNZ

R5,DL500ms1

RET

DL3S:

MOV

R4,#6

DL3S1:

LCALL

DL500ms

DJNZ

R4,DL5S1

RET

DL5S:

MOV

R4,#10

DL5S1:

LCALL

DL500ms

DJNZ

R4,DL5S1

RET

END

单片机原理及应用课程设计总结

此次课程设计没有现成的程序和设计图,需要我们真正亲手去编,最郁闷的莫过于画设计图。

按照实验要求上的图画了出来,加载程序以后却不能正常运行,改了好多次都没有成功。

同学们电脑上软件的版本差异也影响了交流。

有些元件的型号不同,但在选用时图形确很相似,致使选错了元件,影响了结果。

这两周的实习真的有点郁闷,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这两个程序,但是只好硬着头皮去看去理解。

但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。

这次实习让我受益匪浅,无论从知识上还是其他的各个方面。

上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。

但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。

在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮助。

团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。

单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。

尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。

最后衷心的感谢我的合作伙伴及叶天迟老师给我的精心指导和帮助。

附录:

89c51的A0和A1分别接8255的A0和A1口。

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

当前位置:首页 > 人文社科 > 法律资料

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

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