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

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

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

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

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

单片机交通灯课程设计

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

 

专业:

设计题目:

十字路口交通灯控制

班级:

学生姓名:

学号:

指导教师:

分院院长:

许建平

教研室主任:

方健

 

电气工程学院

 

一、课程设计任务书

1.课程设计项目

十字路口交通灯控制

2.设计内容

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

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

3.设计要求

1)设计一个十字路口交通灯控制器。

用单片机控制LED灯模拟指示,用2位数码管显示倒计时剩余时间。

模拟XY方向的十字路口交通信号控制情况。

红、绿黄灯时间可通过键盘进行设定调整。

2)本项目为典型的LED显示和中断定时电路。

利用定时器T0产生每10ms一次的中断,每100次中断为1s。

对两个方向分别显示红、绿、黄灯,及相应的剩余时间即可。

值得注意的是需要意识到,X方向红灯时间=Y方向绿灯时间+黄灯缓冲时间这一常识。

3)用4个按键,结合红、黄、绿灯显示,设置红绿灯的倒计数的时间。

4)4个按键的功能分配可以自行设定,也可以按如下方法设定。

K1—功能键,每按下一次对应的LED灯亮,表示要设置该灯的倒计时时间。

同时,十位数码管闪烁。

K2—移位键,每按下一次向后移一位。

K3—加1键。

K4—减1键。

4、参考资料

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

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

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

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

[3]蔡美琴等编著.MCS-51单片机系统及应用.北京:

高等教育出版社.1992

5.设计进度(2011年6月13日至2011年6月24日)

时间

设计内容

第1-2天

查阅资料,方案比较、设计与论证,理论分析与计算

第3-5天

硬件电路调试

第6-8天

系统调试

第9-10天

书写报告、答辩

6.设计地点

新实验楼323微机实验室

 

二、评语及成绩

评分项目

评分标准

量化

分数

1.独立分析与解决问题的能力

很强

较强

一般

不具有

10

2.课程设计的答辩情况

有见解

回答准确

回答正确

基本正确

有错误

25

3.课程设计论文及插图的规范程度

规范

整洁

正确

杂乱

有错误

25

4.工具软件的使用

熟练使用

会使用

需要学习

10

5.辅导答疑

积极

认真

应付

消极

10

6.设计态度

积极

认真

应付

消极

10

7.出勤

全勤

缺勤次数

10

附加评语

量化总分

成绩:

指导教师:

单片机原理及

应用课程设计

 

班级:

姓名:

学号:

指导教师:

撰写日期:

 

目录

 

第一章课程设计内容与要求分析1

1.1课程设计内容1

1.2课程设计要求分析1

1.2.1电源提供方案1

1.2.2交通灯显示时序的理论分析与计算1

1.2.3系统单元电路组成2

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

2.1时间的设定:

6

2.2数码管驱动代码表6

2.3中断子程序7

第三章调试方法及步骤8

第四章总结9

附录11

 

第一章课程设计内容与要求分析

1.1课程设计内容

本题目以89C51单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;利用提供的单元模块构成硬件系统。

它由单片机系统、LED显示、交通灯演示系统组成。

系统包括人行道、左转、右转、以及基本的交通灯的功能。

1.2课程设计要求分析

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

通行的流程是:

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

如此循环。

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

1.2.1电源提供方案

为使模块稳定工作,须有可靠电源。

我们考虑了两种电源方案

方案一:

采用独立的稳压电源。

此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:

采用单片机控制模块提供电源。

改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,我们选择第二种方案。

1.2.2交通灯显示时序的理论分析与计算

本设计为典型的LED显示和中断定时电路。

利用定时器T0产生每10ms一次的中断,每100次中断为1s。

对两个方向分别显示红、绿、黄灯,及相应的剩余时间即可。

值得注意的是需要意识到:

X方向红灯时间=Y方向绿灯时间+黄灯缓冲时间。

1.2.3系统单元电路组成

总体模型

显示单元:

采用共阳极LED的动态显示方式,用P0.0~P0.7做段选,P1.0~P1.3作位选。

如图1-1所示。

图1-1

图1-2

