下载此文档

单片机 交通信号灯.doc


文档分类:通信/电子 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
哈尔滨工业大学(威海)
课程实验报告
课程单片机原理及接口技术B
实验题目交通信号灯
学号 110140214
姓名陈鹏
指导教师金涛
2014 年 6 月 30 日
实验一交通信号灯
实验目的
熟悉中断初始化编程方法。
使用的模块
单片机及晶振模块
本实验选用的是Atmel公司的AT89C51单片机,由石英晶体振荡器产生单片机工作时所需的时钟信号,振荡器采用的是12M的晶振,使其机器周期为1us,方便程序的计算和编译。
LED显示模块
该部分由12个LED分成南北,东西两组作为十字路口交通信号灯,每个路口分别有红黄绿三种颜色的LED,同一方向的亮灭状态相同,不同方向的相反。每个LED灯串联一个220Ω的电阻,以限定通过LED的电流。
原理图
步骤简述
连续运行程序,LED显示信号灯状态。程序运行时模拟了十字路口交通信号灯的切换过程与显示效果。
源程序中用6行sbit对东西和南北向的红、黄、绿指示灯分别进行定义,这样便于对它们进行单独控制;交通灯的四种状态由switch case语句进行控制。
此外,可将交通指示灯切换时间设置得较短,这样可在调试的时候较快观察到运行效果,可在调试运行本题目后修改代码,使指示灯切换过程更接近于实际的交通指示灯切换过程。
结果和分析
信号灯状态转换过程:初始状态0为南北红灯,东西绿灯通车;状态1
,东西绿灯灭、黄灯闪烁5次,南北红灯不变;状态2东西红灯,南北绿灯通车;状态3南北绿灯灭、黄灯闪烁5次,东西红灯不变。最后循环到状态0。各个状态的持续时间由程序调定。
程序流程图
开始
系统初始化
东西绿灯亮南北红灯亮
东西黄灯闪烁南北红灯亮
东西南北换向

源程序
#include <> /*头文件*/
#define uchar unsigned char
#define uint unsigned int
/*定义两组红绿黄灯共六个标志位*/
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 Flash_Count = 0, Operation_Type=1;
void DelayMS(uint x) /*500ms延迟函数*/
{
uchar i;
while (x--) for (i=0;i<120;i++);
}
void Traffic_Light() /*交通灯函数,包含四个状态*/
{
switch (Operation_Type)
{
case 1: /*东西方向绿灯亮,南北方向红灯亮*/
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELL

单片机 交通信号灯 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yunde113
  • 文件大小0 KB
  • 时间2014-08-09
最近更新