问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用Keil编写程序和Proteus模拟交通灯信号系统

创作时间:
作者:
@小白创作中心

使用Keil编写程序和Proteus模拟交通灯信号系统

引用
CSDN
1.
https://m.blog.csdn.net/2301_81077701/article/details/143649745

本文将详细介绍如何使用Keil编写程序和Proteus模拟交通灯信号系统。通过本文,读者将学习到如何使用Proteus进行仿真绘制,如何使用Keil编写代码,以及如何实现交通灯信号系统的功能。

一、使用Proteus 8进行仿真绘制

  1. 此次问题比较简单,使用一个C51单片机即可完成对红绿灯系统的控制。
  2. 所需元器件:1个AT89C1单片机,1个VCC(电源),3个红LED,3个绿LED,3个黄LED,4个二位阴极数码管。
  3. 接法:所有连线使用网格标线,LED使用共阳极接法。

二、使用Keil编写代码

  1. 准备工作

  2. 主函数

  3. 定时器中断

void timer0 () interrupt 1
{
     static int count=0;	  
     TH0=(65536-50000)/256; 
     TL0=(65536-50000)%256;
     count++;
     if(count==20)
     {
      count=0;
      time++;
     
     if(time==20)
     {
       P0=0xDB;	   	  
     }
     else if(time==21)
     {
       P0=0xDF;
     }
     else if(time==22)
     {
       P0=0xDB;	   	  
     }
     else if(time==23)
     {
       P0=0xDF;
     }
     else if(time==24)
     {
       P0=0xDB;	   	  
     }							  
     
     
     				       
     else if(time==25)
     {
         P0=0xDF;
     }							 
     else if(time==30)
     {
         P0=0xFC;
     }						     
     else if(time==50)
     {
       P0=0xF6;
     }
     else if(time==51)
     {
       P0=0xFE;
     }
     else if(time==52)
     {
       P0=0xF6;
     }
     else if(time==53)
     {
       P0=0xFE;
     }
     else if(time==54)
     {
       P0=0xF6;
     }							 
     else if(time==55)
     {
       P0=0xFE;	 
     }							 
     else if(time==60)
     {
       time=0;
       P0=0xCF;
     }							
     }
         
}  

代码特别提要

  1. 数码管的显示
  2. 定时器的使用

三、烧录程序、功能实现

  1. 南北红灯倒计时30秒,东西绿灯倒计时20秒
  2. 南北红灯倒计时还有10秒,东西绿灯变黄灯并闪烁,倒计时5秒
  3. 南北红灯倒计时还有5秒,东西黄灯变无,倒计时20秒
  4. 南北红灯变绿灯并倒计时20秒,东西无变红灯并倒计时30秒
  5. 南北绿灯变黄并倒计时5秒,东西红灯倒计时还有10秒
  6. 南北黄灯变无并倒计时5秒,东西红灯倒计时还有5秒

以下是系统运行的截图:






© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号