图1-2位LED指示灯,Y方向的右转:

红—P2.3黄—P2.4绿—P2.5

Y方向的直行:

红—P2.0黄—P2.1绿—P2.2

X方向的右转:

红—P3.3黄—P3.4绿—P3.5

X方向的直行:

红—P3.0黄—P3.1绿—P3.2

89C51的管脚图如图1-3所示

 

图1-3

引脚说明:

 ①电源引脚

  Vcc(40脚):

典型值+5V。

  Vss(20脚):

接低电平。

②外部晶振

X1、X2分别与晶体两端相连接。

当采用外部时钟信号时,X2接振荡信号,X1接地

 ③输入输出口引脚:

P0口:

I/O双向口。

作输入口时,应先软件置“1”。

    P1口:

I/O双向口。

作输入口时,应先软件置“1”。

    P2口:

I/O双向口。

作输入口时,应先软件置“1”。

    P3口:

I/O双向口。

作输入口时,应先软件置“1”。

  ④控制引脚:

     RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。

  RST/Vpd(9脚):

复位信号输入端(高电平有效)。

  第二功能:

加+5V备用电源,可以实现掉电保护RAM信息不丢失。

ALE/-PROG(30脚):

地址锁存信号输出端。

  第二功能:

编程脉冲输入。

-PSEN(29脚):

外部程序存储器读选通信号。

-EA/Vpp(31脚):

外部程序存储器使能端。

第二功能:

编程电压输入端(+21V)。

交通灯系统电路实物图如下:

图1-4

 

第二章控制系统程序设计

2.1时间的设定:

采用软延时的方法。

89C51单片机的工作频率为12MHZ,机器周期是时钟周期的12倍,所以一个机器周期的时间为12*(1/12M)=1us。

我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定时间。

T10MS:

MOVR2,#2;10MS延时

SS2:

MOVR3,#200

SS1:

NOP

NOP

NOP

DJNZR3,SS1

DJNZR2,SS2

RET

2.2数码管驱动代码表

显示数值

(dop)gfedcba

驱动代码(16进制)

0

00111111

0A0H

1

00000110

0F9H

2

01011011

64H

3

01001111

70H

4

01100110

39H

5

01101100

32H

6

01111100

22H

7

00000111

0F8H

8

01111111

20H

9

01111111

30H

驱动代码表如图所示2-1

 

2.3中断子程序

T00K:

PUSHACC;T00KT0中断子程序

PUSH00H

PUSHPSW

MOVTH0,#0ECH;12MHZ时4MS

MOVTL0,#78H

DJNZ14H,Z1

MOV14H,#200

JB00H,KSAN;00H按键标志

SETB04H;1秒钟到标志

SJMPZ1

 

第三章调试方法及步骤

 

1.用keil3先调试设计好的程序,方法是打开keil3后新建项目,加入模块文件.asm保存到文件夹下,名字自定即可,然后打开.asm模块文件,再编译检查是否正确通过。

2.若出现错误,就要修改错误,(比如指令错误,或者是符号错误等)编译全部通过后再接外围硬件电路,用STC下载器调试,看是否与设计思想一致。

3.显示结果正确后结束仿真,先停止运行程序,再关掉最小系统开关,最后断电。

第四章总结

在本次实训作品交通灯控制电路的设计和制作中,我对电子设计方面有了很大的提高,同时也更加的了解十字路口交通灯的工作原理和实际应用过程。

也对前一阶段的单片机课程学习和keil,STC软件的学习有了进一步的巩固和提高。

对一些单片机的应用,延迟电路的设计应用和数码管的电路程序的应用有了更多的理解。

在设计的过程,电路焊接,最后到作品的调试,其中在整个过程中,遇到了很大的挑战和困难,不过最后在同学们的帮助下都得以一一解决。

从开始数码管的选择错误到最后的电路调试,从开始的程序编写,到最后的软件测试,大家互相帮助,共同进步。

同时对相关设计软件应用也有了进一步的了解和熟悉,也对电子设计的整体流程有了更多的理解。

经过这次实训课程设计,我学到了很多书本上没有的,比较实际、实用的东西,学会了怎样将理论知识运用到实际设计当中,对实验设备和设计软件的使用和分析问题解决问题的能力也有了很大的提高。

同时也明白了电路焊接和作品调试时,需要更多的耐心。

通过这次实训课程设计,不仅可以在专业上可以学到更多的知识,同时也对平时的学习和工作中产生了影响,那就是认认真真的去完成每一件事。

参考文献

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

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

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

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

[3]蔡美琴等编著.MCS-51单片机系统及应用.北京:

高等教育出版社.1992

 

附录

程序如下:

;交通灯控制程序

;显示缓冲单元:

30H,31H,32H,33H

;P0.0,P0.1,P0.2:

为X轴绿灯、黄灯、红灯

;P0.4,P0.5,P0.6:

为Y轴绿灯、黄灯、红灯

;41H,42H:

为XY轴定时计数显示值

;28H:

XZ绿、黄灯定时

;29H:

;2AH:

XL绿、黄灯定时

;2BH:

;2CH:

YZ绿、黄灯定时

;2DH:

;2EH:

YL绿、黄灯定时

;2FH:

;Y红=XZ绿+XZ黄+XL绿+XL黄

;XL红=XZ绿+XZ黄

;XZ红=XL绿+XL黄

;X红=YZ绿+YZ黄+YL绿+YL黄

;YL红=YZ绿+YZ黄

;YZ红=YL绿+YL黄

HOLVEQU0DEH;11011110

HOHUEQU0EEH;11101110

LVHOEQU0F3H;11110011

HUHOEQU0F5H;11110101

HOHOEQU0F6H;11110110

ORG0000H

AJMPMAIN

ORG000BH

AJMPT00K

ORG0030H

MAIN:

MOVSP,#60H

STRT:

MOVP1,#0FFH

MOVP2,#0FFH

MOVP3,#0FFH

MOVP0,#0FFH

MOVTMOD,#01H

MOVTH0,#0ECH;12MHZ5MS的初值5000=1388H

MOVTL0,#78H

MOV14H,#100;中断次数100*5=500MS

SETBTR0

SETBET0

SETBEA

MOV30H,#8;显示缓冲单元

MOV31H,#8

MOV32H,#8

MOV33H,#8

;初值设定为压缩BCD码

MOV28H,#10;XZL,Y初值

MOV29H,#05;XZH

MOV2AH,#10;XLL

MOV2BH,#05;XLH

MOV2CH,#10;YZL

MOV2DH,#05;YZH

MOV2EH,#10;YLL

MOV2FH,#05;YLH

MOV10H,#0FEH;记录显示位置

MOV11H,#30H;记录显示单元

MOV12H,#0;功能键按下计数器

MOV13H,#4;13H按键延时去抖

;20H,21H留作标志

CLR00H;按键标志

CLR01H;500MS*2

CLR02H;按键交替闪烁标志

CLR03H;温度偏移量设定时的负号标志

CLR04H;1秒时间到标志

CLR05H;亮灯转换标志

 

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

HHH:

NOP;开始

MOVA,28H

ADDA,29H

ADDA,2AH

ADDA,2BH

MOV42H,A;Y显示单元

MOV41H,28H;X显示单元

MOV43H,28H;43H亮灯时间记录

MOVA,42H

MOVR1,#33H

ACALLBCDD;二十转换送显示缓冲区

MOVA,41H

MOVR1,#31H

ACALLBCDD

MOVP3,#HOLV;XL红XZ绿

MOVP2,#HOHO;YZ红YL红

CLR05H;状态转换标志清零

 

HX0:

JNB05H,HX0;时间没到继续查键盘

MOV41H,29H

MOV43H,29H

MOVA,41H

MOVR1,#31H

ACALLBCDD

MOVP3,#HOHU;XL红XZ黄

MOVP2,#HOHO;YL红YZ红

CLR05H

 

HX2:

JNB05H,HX2;时间没到继续查键盘

MOV41H,2AH

MOV43H,2AH

MOVA,41H

MOVR1,#31H

ACALLBCDD

MOVP3,#LVHO;XL绿XZ红

