91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-01
  • 語言: 其他
  • 標簽: 單片機??

資源簡介

利用紅外傳感器檢測通過兩個路口的車流量,然后根據(jù)算法以車流量為主要參數(shù)計算出合理的交通信號燈時間,將計算所得的時間賦予數(shù)碼管,數(shù)碼管進行“減一”操作,同時交通信號燈根據(jù)時間采用不同組合順次變換。同時設(shè)計了緊急交通電路應(yīng)用于緊急車輛通過,例如120、110等車輛。

資源截圖

代碼片段和文件信息

#include?
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
uchar?code?table[]={
0x3f0x060x5b0x4f0x66
0x6d0x7d0x070x7f0x6f};
uchar?shige;
uint?dx_cllnb_cllclli;
sbit?dx_jinji=P3^2;
sbit?nb_jinji=P3^3;

void?delay(uint?z)???????????????????????????//延時子程序4ms??
{
uint?xy;
for(x=500;x>0;x--)??????????????????????//循環(huán)500次
for(y=z;y>0;y--);
}

void?display(uchar?shiuchar?geuchar?x)????????//數(shù)碼管顯示子程序?
{???????
P2=table[ge];?????????????//顯示個位
delay(x);?????????????????//調(diào)用延時程序
P1=table[shi];????????????//顯示十位
delay(x);?????????????????//調(diào)用延時程序
}

void?timer(uchar?xuchar?y)??????????????????????//顯示倒計時程序
{

shi=x/10;
ge=x%10;
display(shigey);
}

uint?suanfa(int?m)????????????????????????????????//車流量算法
{
??????uint?xyz;
??????x=TL0|(TH1<<8); ???//X取值
??????y=TL1|(TH1<<8); ?//Y取值
??????if(x<=20&&y<=20)?return(30); ???//如果兩個路口車流量均小于20,則紅綠燈時間返回為30秒。
??????else?if((20??????{
?????????if(m==0)?return(x);
?????????else?if(m==1)?return(y);
?????????
??????}??????????
??????else?if(x>=60&&y>=50) //如果東西路口大于60,南北路口大于50經(jīng)過以下算法
??????{
?? z=x/y; //計算兩個路口車流量的比值范圍。
z=z*100;?//因為C語言中取整數(shù),故乘一百。
?????????if(m==0)? ?//東西方向亮綠燈?;
???{
????if(z>=50&&z<76)?x=60+6; ?//如果比值在50到76范圍內(nèi),時間為66秒;
if(z>=76&&z<102)?x=60+12; ?//如果比值在76到102范圍內(nèi),時間為72秒;
if(z>=102&&z<128)?x=60+18; ?//如果比值在102到128范圍內(nèi),時間為78秒;
??? if(z>=128&&z<154)?x=60+24; ?//如果比值在128到154范圍內(nèi),時間為84秒;
if(z>=154&&z<180)?x=60+30; ?//如果比值在154到180范圍內(nèi),時間為90秒;
? if(x>=90)?x=90; ??//如果東西路口車流量大于九十,時間顯示為90秒。
?return(x)?;
???}
?????????else?if(m==1)?//南北方向亮綠燈;
?{
????if(z>=50&&z<76)???y=50+30; ?//如果比值在50到76范圍內(nèi),時間為80秒;
if(z>=76&&z<102)??y=50+24; ?//如果比值在76到102范圍內(nèi),時間為74秒;
if(z>=102&&z<128)?y=50+18; ?//如果比值在102到128范圍內(nèi),時間為68秒;
??? if(z>=128&&z<154)?y=50+12; ?//如果比值在128到154范圍內(nèi),時間為62秒;
if(z>=154&&z<180)?y=50+6; ?//如果比值在154到180范圍內(nèi),時間為56秒;
? if(y>=80)?y=80; ??//如果南北路口車流量大于八十,時間顯示為80秒。
?return(y)?;
????????}
???????}
}

void?jishuqi()
{
??????????TMOD=0x55;????????????//初始化定時器/計數(shù)器T0、T1為計數(shù)模式,工作于方式1,二進制計數(shù)
??????????TH0=0x00;
??????????TL0=0x00;?????????????//THTL0清0
??????????TH1=0x00;
??????????TL1=0x00;?????????????//TH1TL1清0
??????????TR0=1;????????????????//啟動

評論

共有 條評論