单片机项目总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

长沙理工大学

单片机实训项目

学院:长沙理工大学城南学院

专业:工业电气自动化

班级:工电1102班

组员: 许亚波(201197250233)

梁锦文(201197250236)

刘占荣(201197250237)

时间:2014年6月16号—6月27日地点:金一电苑楼1B-902

指导老师:雷辉、刘铮、张辉、李红英

交通灯灯设计

一、任务设计要求

1、基本要求

交通信号灯的各种指示模式就

是用红,绿,黄3钟颜色按照特定的

时间和规律进行显示,在紧急情况下

还能进行应急处理,禁止所有方向的

车辆通行,四个路口的信号灯状态都

变成黄灯并闪烁,延时后全部变为红

灯,从而保证紧急车辆的即使通过。

十字路口交通灯以东西南北四个方向说明,当东西方向允许行车时,南北方向就会禁止车行,即此时的东西方向绿灯亮红灯灭,而南北方向的红灯亮绿灯灭;反则,当南北方向允许行车时,东西方向就会禁止车行,即此时的南北方向绿灯亮红灯灭,而东西方向的红灯亮绿灯灭。

2.系统控制要求如下:

正常情况下,首先东西方向绿灯亮,南北方向红灯亮60S;然后南北方向绿灯亮,东西方向红灯30S,东西方向和南北方向轮流放行。

有紧急情况时(用按键开关S0模拟),四个路口的信号灯都变成红灯,处理紧急情况.随后黄灯闪烁回复正常初始状态。

二、设计过程

1、设计方案确定

2、硬件电路设计

3、软件设计

(1)、绘制简易交通灯流程图

红黄绿灯发光二极管

行接口

AT89C51 单片机

电源

时钟保护

复位电路

按键开关

中断结束,退出中断,返回

(2)、编写源程序:

1.汇编程序

NB_R EQU P1.0

NB_Y EQU P1.1

NB_G EQU P1.2

DX_R EQU P1.3

DX_Y EQU P1.4

DX_G EQU P1.5

ORG 0000H

LJMP MAIN

ORG 0003H ;外部中断0的入口地址AJMP X0_INT

ORG 000BH ;T0中断的入口地址AJMP T0_INT

MAIN:

MOV TMOD, #01H

MOV TH0, #3CH ;定时50ms

MOV TL0, #0B0H

MOV R2, #20 ;定时1s

SETB TR0

SETB ET0

SETB PT0

SETB EX0

SETB IT0

SETB EA

MOV SP, #60H

D_X:

MOV P1, #0 ;关闭全部红绿灯SETB DX_G

SETB NB_R

MOV R3, #60

MOV R4, #55 ;东西通行时间DX_W1:

CJNE R4, #0, DX_DISP

MOV R4, #5 ;东西黄灯时间SJMP D_X_Y

DX_DISP:

CALL DISPLAY

SJMP DX_W1

D_X_Y:

CLR DX_G

DX_W2:

CJNE R3, #255, DX_DISP2

JMP N_B

DX_DISP2:

MOV A, R2

MOV C, ACC.3

MOV DX_Y, C

CALL DISPLAY

SJMP DX_W2

N_B: ;南北

MOV P1, #0 ;关闭全部红绿灯SETB NB_G

SETB DX_R

MOV R3, #25 ;南北通行时间MOV R4, #30

NB_W1:

CJNE R3, #0, NB_DISP

MOV R3, #5 ;南北黄灯时间SJMP N_B_Y

NB_DISP:

CALL DISPLAY

SJMP NB_W1

N_B_Y:

CLR NB_G

NB_W2:

CJNE R4, #0, NB_DISP2 SJMP D_X

NB_DISP2:

MOV A, R2

MOV C, ACC.3

MOV NB_Y, C

CALL DISPLAY

SJMP NB_W2 DISPLAY:

MOV DPTR, #TAB1 MOV A, R3

MOV B, #10

DIV AB

MOVC A, @A + DPTR MOV P0, A

MOV P2, #1

DJNZ R7, $

DJNZ R7, $

MOV P2, #0

MOV A, B

MOVC A, @A + DPTR MOV P0, A

MOV P2, #2

DJNZ R7, $

DJNZ R7, $

MOV P2, #0

MOV A, R4

MOV B, #10

DIV AB

MOVC A, @A + DPTR MOV P0, A

MOV P2, #4

DJNZ R7, $

DJNZ R7, $

MOV P2, #0

MOV A, B

MOVC A, @A + DPTR MOV P0, A

MOV P2, #8

DJNZ R7, $

DJNZ R7, $

MOV P2, #0

RET

INT0:

相关文档
最新文档