基于51单片机实现LED模拟交通灯(Proteus仿真)
wechat:【嵌入式工程师成长日记】
具体功能实现
南北红灯亮,东西绿灯亮;南北绿灯亮,东西红灯亮;在红绿灯转换过程中,黄灯闪烁5次。
使用器件:
若干电阻、4只LED红灯、4只LED绿灯、4只LED黄灯、AT89C51芯片
Proteus仿真原理图:
Proteus仿真图:
wechat:【嵌入式工程师成长日记】
知识介绍:
Proteus布线
为了让整个原理图看上去简洁明了,我们对元器件的导线进行标号,而不是直接和芯片相连。
LED低电平有效
LED的特性是单向导通,只有当阳极的电压大于阴极的电压才能导通。在仿真图中LED的阳极接了电源,因此阴极我们置0方可导通。
主要代码(C语言)KEIL5实现:
#include <REGX52.H>sbit RED_A = P0^0; //east and west
sbit YELLOW_A = P0^1;
sbit GREEN_A = P0^2;sbit RED_B = P0^3; //north and south
sbit YELLOW_B = P0^4;
sbit GREEN_B = P0^5;unsigned char type = 1;
unsigned char count=0;void delay(unsigned int x){unsigned char i;while(x--){for(i=0;i<120;i++);}
}void light(){switch(type){case 1: //GREEN_A , RED_BRED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1; delay(2000);type=2;break;case 2:delay(300);YELLOW_A=~YELLOW_A;GREEN_A=1;if(++count!=10) return;count=0;type=3;break;case 3: // RED_A,GREEN_BRED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=1;GREEN_B=0;case 4:delay(300);YELLOW_B=~YELLOW_B;GREEN_B=1;if(++count!=10) return;count=0;type=1;break; }
}void main(){while(1){light();}
}
问题解答 :
问:为什么P0口要接上拉电阻?
答:因为P0口是准双向口,即是开漏输出的,当P0口作为并行口使用时,只能输出低电平,不能输出高电平,需要接一个上拉电阻才能输出高电平。
问:Proteus如何快速布线?
答:按键按下大写的A,输入指令net=P0.#,然后点击“单击对象”,最后想要给哪根导线标号只需点击一下即可。
wechat:【嵌入式工程师成长日记】
基于51单片机实现LED模拟交通灯(Proteus仿真)相关推荐
- 51单片机 74HC154译码器制作流水灯+Proteus仿真
51单片机 74HC154译码器制作流水灯+Proteus仿真 Proteus仿真 实例代码 #include <reg52.h> #define uint unsigned int #d ...
- 【036】基于51单片机的电子时钟与秒表Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的电子时钟与秒表proteus仿真设计一份: (2).基于51单片机的电子时钟与秒表proteus仿真设计keli源代码一份: (3).基于51单片机的电子时 ...
- 【041】基于51单片机的自动音乐播放器Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的自动音乐播放器系统proteus仿真设计一份: (2).基于51单片机的自动音乐播放器系统proteus仿真设计keli源代码一份: (3).基于51单片机 ...
- 基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频)
基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频) 仿真图proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0031 ...
- 单片机入门led模拟交通灯
led模拟交通灯 #include <reg52.h> #define uchar unsigned char #define uint unsigned intsbit RED_A=P0 ...
- 基于51单片机自动数字电压表PCF8591 TLC2543 TL548 proteus仿真汇编程序设计
硬件设计1 基于51单片机+PCF8591 ADC的仿真电路图: A. 基于51单片机和PCF8591的电压表,具有仿真图/源程序: B. 由数码管作为显示器: C.测试电压范围为0~5V,精度约为0 ...
- 基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料)
资料编号:133 讲解视频: 133-基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为主控,LCD1602显示当前温度和可燃气体浓 ...
- 基于51单片机的全自动智能洗衣机控制系统Proteus仿真(仿真+源码+全套资料)
资料编号:108 设计功能: 1.对水温实时显示 2.显示滚筒转速 3.显示运行倒计时 4.能通过按钮分别设置洗涤时间和脱水时间 5.运行过程为:加热--洗涤--脱水 具体功能请看下方演示视频 10 ...
- 基于51单片机的简易电子数字计算器Proteus仿真
资料编号:089 采用51单片机,使用矩阵键盘,可以计算加减乘除,进行简易计算: 全套资料齐全:具体功能请看下面演示视频 89-基于51单片机的简易电子数字计算器Proteus仿真 单片机最小系统介绍 ...
最新文章
- 7行Python代码,搭建可以识花的机器学习App|视频教程
- Kali Linux安装谷歌输入法
- 重磅!Nature盘点年度十佳论文,生命科学占据半壁江山,中国学者表现亮眼
- ubuntu 16.04系统中nvidai、cuda、cudnn安装及注意事项
- mysql中表的约束,主键外键唯一键
- Rhel6-piranha配置文档
- python去掉最高分和最低分_【Excel】去掉一个最高分,一个最低分,求平均
- Python创建二维数组
- (附源码)基于PHP在线考试系统的设计与实现 毕业设计 032028
- 2022年数据库系统工程师考试大纲
- PyG教程(2):图数据
- nyoj54小明的存钱计划
- FL Studio 20音乐制作教程
- 微信之旅——微信公众号
- Beta版本——第七次冲刺博客
- 【如何配置环境变量】
- Linux之音视频入门
- 获投5亿元E轮融资,百分点能否成为数据+AI领域的独角兽?
- php挂载webdav,PHP上传文件到WebDav
- 大数据架构及行业大数据应用