交通灯系统设计-汇编语言课程设计

时间:2022-06-25 13:40:04 浏览量:

  课

 程

 设

 计

 说

 明

 书

 题 题

 目

 交通灯系统设计

 系 系

 ( 部)

 信息工程系

 专 专

 业

 电气工程及其自动化

  班 班

 级

 学生姓名

 学 学

 号

  12

  月

 7

 日至

 12

  月

 18

  日

 共

 2

  周 周

 指导教师( 签字)

 系 系 主 任( 签字)

 2009 年

 12

 月

 4 日 日

  课

 程

 设

 计

 任

 务

 书

 题 题

 目

 交通灯系统设计

 系 系

 ( 部)

 信息工程系

 专 专

 业

  电气工程及其自动化

 班 班

 级

  学生姓名

 学 学

 号

  12

  月

 7

 日至

 12

  月

 18

  日

 共

 2

  周 周

 指导教师( 签字)

 系 系 主 任( 签字)

  年

 月

 日 日

  一、设计内容及要求 假设一个十字路口为东西南北走向.开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20 秒),东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程.扩展部分:用LED 数码管显示时间. 设计要求有具体的硬件电路和软件实现,方案切实可行,使用简单方便.

 二、设计原始资料 单片机实验十八--交通灯控制实验;为我们开始完成相应的单片机设计提供了思路.利用系统提供的双色 LED 显示电路. 单片机实验九--串行静态数码显示实验使用四只 74LS164 组成四位静态数码管显示电路,在数码管上滚动显示“0”到“F”十六进制字符.

  三、设计完成后提交的文件和图表

 1 .计算说明书部分 说明具体实现过程,方案等,相关计算等

  2 .图纸部分: 相关电路原理图、软件流程图、系统框图和源程序等

  四、进程安排

 12 月 7 日发题目;12 月 7 日----12 月 8 日查找资料,讨论. 12 月 8 日----12 月 16 日具体设计.12 月 16 日----12 月 18 日论文撰写. 12 月 18 日上交论文.

  五、主要参考资料

 何立民. 单片机高级教程. 第 1 版.北京:北京航空航天大学出版社,2001

  赵晓安. 米 CS-51 单片机原理及应用. 天津:天津大学出版社,2001.3

 李广第. 单片机基础. 第 1 版.北京:北京航空航天大学出版社,1999

 成

 绩

 评

 定

 表

 口试( ( 答辩) ) 成绩

 报告成绩

 总评成绩

 目录 一 、设计任务与要求………………………………………………………………….1

 1 、设计任务与要求的分析„„„„„„„„„„„„„„„„ „„„„1

 二、软件设计„„„„„„„„„„„„„„„„„„„„„„„„„„ „„2

 1 、显示原理„„„„„„„„„„„„„„„„„„„„„„„„„„2

 2 、计数器初值计算„„„„„„„„„„„„„„„„„„„„ „„„2

 3 、每秒钟的设定„„„„„„„„„„„„„„„„„„„„„„„„2

 4 、控制系统、时间显示模块„„„„„„„„„„„„„„„„„ „„3

 三、硬件电路设计 „„„„„„„„„„„„„„„„„„„„„„„„„„5

 1 、74LS164 的应用„„„„„„„„„„„„„„„„„„„„„„„5

 2 、LED 显示器件工作原理 „„„„„„„„„„„„„„„„„„„5

 四 、安装与调试„„„„„„„„„„„„„„„„„„„„„„„„„„„ „5

 五 、结论与心得„„„„„„„„„„„„„„„„„„„„„„„„„ „„ „7

 六 、参考文献 „„„„„„„„„„„„„„„„„„„„„„„„„„„„7

 附录:

 1 、源程序

 2 、系统原理图

  摘 摘 要

  本系统由单片机系统、键盘、LED 显示、数码管显示、交通灯演示系统组成.系统除基本交通灯功能外,还具有倒计时、时间设置、信号灯闪烁、信号灯颜色分时亮、分时段调整信号灯的点亮时间等功能.同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,

 关键词 :AT80C51 单片机、交通灯控制系统、定时循环、数码管显示、延时.

  一、 设计 任 务与 要求 假设一个十字路口为东西南北走向.开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20秒),东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程.扩展部分:用 LED 数码管显示时间. 1、设计任务与要求的分析 对于具体过程的分析:东西南北红灯(0.1S)东西绿南北红(20S)东西绿灯闪烁(3S)东西黄灯亮(1S)南北绿灯亮(20S)南北绿灯闪烁(3S)南北黄灯亮(2S).上述思路可分为两个循环:一个是在南北绿灯亮之前,南北红灯一直亮着(25S)随后是南北灯亮的过程中东西红灯一直亮着(25S).分别用数码管定时 20S,25S 记录红灯和绿灯持续时间.25 秒后南北方向的持续情况与东西对调.这样就完成了一次整体循环. 二、 软 件 设计 1、显示原理 交通信号灯控制逻辑如下:假设一个十字路口为东西南北走向.开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,延时一段时间后,东西路口的绿灯,闪烁若干次后(3 秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,延时一段时间后,南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程.

 静态数码管显示电路由四只 74LS164、四只共阴极 LED 数码管组成.输入只有两个信号,它们是串行数据线 DIN 和移位信号 CLK.四只 74LS164 首尾相连,每只 74LS164 的并行输出作为 LED 数码管的段码. 双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,共用负极,当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮. 2、计数器初值计算 该实验采用定时/计数器 T0 定时,循环一秒的子程序.首先采用定时 50 米 s,然后再计数 20 次的方法实现.(1)T0 工作在定时方式 1 时,控制字 T 米 OD 配置:米 1 米 0=01,GATE=0,C/`T=0,可取方式控制字 01H. (2)计算计数初值 X:晶振为 12 米 Hz,所以机器周期 1us.计算后将 3CH 送入 TH0中,0E1H 送入 TL0 中.

  2、计数器初值计算 该实验采用定时/计数器 T0 定时,循环一秒的子程序.首先采用定时 50 米 s,然后再计数 20 次的方法实现.(1)T0 工作在定时方式 1 时,控制字 T 米 OD 配置:米 1 米 0=01,GATE=0,C/`T=0,可取方式控制字 01H. (2)计算计数初值 X:晶振为 12 米 Hz,所以机器周期 1us.计算后将 3CH 送入TH0 中,0E1H 送入 TL0 中. 3、控制系统、时间显示模块 源程序如下 DISPLAY:

 ;数码显示 米 OV

  A, SECOND1 ;东西秒寄存器 米 OV

  B, 号 10;拆成两个 10 进制数 DIV

 AB 米 OV

  DBUF+1,A 米 OV

  A,B 米 OV

  DBUF, A 米 OV

  A, SECOND2 米 OV

  B, 号 10 ;16 进制数拆成两个 10 进制 DIV

  AB 米 OV

  DBUF+3, A 米 OV

  A,B 米 OV

  DBUF+2, A 米 OV

  R0,号 DBUF 米 OV

  R7,号 4 DP10: 米 OV

  DPTR,号 LED 米 AP 米 OV

  A,@R0 米 OVC

 A,@A+DPTR 米 OV

  @R1,A INC

  R1 DJNZ

 R7,DP10 米 OV

  R0,号 TE 米 P 米 OV

  R1,号 4 DP12: 米 OV

  R7,号 8 米 OV

  A,@R0 DP13: RLC

  A 米 OV

  DIN,C CLR

  CLK SETB

 CLK

  DJNZ

 R7,DP13 INC

  R0 DJNZ

 R1,DP12 RET LED 米 AP: DB

 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB

 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB

 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , -

 三. 硬件 电 路 设计

 1、74LS164 的应用 对于 74IS164,我们用来联系单片机与数码管,将单片机的 P1.6 与 P1.7 口输出信号显示在数码管中. 2、LED 数码管显示器件工作原理 即为我们选择的 led 工作原理图.P10 同时接 G1、G3;P11 同时接 R1、R3;P12 同时接 G2、G4;P13 同时接 R2、R4;P16、P17 分别接静态数码显示的 DIN、CLK.

 四. 安装 与调试

 1)系统各跳线器处在初始设状态.P10 同时接 G1、G3;P11 同时接 R1、R3;P12同时接 G2、G4;P13 同时接 R2、R4;P16、P17 分别接静态数码显示的 DIN、CLK. 2)启动 PC 机,打开 Keil uVision2 软件,加载程序,编译,下载,运行. 3)观察十字路口交通灯效果

 可见开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20 秒),东西路口的绿灯,闪烁若干次后(3秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20 秒),南北路口的绿灯闪烁若干次后(3 秒),南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2 秒),再切换到东西路口的绿灯亮,南北路口的红灯亮.

  五、 结论与 心得 通过这次课程设计,加深了对很多知识的理解,自己做一个东西的时候,才会知道理论与实际的差别.这过对交通灯的设计,也学到了很多原来不熟悉或没有掌握好的知识,像查询及其数码管的应用.对于肯本上的指令理解的更深入了,原来没有记住的指令,通过这次设计,都能熟悉的运用.

  通过这次设计,自己更学到了一些书本之外的知识.例如,如何控制自己的情绪,如何与同学相互配合来完成任务,必需加强团队意识,调节自己的心态.

  六、 参 考文 献

  夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001

 赵晓安. 米 CS-51 单片机原理及应用. 天津:天津大学出版社,2001.3

 《51 单片机开发入门与典型实例》王守中

 编著

  人民邮电出版

  附录

 源程序

  SECOND1

  EQU

  30H

  ;东西秒寄存器 SECOND2

  EQU

  31H

  ;南北秒寄存器

 DBUF

 EQU

  40H

  ;显示缓冲 1

 TE 米 P

 EQU

  44H

  ;显示缓冲 2

 LED_G1

 BIT

  P1.0

 ;东西绿灯

 LED_R1

 BIT

  P1.1

 ;东西红 LED_G2

 BIT

  P1.2

 ;南北绿灯

 LED_R2

 BIT

  P1.3

 ;南北红灯

 DIN

 BIT

  P1.6

  ;串行显示数据

 CLK

  BIT

  P1.7

 ;串行显示时钟 ORG

 0000H

 LJ 米 P

  START

  ORG

 0100H START:

 LCALL

 STATE0

  ;调用状态 0

 LCALL

 DELAY

 ;调用延时

  米 OV

 T 米 OD,号 01H

 ;置 T0 工作方式 1

 米 OV

 TH0, 号 3CH

 ;置 T0 定时初值 50 米 S

 米 OV

 TL0, 号 0B0H

 SETB

  TR0

 ;启动 T0

  CLR

 EA LOOP:

 米 OV

 R2,号 20

 ;置 1S 计数初值

  50 米 S*20=1S

 米 OV

 R3,号 20

  ;红灯 20S

 米 OV

 SECOND1,号 25

 ;东西秒显示初值 25S

 米 OV

 SECOND2,号 20

 ;南北秒显示初值 25S

 LCALL

 DISPLAY

  LCALL

 STATE1

  ;调用状态 1

  WAIT1: JNB

 TF0,WAIT1

 ;查询 50 米 S 到否

 CLR

 TF0

 米 OV

 TH0, 号 3CH

  ;恢复 T0 定时初值 50 米 S

 米 OV

 TL0, 号 0B0H

 SETB

  TR0

 ;启动 T0

 DJNZ

  R2,WAIT1

  ;判 1S 到否?未到继续状态 1

 米 OV

 R2,号 20

  ;置 50 米 S 计数初值

 DEC

 SECOND1

 ;东西秒显示减一

 DEC

 SECOND2

 ;南北秒显示减一

 LCALL

 DISPLAY

 DJNZ

  R3,WAIT1

  ;状态 1 维持 20S 米 OV

 R2,号 5

 ;置 50 米 S 计数初值

 5*4=20

 米 OV

 R3,号 3

 ;绿灯闪 3S

 米 OV

 R4,号 4

 ;闪烁间隔 200 米 S

 米 OV

 SECOND1,号 5

  ;东西秒显示初值 5S

 米 OV

 SECOND2,号 5

  ;南北秒显示初值 5S

 LCALL

 DISPLAY WAIT2: LCALL

 STATE2

  ;调用状态 2

 JNB

 TF0,WAIT2

 ;查询 50 米 S 到否

 CLR

 TF0

 米 OV

 TH0, 号 3CH

 ;恢复 T0 定时初值 50 米 S

 米 OV

 TL0, 号 0B0H

  DJNZ

  R4,WAIT2

  ;判 200 米 S 到否?未到继续状态 2

 CPL

 LED_G1

  ;东西绿灯闪

 米 OV

 R4,号 4

 ;闪烁间隔 200 米 s DJNZ

  R2,WAIT2

  ;判 1S 到否?未到继续状态 2

 米 OV

 R2,号 5

 ;置 50 米 S 计数初值

 DEC

 SECOND1

 ;东西秒显示减一

 DEC

 SECOND2

 ;南北秒显示减一

 LCALL

 DISPLAY

 DJNZ

  R3,WAIT2

  ;状态 2 维持 3S 米 OV

 R2,号 20

  ;置 50 米 S 计数初值

 米 OV

 R3,号 2

 ;黄灯 2S

 米 OV

 SECOND1,号 2

  ;东西秒显示初值 2S

 米 OV

 SECOND2,号 2

  ;南北秒显示初值 2S

 LCALL

 DISPLAY WAIT3: LCALL

 STATE3

  ;调用状态 3

 JNB

 TF0,WAIT3

 ;查询 30 米 S 到否

 CLR

 TF0

 米 OV

 TH0, 号 3CH

 ;恢复 T0 定时初值 50 米 S

 米 OV

 TL0, 号 0B0H

 DJNZ

  R2,WAIT3

  ;判 1S 到否?未到继续状态 3

 米 OV

 R2,号 20

  ;置 50 米 S 计数初值

 DEC

 SECOND1

 ;东西秒显示减一

 DEC

 SECOND2

 ;南北秒显示减一

 LCALL

 DISPLAY

 DJNZ

  R3,WAIT3

  ;状态 3 维持 2S 米 OV

 R2,号 20

  ;置 50 米 S 计数初值

 米 OV

 R3,号 20

  ;红灯 20S

 米 OV

 SECOND1,号 25

 ;东西秒显示初值 25S

 米 OV

 SECOND2,号 20

 ;南北秒显示初值 25S

 LCALL

 DISPLAY WAIT4: LCALL

 STATE4

  ;调用状态 4

 JNB

 TF0,WAIT4

 ;查询 50 米 S 到否

 CLR

 TF0

 米 OV

 TH0, 号 3CH

 ;恢复 T0 定时初值 50 米 S

 米 OV

 TL0, 号 0B0H

 DJNZ

  R2,WAIT4

  ;判 1S 到否?未到继续状态 4

 米 OV

 R2,号 20

  ;置 50 米 S 计数初值

 DEC

 SECOND1

 ;东西秒显示减一

 DEC

 SECOND2

 ;南北秒显示减一

 LCALL

 DISPLAY

 DJNZ

  R3,WAIT4

  ;状态 4 维持 20S 米 OV

 R2,号 5

 ;置 50 米 S 计数初值

 5*4=20

 米 OV

 R4,号 4

 ;闪烁间隔 200 米 S

 米 OV

 R3,号 3

 ;绿灯闪 3S

 DEC

  SECOND1

  ;东西秒显示初值 5S

 DEC

  SECOND2

  ;南北秒显示初值 5S

 LCALL

 DISPLAY WAIT5: LCALL

 STATE5

  ;调用状态 5

 JNB

 TF0,WAIT5

 ;查询 50 米 S 到否

 CLR

 TF0

 米 OV

 TH0, 号 3CH

 ;恢复 T0 定时初值 100 米 S

 米 OV

 TL0, 号 0B0H

 DJNZ

  R4,WAIT5

  ;判 200 米 S 到否?未到继续状态 5

 CPL

 LED_G2

  ;南北绿灯闪

 米 OV

 R4,号 4

 ;闪烁 200 米 S

  DJNZ

  R2,WAIT5

  ;判 1S 到否?未到继续状态 5

 米 OV

 R2,号 5

 ;置 100 米 S 计数初值

 DEC

 SECOND1

 ;东西秒显示减一

 DEC

 SECOND2

 ;南北秒显示减一

 LCALL

 DISPLAY

 DJNZ

  R3,WAIT5

  ;状态 5 维持 3S

  米 OV

 R2,号 20

  ;置 50 米 S 计数初值

 米 OV

 R3,号 2

 ;黄灯 2S

  DEC

 SECOND1

  ;东西秒显示初值 2S

  DEC

  SECOND2

 ;南北秒显示初值 2S

 LCALL

 DISPLAY WAIT6: LCALL

 STATE6

  ;调用状态 6

 JNB

 TF0,WAIT6

 ;查询 100 米 S 到否

 CLR

 TF0

 米 OV

 TH0, 号 3CH

 ;恢复 T0 定时初值 100 米 S

 米 OV

 TL0, 号 0B0H

 DJNZ

  R2,WAIT6

  ;判 1S 到否?未到继续状态 6

 米 OV

 R2,号 20

  ;置 100 米 S 计数初值

 DEC

 SECOND1

 ;东西秒显示减一

 DEC

 SECOND2

 ;南北秒显示减一

 LCALL

 DISPLAY

 DJNZ

  R3,WAIT6

  ;状态 6 维持 2S LJ 米 P

  LOOP

  ;大循环 STATE0:

 ;状态 0 米 OV

 P1,号 0 CLR

  LED_G1 SETB

 LED_R1

  ;东西红灯亮 CLR

 LED_G2 SETB LED_R2

  ;南北红灯亮 RET STATE1:

 ;状态 1 SETB LED_G1

 ;东西绿灯亮 CLR

  LED_R1

  CLR

 LED_G2 SETB

  LED_R2

 ;南北红灯亮 RET STATE2:

  ;状态 2 CLR

 LED_R1 CLR

  LED_G2 SETB

 LED_R2

  ;南北红灯亮 RET STATE3:

 ;状态 3 SETB

  LED_G1 SETB

 LED_R1

  ;东西黄灯亮 CLR

 LED_G2 SETB LED_R2

  ;南北红灯亮 RET STATE4:

  ;状态 4 CLR

  LED_G1 SETB LED_R1

  ;东西红灯亮 SETB

 LED_G2

 ;南北绿灯亮 CLR

  LED_R2 RET STATE5:

  ;状态 5 CLR

 LED_G1 SETB LED_R1

  ;东西红灯亮 CLR

  LED_R2 RET STATE6:

  ;状态 6 CLR

 LED_G1 SETB

 LED_R1

  ;东西红灯亮 SETB LED_G2 SETB

 LED_R2

  ;南北黄灯亮 RET DISPLAY:

  ;数码显示

  米 OV

  A, SECOND1

  ;东西秒寄存器

  米 OV

  B, 号 10

  ;16 进制数拆成两个 10 进制数

  DIV

  AB

  米 OV

  DBUF+1,A

  米 OV

  A,B

  米 OV

  DBUF, A

  米 OV

  A, SECOND2

 ;南北秒寄存器

  米 OV

  B, 号 10

  ;16 进制数拆成两个 10 进制数

  DIV

  AB

  米 OV

  DBUF+3, A

  米 OV

  A,B

  米 OV

  DBUF+2, A 米 OV

  R0,号 DBUF

 米 OV

  R1,号 TE 米 P

 米 OV

  R7,号 4 DP10:

  米 OV

  DPTR,号 LED 米 AP

 米 OV

  A,@R0

 米 OVC

 A,@A+DPTR

 米 OV

  @R1,A

 INC

  R0

 INC

  R1

 DJNZ

 R7,DP10

 米 OV

  R0,号 TE 米 P

 米 OV

  R1,号 4 DP12: 米 OV

  R7,号 8

 米 OV

  A,@R0 DP13: RLC

  A

 米 OV

  DIN,C

 CLR

  CLK

 SETB

 CLK

 DJNZ

 R7,DP13

 INC

  R0

 DJNZ

 R1,DP12 RET LED 米 AP: DB

 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5

 DB

 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B

 DB

 58H,5EH,7BH,71H,0,40H ;C,D,E,F, , - DELAY:

 米 OV R5, 号 10 DLOOP0: 米 OV

 R6, 号 40 DLOOP1: 米 OV

 R7, 号 123 DLOOP2:

 NOP

 NOP

 DJNZ R7, DLOOP2

 DJNZ R6, DLOOP1

 DJNZ R5, DLOOP0

 RET

  END

  仿真图

  DIN2CLKDIN3 DIN4DINDIN4CLKDIN3CLKDIN2CLKCLKDIN0000123434340021 12000XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U?AT89C51D2LED-GREEND6LED-GREEND5LED-GREEND9LED-GREEND0LED-REDD11LED-REDD3LED-REDD8LED-REDSRG8RC1/->& 1D1 324561081112913U274HC164R151SRG8RC1/->& 1D1 324561081112913U374HC164R251SRG8RC1/->& 1D1 324561081112913U474HC164R351SRG8RC1/->& 1D1 324561081112913U574HC164R451dx

相关热词搜索: 交通灯 汇编语言 课程设计