MOVP2,#HOHO;YL红YZ红

CLR05H

 

HX4:

JNB05H,HX4

MOV41H,2BH

MOV43H,2BH

MOVA,41H

MOVR1,#31H

ACALLBCDD

MOVP3,#HUHO;XL黄XZ红

MOVP2,#HOHO;YL红YZ红

CLR05H

 

HX6:

JNB05H,HX6

;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

;YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

MOVA,2CH

ADDA,2DH

ADDA,2EH

ADDA,2FH

MOV41H,A;Y显示单元

MOV42H,2CH;X显示单元

MOV43H,2CH;43H亮灯时间记录

MOVA,42H

MOVR1,#33H

ACALLBCDD;二十转换送显示缓冲区

MOVA,41H

MOVR1,#31H

ACALLBCDD

MOVP2,#HOLV;Y

MOVP3,#HOHO;X

CLR05H;状态转换标志清零

 

HY0:

JNB05H,HY0;时间没到继续查键盘

MOV42H,2DH

MOV43H,2DH

MOVA,42H

MOVR1,#33H

ACALLBCDD

MOVP2,#HOHU;Y

MOVP3,#HOHO;X

CLR05H

 

HY2:

JNB05H,HY2;时间没到继续查键盘

MOV42H,2EH

MOV43H,2EH

MOVA,42H

MOVR1,#33H

ACALLBCDD

MOVP2,#LVHO;Y

MOVP3,#HOHO;X

CLR05H

 

HY4:

JNB05H,HY4

MOV42H,2FH

MOV43H,2FH

MOVA,42H

MOVR1,#33H

ACALLBCDD

MOVP2,#HUHO;Y

MOVP3,#HOHO;X

CLR05H

 

HY6:

JNB05H,HY6

AJMPHHH;重新开始

;YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

 

BCDD:

NOP;把A分解送显示缓冲区

MOVB,#10

DIVAB

MOV@R1,A

DECR1

MOVA,B

MOV@R1,A

RET

 

HBCD:

MOVA,@R0;回存设定值

MOVR2,A

INCR0

MOVA,@R0

MOVB,#10

MULAB

ADDA,R2

MOV@R1,A

RET

 

;TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT

T00K:

PUSHACC;T00KT0中断子程序

PUSH00H

PUSHPSW

MOVTH0,#0ECH;12MHZ时4MS

MOVTL0,#78H

DJNZ14H,Z1

MOV14H,#100

JB00H,KSAN;00H按键标志

CPL01H

JB01H,Z1

SETB04H;1秒钟到标志

SJMPZ1

KSAN:

CPL02H;02H交替闪烁标志

JNB02H,SAN1

MOVR0,35H

MOV@R0,#16

SJMPSAN2

SAN1:

MOVR0,35H

MOV@R0,34H

SAN2:

NOP

Z1:

NOP

ORLP1,#0FFH;灭

MOVA,11H

MOVR0,A

MOVA,@R0

MOVDPTR,#DDB

MOVCA,@A+DPTR;送段吗

MOVP0,A

MOVA,10H

ANLP1,A

RLA

MOV10H,A

INC11H

JBACC.4,TK1

MOV10H,#0FEH

MOV11H,#30H

TK1:

DEC13H;健扫描延时

JNB04H,T0K1;1S时间没到,直接返回

CLR04H

DEC43H

DEC41H

DEC42H

MOVA,43H

JNZT02

SETB05H

T02:

MOVA,41H

MOVR1,#31H

ACALLBCDD

MOVA,42H

MOVR1,#33H

ACALLBCDD

T0K1:

POPPSW

POP00H

POPACC

RETI

DDB:

DB0C0H,0F9H,0A4H,0B0H,99H;段码表

DB92H,82H,0F8H,80H,90H;0--9

DB88H,83H,0C6H,0A1H,86H,8EH,0FFH;E,-,n,灭=16

;TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT

T10MS:

MOVR2,#2;10MS延时

SS2:

MOVR3,#200

SS1:

NOP

NOP

NOP

DJNZR3,SS1

DJNZR2,SS2

RET

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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