单片机模板

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

单片机课程设计示例(交通灯控制)

1 课题设计内容

对基于单片机的交通灯控制系统进行设计。所设计的系统功能为:以MCS-51系列单片机作为控制核心,在东西南北四个方向设置左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间。在出现紧急情况时,可以由交警手动实现全路口车辆禁行而行人通行状态,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。

2 设计方案论证

方案二:采用20脚、片内带2kB Flash ROM的AT89C2051单片机作为控制器,左拐、右拐、直行及行人4种通行指示采用16×16点阵双色LED发光管,通行倒计时显示也采用16×16点阵LED发光管。LED点阵的列驱动采用74LS595,以实现串行端口扩展,行译码采用4/16译码器74LS154,74LS154生成16条行选通信号线,每条行线上需要较大的驱动电流,选用大功率三极管作为驱动管。方案二结构框图如图4-2所示,

方案三:采用AT89C2051单片机作为控制器,左拐、右拐、直行、行人通行指示及通行倒计时指示采用单块LCD液晶点阵显示器。

三种方案的特点比较如下:方案一具有电路简单,设计方便,显示亮度高,耗

图4-2 方案二:采用16×16点阵LED发光管设计的交通灯控制系统结构框图电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺点是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;方案三设计占用单片机的端口最少,硬件也少,耗电也最少,虽然显示图案也很精美,但由于亮度太暗,晚上还得开背光灯,不够实用。可见方案一优于其他两种方案,因此本设计选用方案一:采用LED动态扫描的方案进行设计。

3 系统硬件设计

采用LED动态扫描的交通灯控制系统电路原理图如图4-3所示系统由控制模块、通行灯显示模块、时间显示模块、电源模块四部分组成。

通行灯显示模块如图4-5所示(以西路口和北路口为例)。通行灯指示采用高亮共阴红绿双色发光二极管,左拐、右拐、直行及行人各一个。双色发光二极管的共阴极通过电阻接地,阳极接P1口或P2口(南北为P1口,东西为P2口),经74HC244控制。当发光电流为6mA时,限流电阻按公式R=(5-1.8)/0.006计算,取标称值为510Ω。由于通行时南北双向指示牌相同,东西双向指示牌相同,因此每个端口应具有12mA的驱动电流能力,在单片机的输出口接驱动电路74HC244,以保护单片机的输出端口。

4.3.3 时间显示模块

通行剩余时间显示模块如图4-6所示(以北路口为例)。

3

路口通行剩余时间采用高亮红色7段共阳LED发光数码管显示。如用单片机吸收电流驱动,列扫描驱动使用三级管,按每段6mA电流算,全显示字型“8”时,每个数码管需6mA×8=48mA。由于时间显示每个路口相同,4组需192mA,因此设计中采用功率三极管S9012驱动。由于单片机每位段码输出口需吸收24mA电流,因此在电路设计中也使用了驱动集成块74HC244。

4.3.4 电源电路

电源电路如图4-7所示。整个系统采用的电源电压只需+5V电压,将交流电经变压器变换为15V交流电,再用整流桥得到13.5V左右的直流电,采用不可调的3端稳压器

图4-6 时间显示模块电路

图4-7 电源电路图4-8 AT89S52引脚功能

4 系统软件设计

交通灯控制系统软件主要分为主程序、定时器中断服务子程序、特种车中断服务子程序三部分。

4.1 主程序

主程序主要负责总体程序管理功能,包括初始化部分与人机交互设定部分。由于采用动态扫描方式显示时间,因此主程序大部分时间是调用扫描显示程序。主程序流程图如图4-9所示。P3.7=0表示按下了自动/手动转换开关。

图4-9主程序流程图

初始化部分主要完成内存规划,定时器的工作模式、中断方式等的设定。由于子程序调用较多,因此初始化时堆栈指针设于80H处。定时器T0、T1设为16位定时器模式,定时时间为50mS,T0为秒计时用,T1为特种车通行秒计时用。

4.2 定时器中断服务子程序

定时器中断服务子程序主要用于车辆与行人的通行指示,按照通行规则,红绿灯控制转换逻辑表如表4-1所示。

通行规则如下:

A.车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1min(60S),各路右拐比直行滞后10S开放。

B.车辆南北向左拐、各路右拐,行人禁行。通行时间为1min(60S)。

C.车辆东西直行、各路右拐,东西向行人通行。东西向通行时间为1min(60S),各路右拐比直行滞后10S开放。

D.车辆东西向左拐、各路右拐,行人禁行。通行时间为1min(60S)。

交通灯的4种通行规则,是以给控制红绿灯端口送控制码的方式实现的。它的原理是,将按不同规则通行时的各路口的红绿灯亮灭情况转换为单片机端口控制码。红绿灯指示功能通过T0定时中断服务程序实现。

表4-1 路口通行方式控制码数据表

定时器T0定时溢出中断周期设为50ms,中断累计20次(即1S)时对120S倒计时

单元减一操作。设计中将4种通行规则分成几种不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制码分为5个时间段:120~110S、110~70S、70~60S、60~10S、10~0S。交通管理定时功能程序流程图如图4-10所示。

5 特种车中断服务子程序

总的程序清单见附录4。

6 算法分析

7.总结结论

附录一原理图

附录二PCB图

附录三交通灯控制程序清单

基于单片机的交通灯控制系统程序清单

;************************************************;

;交通灯控制系统程序;

;************************************************;

;******************初始化部分********************

TIME EQU 50H ;秒计数用

TIMESFR EQU 51H ;临时寄存器

CONR5 EQU 52H ;T1秒定时计数用

TIMED0 EQU 55H ;单向最大定时时间,直行开始,人行开

;始(120S)

TIMED1 EQU 56H ;各路右拐开始时间(110S)

TIMED2 EQU 57H ;前行结束提醒(70S)

TIMED3 EQU 58H ;前行结束,人行结束,左拐开始(60S)TIMED4 EQU 59H ;左拐结束提醒

TIMED5 EQU 5AH ;左拐结束

TIMED6 EQU 5BH

TIMED7 EQU 5CH

SN EQU P1 ;南北口

EW EQU P2 ;东西口

SCAN EQU P3 ;扫描口

LEDOUT EQU P0 ;段码口

SNEWFLAG BIT 09H ;东西口与南北口转换标志

;*************中断入口程序********************

ORG 0000H ;程序执行开始地址

LJMP START ;跳到标号START执行

ORG 0003H ;外中断0中断程序入口

RETI ;外中断0中断返回

相关文档
最新文档