| |
|
开发:
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例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/25 20:41:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |