IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 交通灯设计制作 -> 正文阅读

[嵌入式]交通灯设计制作

一、硬件设计

本设计采用单片机作为主控制器。东西和南北方向各有两个数码管,分别显示时间,东西和南北的时间是不一样的哦,要相差黄灯的时间才是正确的。74HC245芯片驱动数码管,使数码管更亮,白天看的很清楚哦~~数码管倒计时显示时间。可以分别设置主干道和支干道的通行时间。有紧急模式,可以特种车辆优先通行或交通事故应急处理。

二、设计功能

本设计能模拟基本的交通控制系统共四个二位阴极数码管,东南西北各一个显示时间,四个数码管的阴极都接到STC89C51的P1口,阳极接到74HC245芯片上,通过P0口控制74HC245芯片,起到驱动放大作用。共12个发光二极管,四个路口每个路口各有一个红(禁行)、黄(警告)发光二极管,四个路口的二极管接到P2口,按键接P3口。本系统采用STC89C51单片机以及单片机最小系统和74HC245驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。本单片机控制交通灯系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。

三、设计原理图

四、软件程序

1、软件流程图

2、主程序源码

#include?<reg51.h> //头文件

#define?uchar?unsigned?char

#define?uint??unsigned?int //宏定义

uchar?data?buf[4]; //秒显示的变量

uchar?data?sec_dx=20;?? //东西数默认

uchar?data?sec_nb=30; //南北默认值

uchar?data?set_timedx=20; //设置东西方向的时间

uchar?data?set_timenb=30; //设置南北方向的时间

int?n;

uchar?data?countt0,countt1;//定时器0中断次数

//定义6组开关

sbit??k4=P1^4;??????//切换方向

sbit??k1=P1^5; //时间加

sbit??k2=P1^6; //时间减

sbit??k3=P1^7; //确认

sbit??k5=P3^4; //禁止

sbit??k6=P3^5; //夜间模式

sbit?smg_we1?=?P1^2; ??//数码管位选定义

sbit?smg_we2?=?P1^1;

sbit?smg_we3?=?P2^7;

sbit?smg_we4?=?P2^6;

sbit?Red_nb=P2^3; //南北红灯标志

sbit?Yellow_nb=P2^4; //南北黄灯标志

sbit?Green_nb=P2^5;?????//南北绿灯标志

sbit?Red_dx=P2^0; //东西红灯标志

sbit?Yellow_dx=P2^1; //东西黄灯标志

sbit?Green_dx=P2^2; //东西绿灯标志

sbit?Buzz=P1^0;

bit?set=0; //调时方向切换键标志?=1时,南北,=0时,东西

bit?dx_nb=0; //东西南北控制位

bit?shanruo=0; //闪烁标志位

bit?yejian=0; //夜间黄灯闪烁标志位

uchar?code?table[11]={ //共阴极字型码

0x3f,??//--0

0x06,??//--1

0x5b,??//--2

0x4f,??//--3

0x66,??//--4

0x6d,??//--5

0x7d,??//--6

0x07,??//--7

0x7f,??//--8

0x6f,??//--9

0x00???//--NULL

};

//函数的声明部分

void?delay(int?ms); //延时子程序

void?key(); //按键扫描子程序

void?key_to1(); //键处理子程序

void?key_to2();

void?key_to3();

void?display(); //显示子程序

void?logo();??? //开机LOGO

void?Buzzer();

//主程序

void?main()

{

TMOD=0X11; ??? //定时器设置

TH1=0X3C;

TL1=0XB0;

TH0=0X3C; //定时器0置初值?0.05S

TL0=0XB0;

EA=1; //开总中断

ET0=1; //定时器0中断开启

ET1=1; ???//定时器1中断开启

TR0=1; //启动定时0

TR1=0; ? //关闭定时1

EX0=1; //开外部中断0

EX1=1; //开外部中断1

????logo(); //开机初始化

P2=0Xcc; //?开始默认状态,东西绿灯,南北黄灯???

????sec_nb=sec_dx+5;? //默认南北通行时间比东西多5秒

while(1) ??//主循环

{ ?

key();? //调用按键扫描程序

display();? //调用显示程序

}

}

完整资料:交通灯设计制作

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:44:29  更:2022-09-21 00:47:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 16:01:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码