单片机交通灯实验

更新时间:2024-05-16 18:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

一.课程设计的目的 ------------------------------------------------------------ 二.课程设计用到的仪器和器件 -------------------------------------------- 三.结构及原理(包括系统框图) ----------------------------------------- 四.程序设计及流程图 --------------------------------------------------------- 五.装调及应用 ------------------------------------------------------------------- 六.课程设计发生的问题和心得体会 ------------------------------------- 七.附录(附图) ----------------------------------------------------------------

北京理工大学珠海学院实习实践

一.课程设计的目的

1、加深对单片机的基本概念、基本原理、基本结构的理解;

2、通过课程设计提高学生单片机的开发能力,包括硬件设计和软件编程的能力。

二.课程设计用到的仪器和器件

1、硬件:PC机和XLISP系列单片机仿真仪各一台;

2、器件:300欧电阻12个,红黄绿灯各4,USB数据线及单排插针若干,各种连线与辅助工具设施。

3、软件:keil软件

三.结构及原理(包括系统框图)

1)软件结构:

计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。 显示程序模块:完成12个红黄绿LED的显示驱动。

开始

初始化

判断当前状态

调用紧急 调用正常

状态子程序 运行子程序

图(1) 程序流程图

交通控制算法实现

定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。中断程序的流程图如图所示。

- 1 -

北京理工大学珠海学院实习实践

恢复现场 红灯全亮维持10S 保护现场 INT0 中断返回 图(2)中断子程序

转入INT0中断服务入口 保护现场

2)硬件结构:

- 2 -

中断当前程序,保护断点 CPU响应中断 调用控制函数statusdis运行紧急控制 恢复现场 中断返回 图(3)INT0紧急情况中断处理流程图

北京理工大学珠海学院实习实践

3)系统工作:

正常时信号灯控制:

(1)初始状态东西南北全为红灯(5S); (2)东西红灯、南北绿灯(10-20S);

(3)东西红灯、南北绿灯转黄灯闪烁5-8次; (4)南北红灯、东西绿灯(10-20S);

(5)南北红灯、东西绿灯转黄灯闪烁5-8次; (6)转(2)。 有急救车通过时:

两个方向的交通灯全为红(20S),急救车通过后恢复正常信号。

四.程序设计及流程图

- 3 -

北京理工大学珠海学院实习实践

程序:

ORG 0000H LJMP START ORG 0003H

LJMP EXT0 ;跳到紧急模块 ORG 0030H

START:MOV IE,#10000001B ;INT0中断允许,总允许 MOV IP,#00000001B ;串口中断优先 MOV TCON,#00000000B ;TCON.0=0电平触发 MOV SP,#70H ;堆栈指针 MOV P1,#0xf6 ;全红 LCALL delay5s ;5秒

tiao:MOV P1,#0xde ;东西红,南北绿 LCALL delay10s ;黄灯闪

MOV R1,#5 LOOP:MOV P1,#0xee LCALL delay1s ;10MS MOV P1,#0xfe LCALL delay1s DJNZ R1,LOOP

MOV P1,#0xf3 ;东西绿,南北红 LCALL delay10s ;黄灯闪

MOV R1,#5 LOOP1:MOV P1,#0xf5

LCALL delay1s ;10MS MOV P1,#0xf7

LCALL delay1s DJNZ R1,LOOP1 LCALL tiao ;紧急情况

EXT0:PUSH ACC ;把a压入堆栈 PUSH PSW ;保存现场 SETB RS0 CLR RS1 ;设定工作寄存器1 MOV P1,#0xf6 ;全红 MOV R7,#2

LOOP5:LCALL delay10s ;20秒 DJNZ R7,LOOP5 POP PSW ;恢复现场 POP ACC RETI

- 4 -

北京理工大学珠海学院实习实践

;延时程序1

delay5s:MOV R3,#5 ;5S D1S:MOV R4,#100 ;1S

D10ms: MOV R5,#10 ;10MS D1ms:MOV R6,#249 DL:NOP NOP DJNZ R6,DL DJNZ R5,D1ms DJNZ R4,D10ms DJNZ R3,D1S RET ;延时程序2

delay10s:MOV R3,#10 D1S1:MOV R4,#100 ;1S

D10ms1: MOV R5,#10 ;10MS D1ms1:MOV R6,#249 DL1:NOP NOP DJNZ R6,DL1 DJNZ R5,D1ms1 DJNZ R4,D10ms1 DJNZ R3,D1S1 RET ;延时程序3

delay1s:MOV R4,#100 ;1S

D10ms2: MOV R5,#10 ;10MS D1ms2:MOV R6,#249 DL2:NOP NOP DJNZ R6,DL2 DJNZ R5,D1ms2 DJNZ R4,D10ms2 RET End

五.装调及应用

1)软件调试

软件调试主要是利用proteus仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。

- 5 -

北京理工大学珠海学院实习实践

2)硬件调试

硬件调试主要是检测硬件电路是否有短路、断路、虚焊等。具体步骤及测试结果如下:

(1)检查电源与地线是否全部连接上,用万用表对照电路原理图测试各导线是否完全连接,对未连接的进行修复。

(2)参照原理图,检查各个器件之间的连接是否连接正确,是否存在虚焊,经测试,各连接不存在问题。

(3)以上两项检查并修复完后,给该硬件电路上电,电源指示灯点亮。

3)系统功能调试

通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘没有正确的做出来,没

有键紧急盘电路,情况也可以通过一个按钮来采取相关的动作。

- 6 -

本文来源:https://www.bwwdw.com/article/qrn7.html

Top