国产性生活视频网站 I 北条麻妃中文字幕在线视频 I 国产精品粉嫩懂色av I 久亚州在线播放 I 黄频视频大全免费的国产 I 国产精品高潮呻吟久久av野狼 I 永久免费的污视频网站 I 九九久久久久久 I 两根黑粗一起进3p夜夜嗨av I 五月婷婷综合小说 I 免费三级av I 中文字幕一区二区三区在线观看 I 啪啪tv网站免费入口 I 欧美日韩在线亚洲综合国产人 I 蜜臀av片在线观看 I 亚洲色图综合区 I 狂猛欧美激情性xxxx大豆行情 I 黄污视频在线免费观看 I 伊人久久大香线蕉av成人 I lsj精品视频网站 I 波多野美乳人妻hd电影欧美 I 欧美顶级丰满另类xxx I 日日视频 I 在线中文字幕一区二区 I 成年人免费看黄色片 I 无码人妻少妇久久中文字幕 I 婷五月综合 I 妇女性内射冈站hdwww000 I 欧洲精品码一区二区三区免费看 I 日本在线播放 I 天天操夜夜操天天干 I 绿色导航福利资源 I 成人精品视频一区 I 伦理片免费福利 I 自拍偷拍 高跟丝袜 欧美激情

首頁 新聞 > 科技 > 正文

51單片機交通燈程序以及仿真

#include

#define uint unsigned int#define uchar unsigned charsbit red_nb = P0^0;sbit green_nb = P0^1;sbit yellow_nb = P0^2;

sbit red_dx = P0^3;sbit green_dx = P0^4;sbit yellow_dx = P0^5;

unsigned char codeDisp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//段碼控制

unsigned char codedispbit[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F}; //位選控制

unsigned char LedOut[4];

uchar switch_type = 1;uchar Traffic_time = 0;uchar ds_time = 0;uchar i,t;void delay(uint i){char j;for(i; i >0; i--)for(j = 200; j >0; j--);}

void Traffic_Light()// 定義 四種狀態 顯示{switch(switch_type){case 1:for( i=0; i<4; i++){P1 = dispbit[i];//使用查表法進行位選P3 = LedOut[i];delay(100);}//使數碼管在此 不斷的進行掃描顯示

red_nb = 0;//南北紅燈亮 綠燈滅黃燈滅green_nb = 1;yellow_nb = 1;red_dx = 1;//東西紅燈滅綠燈亮 黃燈滅green_dx = 0;yellow_dx = 1;if(Traffic_time != 30){LedOut[0]=Disp_Tab[(35 - Traffic_time)0/10];//數碼管顯示的數據LedOut[1]=Disp_Tab[(35 - Traffic_time)];LedOut[2]=Disp_Tab[(29 - Traffic_time)0/10];LedOut[3]=Disp_Tab[(29 - Traffic_time)];return;//返回case1}Traffic_time = 0;switch_type = 2;//進入第二種狀態break;

case 2:for( i=0; i<4; i++){P1 = dispbit[i];//使用查表法進行位選P3 = LedOut[i];delay(100);}red_nb = 0;//南北紅燈亮 綠燈滅黃燈滅green_nb = 1;yellow_nb = 1;red_dx = 1;//東西紅燈滅綠燈滅 黃燈亮green_dx = 1;if(Traffic_time != 6)//黃等保持的時間{if(Traffic_time != t){t = Traffic_time;yellow_dx = ~yellow_dx;}{LedOut[0]=Disp_Tab[(5 - Traffic_time)0/10];LedOut[1]=Disp_Tab[(5 - Traffic_time)];LedOut[2]=Disp_Tab[(5 - Traffic_time)0/10];LedOut[3]=Disp_Tab[(5 - Traffic_time)];return;}return;}Traffic_time = 0;switch_type = 3;break;

case 3:for( i=0; i<4; i++){P1 = dispbit[i];//使用查表法進行位選P3 = LedOut[i];delay(100);}red_nb = 1;//南北紅燈滅 綠燈亮黃燈滅green_nb = 0;yellow_nb = 1;red_dx = 0;//東西紅燈亮綠燈滅 黃燈滅green_dx = 1;yellow_dx = 1;if(Traffic_time != 19){LedOut[0]=Disp_Tab[(24 - Traffic_time)0/10];LedOut[1]=Disp_Tab[(24 - Traffic_time)];LedOut[2]=Disp_Tab[(18 - Traffic_time)0/10];LedOut[3]=Disp_Tab[(18 - Traffic_time)];return;}Traffic_time = 0;switch_type = 4;break;

case 4:for( i=0; i<4; i++){P1 = dispbit[i];//使用查表法進行位選P3 = LedOut[i];delay(100);}red_nb = 1;//南北紅燈滅 綠燈滅黃燈亮green_nb = 1;red_dx = 0;//東西紅燈亮綠燈滅 黃燈滅green_dx = 1;yellow_dx =1;

if(Traffic_time != 6)//黃等保持的時間{if(Traffic_time != t){t = Traffic_time;yellow_nb = ~yellow_nb;}LedOut[0]=Disp_Tab[(5 - Traffic_time)0/10];LedOut[1]=Disp_Tab[(5 - Traffic_time)];LedOut[2]=Disp_Tab[(5 - Traffic_time)0/10];LedOut[3]=Disp_Tab[(5 - Traffic_time)];return;}Traffic_time = 0;switch_type = 1;break;

}}

void main(){TMOD = 0x01;TH0 = (65536 - 50000)/256;TL0 = (65536 - 50000)%6;EA = 1;//開總中斷ET0 = 1;//開定時器0中斷TR0 = 1;//啟動定時器

while(1){Traffic_Light();

}

}

void T0_time() interrupt 1{TH0 = (65536 - 50000)/256;TL0 = (65536 - 50000)%6;ds_time++;if(ds_time == 20){ds_time = 0;Traffic_time++;}

}

關鍵詞: 51單片機交通燈仿

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2018 創投網 - m.pdssy.com.cn All rights reserved
聯系我們:33 92 950@qq.com
豫ICP備2020035879號-12