文档介绍:单片机课程设计报告
题目
交通信号灯控制系统
班级
集成电路设计与集成系统102班
学号
1008040219
姓名
杜彤彤
指导老师
马兴录
完成时间
2013-4-23
目录
第一部分:需求分析
第二部分:设计方案
第三部分:详细设计
第一部分
需
求
分
析
题目要求:
以单片机为核心,设计一个简单交通灯控制系统,设A(东西)车道与B(南北)车道交叉组成十字路口。设计要求如下:
用发光二极管模拟交通信号灯、两个方向分别设置红、绿、黄3种通行指示灯。
(2)A、B两车道轮流放行, A车道放行40秒,其中5秒用于警告,B 车道放行35秒,其中5秒用于警告。
(3)用数码管显示数字。
(3)两个方向放行的时间可以通过键盘设置(运用串口)。
设计思想:利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器控制十字路口红绿灯,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。
第二部分
设
计
方
案
一. 单片机的特点:
(1)性价比高,开发周期短,易于产品化,
(2)集成度高,可靠性好,抗干扰性强,
(3)功能完善,接口多样,
(4)低功耗、低电压
一般电源供电电压在5~3V范围内单片机都能正常工作,供电的下限可达1~2V。
(5)总线多样,易于扩展
单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。外部总线增加了I2C及SPI等串行总线方式, 可根据需要进行并行或者串行扩展。
二. AT89C51单片机简介
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:
·与MCS-51 兼容
·4K字节可编程闪烁存储器
·寿命:1000写/擦循环
·数据保留时间:10年
·全静态工作:0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
三. 设计步骤
SP3仿真软件按下列要求绘制仿真实例
用4个共阳极LED数码管的分别表示东、西、南、北四个方向路口,以数码管的上、中、下3个横段分别代表红、黄、绿3盏灯
用P1^0--P1^3口分别输出控制模拟交通灯的状态显示的数码管和倒计时显示数码管的状态码
P2^0—P2^6控制数码管的位选
按照基本要求编制程序实现相应功能。
第三部分
详
细
设
计
硬件和软件设计
硬件电路图
2. 程序流程图
主程序
开始
设置中断工作方式、触发方式、初始化
是否有中断
运行过程
执行中断
Y
N
中断结束,退出中断,返回
LED显示程序
Display
获取当前通行剩余时间送h、l
E/S/W/N状态送P0口
位选码送P3口
倒计时个/十位送P1口
调用Delay延时
i++;j++
四位显示完?
Y
N
返回主程序
程序源代码
#include<>
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar buffer[]={0,0,0,0};
uchar shijian[]={0,0,0,0,0};
sbit red_a=P0^0;
sbit yellow_a=P0^1;
sbit green_a=P0^2;
sbit red_b=P0^3;
sbit yellow_b=P0^4;
sbit green_b=P0^5;
uchar operati