久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1261|回復: 0
打印 上一主題 下一主題
收起左側

keil編程+51單片機仿真交通燈

[復制鏈接]
跳轉到指定樓層
樓主
使用的Proteus軟件來實現交通燈的仿真變化,系統的軟件設計分為三個模塊:動態顯示模塊、 交通燈工作模塊、定時/計數器模塊,初次實驗有些問題,再次仿真又ok了,各位大佬看看什么問題。
以單片機AT89C51為核心,12 個發光二極管分成 4 組紅綠黃三色燈構 成交通信號燈指示模塊,4 個 LED 以西北方向各 1個分成 2 組構成倒計時顯示模塊選型如下

使用keil 4編程

結果如下
還望各位大佬指正,小白一枚,共同學習進步!

#include <reg51.h>       //51單片機頭文件
#define uint unsigned int
#define uchar unsigned char     //定義數據類型
#define ON 0         //定義狀態開
#define OFF 1
char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};     //共陰極數碼管賦值
sbit N_R=P3^7;     //輸出端口定義//南北紅燈
sbit N_G=P3^6;    //南北綠燈
sbit N_Y=P3^4;    //南北黃燈

sbit W_R=P3^3;    //東西紅燈
sbit W_G=P3^2;    //東西綠燈
sbit W_Y=P3^0;    //東西黃燈

sbit LED_C1=P2^0;   //南北方向數碼管個位控制端口
sbit LED_D1=P2^1;
sbit LED_A1=P2^2;    //東西方向數碼管個位控制端口
sbit LED_B1=P2^3;
uchar EW=30,NS=25,X=30,Y=25,Z=30,SHU=30;
uchar flag;
void init(void)    //定時器 T0初始化
{
TMOD=0x01;
TH0=0x3C;
TL0=0xB0;
EA=1;      //開總中斷
ET0=1;
TR0=1;       //啟動T0
}
void timer0() interrupt 1     //倒計時函數
{ TMOD=0x01;    //設置 T0定時方式1
  TH0=0x3C;         //高八位初值    5ms 初值
  TL0=0xB0;        //低八位初值
  EA=1;
  ET0=1;
  TR0=1;
  flag++;
  if(flag==20)     //1秒計時每1s時間減一
  {
    EW--;
  NS--;
  X--;
  Y--;
  Z--;   SHU--;
  flag=0;
  }
}
void delay(uchar z)     //延時函數
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display1(uchar num1,uchar num2)  //南北數碼管顯示函數
{
P0=led_mod[num1];     //顯示
LED_C1=ON;        //個位顯示開
delay(1);         //延時
LED_C1=OFF;         //個位顯示關
P0=led_mod[num2];
LED_D1=ON;       //十位顯示開
delay(1);
LED_D1=OFF;
}
void display2(uchar num3,uchar num4)   //東西數碼管顯示函數
{
P1=led_mod[num3];
LED_A1=ON;
delay(1);
LED_A1=OFF;
P1=led_mod[num4];
LED_B1=ON;
delay(1);
LED_B1=OFF;
}
void main()            //主函數
{
int i;
N_R=ON;W_R=ON;         //初始南北東西紅燈均亮
for(i=0;i<210;i++)
{
   delay(10);
}
N_R=OFF;W_R=OFF;    //南北東西紅燈關
  while(1)
  {
  while(1)   { init();
   N_G=ON;W_R=ON;       //開始南北綠燈亮 東西紅燈亮
   while(EW!=0)
   {
   display1(EW/10,EW%10);     //東西方向紅燈 20s
   display2(NS/10,NS%10);      //南北方向綠燈 25s
   while(EW==5)
    {
     while(X!=0)
     {
       display1(EW/10,EW%10);    //東西方向紅燈 5s
    display2(X/10,X%10);     //南北方向黃燈 5s
    N_G=OFF;N_Y=ON;     //南北紅燈關,黃燈開
     }
    }
     }
  W_R=OFF;N_G=OFF;N_Y=OFF;   //東西方向紅燈關閉 南北方向綠燈關 南北方向黃燈關
閉  
  EW=30,NS=25,X=30,Y=25,Z=30,SHU=30;    //計數重新賦值
  while(1)
  { init();
   N_R=ON;W_G=ON;  //南北紅燈開 東西綠燈開 kai
   while(Z!=0)
   {
   display1(Z/10,Z%10);      //東西方向紅燈 30s
   display2(Y/10,Y%10);    //南北方向綠燈25s
   while(Z==5)
    {
     while(SHU!=0)
     {
       display1(Z/10,Z%10);     //東西方向紅燈 5s
    display2(SHU/10,SHU%10);     //南北方向黃燈 5s
    W_G=OFF;W_Y=ON;        //東西紅燈關閉 東西黃燈打開
     }
    }
     }
  N_R=OFF;W_G=OFF;W_Y=OFF;
  EW=30,NS=25,X=30,Y=25,Z=30,SHU=30;
  break;   //跳出當前循環語句
   }
}
}
}

51hei圖片20231229152233.png (9.27 KB, 下載次數: 62)

51hei圖片20231229152233.png

51hei錄屏20231229151202.gif (744.85 KB, 下載次數: 59)

51hei錄屏20231229151202.gif

下載.png (51.23 KB, 下載次數: 63)

下載.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人久久18免费网站 | 五月婷婷视频 | 久久av网站 | 在线中文视频 | 亚洲视频免费观看 | 国产欧美在线一区 | 一区二区三区四区在线 | 国产成人99久久亚洲综合精品 | 欧美极品在线播放 | 国产精品久久久久久久久久久久 | 成人在线免费观看视频 | 91影院在线观看 | 亚洲综合国产 | 国产91丝袜 | 亚洲专区在线 | 国产2区| 激情一区二区三区 | 成人影院网站ww555久久精品 | 日日日日日日bbbbb视频 | 国产a区| 午夜婷婷激情 | 亚洲国产一区二区三区在线观看 | 黄色毛片一级 | 成人一区二 | 久久久91 | 狠狠爱一区二区三区 | 亚洲日韩中文字幕一区 | 国产三区视频在线观看 | 91精品一区二区三区久久久久 | 中文字幕乱码视频32 | 一区二区三区四区在线视频 | 欧美激情精品久久久久久 | 99综合| 久久久久国产 | 欧美性猛片aaaaaaa做受 | 黄色免费观看网站 | 亚洲一区| 欧美 日韩 中文 | 中文字幕精品视频 | 亚洲高清av在线 | 午夜精品一区二区三区免费视频 |