• 单片机原理及应用实验一交通信号系统(基于Proteus仿真)


    1.实验内容与要求

    交通信号系统是保障交通安全高效的重要设施。51单片机价格低廉、体积小、低功耗、抗干扰性好等优点,适用于交通信号系统中,本实验利用51单片机IO口的开关量的输入输出功能及内部CPU运算功能,设计一个简易的交通信号灯系统,要求如下:

    1. 本设计用于南北、东西向交叉的十字路口,每组信号灯由红、黄、绿三个信号灯组成,如图所示:
    2. 信号灯有三种工作模式,分别是:正常工作模式、全黄闪模式、全红模式。正常模式工作过程为:两个方向的信号灯依次:绿高亮10s—>黄灯闪3次,每次1sà红灯亮10s,两个方向的信号交替进行;全黄闪模式工作过程为两个方向的黄灯同时闪烁,为慢行状态;全红模式为两个方向的红灯同时亮,为禁止通行模式。
    3. 模式切换通过设计按扭进行。
    4. 在keil中利用C51语言进行程序设计,利用ptoteus设计电路并进行仿真。

    2.实验过程

    包括:建立工程、资源、样式、库等具体操作说明。

    Proteus建立一个新建一个项目,分别添加AT89C51,分别两个黄色红色绿色LED,两个button按键,若干个vcc和gnd。

    3.系统组成

    包括:本系统包括的软硬件功能模块及相互关系,应用图表示并有简要说明

    6个LED都通过共阳连接AT89C51 因此io为低电平的时候 LED灯点亮。

    K1,K2两个按键分别连接AT89C51 P1.0 P1.1两个IO口,当按键按下时,IO口为低电平,松开则为高电平。

    东西向的红黄绿LED灯分别对接AT89C51 p2.0,p2.1,p2.2三个io口

    南北向的红黄绿LED灯分别对接 AT89C51P2.3,P2.4,P2.5 三个io口

    4.模块功能及代码

    包括:每个模块的功能说明及详细代码,代码的关键部分应的注解

    为实现三种工作模式 设定了如下几个函数

    部分代码如下:

    1. #include "reg52.h"
    2. sbit LED0=P2^0;
    3. sbit LED1=P2^1;
    4. sbit LED2=P2^2;
    5. sbit LED3=P2^3;
    6. sbit LED4=P2^4;
    7. sbit LED5=P2^5;
    8. sbit K1=P1^0;
    9. sbit K2=P1^1;
    10. void delay(unsigned int time)
    11. {
    12. unsigned int j = 0;
    13. for(;time>0;time--)
    14. for(j=0;j<125;j++);
    15. }
    16. void Normal()//正常模式
    17. {
    18. LED0=1; //东西红灯熄灭
    19. LED2=0;//东西绿灯
    20. LED3=0;//南北红灯
    21. delay(5000);
    22. LED2=~LED2;//东西绿灯熄灭
    23. LED1=0;
    24. delay(500);
    25. LED1=1;
    26. delay(500);
    27. LED1=0;
    28. delay(500); //东西黄灯闪烁
    29. LED1=1;
    30. delay(500);
    31. LED1=0;
    32. delay(500);
    33. LED1=1;

    部分运行效果图:

     包括:程序运行过程的主要界面及说明

           从keil5中输出了一个Hex文件,在proteus中的AT89C51中打开该Hex文件。

    K1K2松开效果图

    K1摁下K2松开效果图

     具体代码效果图文件等资源私信哦

  • 相关阅读:
    Vue 全组件 局部组件
    Spring响应式高并发编程
    ES6解构赋值的使用说明
    机器学习吴恩达课程学习笔记 Part1——从机器学习概念到线性回归
    Docker部署前后端服务示例
    Doris 5 处理Sentinel-1 生成干涉图 interferogram
    华为云云耀云服务器L实例评测|评测使用
    redis GEO使用及基本原理——实现对经纬度的操作
    Java——Spring的控制反转(一文详解IOC)
    ThinkAutomation Crack
  • 原文地址:https://blog.csdn.net/WZY22502701/article/details/127592147