亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3708|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

求一份十字路口交通燈控制代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
一、簡(jiǎn)述
本項(xiàng)目為典型的LED顯示和中斷定時(shí)電路。利用定時(shí)器T0產(chǎn)生每10ms一次的中斷,每100次中斷為1s。對(duì)兩個(gè)方向分別顯示紅、綠、黃燈,已經(jīng)相應(yīng)的剩余時(shí)間即可。值得注意的是,需要意識(shí)到,A方向紅燈時(shí)間=B方向綠燈時(shí)間+黃燈緩沖時(shí)間這一常識(shí)。本項(xiàng)目使用的MAX7219芯片使用方法請(qǐng)參考題目3。
二、設(shè)計(jì)任務(wù)和要求
設(shè)計(jì)一個(gè)十字路口交通燈控制器。用單片機(jī)控制LED燈模擬指示。模擬東西方向的十字路口交通信號(hào)控制情況。東西向通行時(shí)間為80s,南北向通行時(shí)間為60s,緩沖時(shí)間為3s。

求代碼,急用,謝謝各位大佬!!!!
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0; //????
sbit YELLOW_A=P0^1;
sbit GREEN_A=P0^2;
sbit RED_B=P1^0; //????
sbit YELLOW_B=P1^1;
sbit GREEN_B=P1^2;
sbit DIN=P3^0;
sbit LOAD=P3^1;
sbit CLK=P3^2;
uchar Flash_Count=0,Operation_Type=1,Time_Count=0,hh=1,i=80,mm=1,tt=9;

void DelayMS(uint x)
{
uchar i;
while(x--) for(i=0;i<120;i++);
}

void Traffic_Light()
{
switch(Operation_Type)
{
case 1:
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case 2:
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) return;
Flash_Count=0;
Operation_Type=3;
break;
case 3:
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;
break;
case 4:
DelayMS(300);
YELLOW_B=~YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10) return;
Flash_Count=0;
Operation_Type=1;
}
}
void Write(uchar Addr,uchar Dat)
{
uchar i;
LOAD=0;
for(i=0;i<8;i++)
{
CLK=0;Addr<<=1;DIN=CY;
CLK=1;_nop_();
CLK=0;
}
for(i=0;i<8;i++)
{
CLK=0;Dat<<=1;DIN=CY;
CLK=1;_nop_();
CLK=0;
}
LOAD=1;
}

void Initialise()
{
Write(0x09,0x3f);
Write(0x0a,0x07);
Write(0x0b,0x01);
Write(0x0c,0x01);
}

void main()
{
Initialise();
TMOD=0x01;   //定時(shí)器0工作在方式1
EA=1;
ET0=1;
TR0=1;
while(1)
{
       
        Traffic_Light();
}
}

void T0_INT()interrupt 1
{
TH0=-50000/256;
TL0=-50000%256;
if(tt--==0)
{
tt=9;
if(hh--==0)
{
hh=1;
Write(1,i/0x0a);
Write(2,i%0x0a);
if(i--==0)
{
if(mm==0)
{
mm=1;
i=80;
}
else
{
mm=0;
i=60;
}
}
}
}
}
這是我寫(xiě)的代碼,但是數(shù)碼管不會(huì)動(dòng),不知道是什么原因,求教!!!!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:355770 發(fā)表于 2018-6-23 12:07 | 只看該作者
求一份可以運(yùn)行的完整代碼,急用,謝謝各位大佬!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:303383 發(fā)表于 2018-6-23 17:04 | 只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
回復(fù)

使用道具 舉報(bào)

地板
ID:362137 發(fā)表于 2018-7-3 17:53 | 只看該作者
樓主可以把你的這一套設(shè)計(jì)發(fā)一遍嗎
回復(fù)

使用道具 舉報(bào)

5#
ID:668663 發(fā)表于 2019-12-19 20:11 | 只看該作者
樓主寫(xiě)出來(lái)了嗎,可以把正確的發(fā)一遍嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表