資源簡介
/*內含交通燈課程設計報告,程序設計,題目要求以及proteus仿真電路設計。資源齊全,代碼簡潔,之前做課程設計寫的,現分享出來供初學者學習*/
提示:之前忘記上傳課設報告了,由于不能刪除修改,請下載此壓縮文件!

代碼片段和文件信息
#include?//包含頭文件
#define?uint?unsigned?int?//預處理命令
#define?uchar?unsigned?char
sbit?du?=?P2^6;//段選
sbit?we?=?P2^7;//位選
sbit?d0?=?P1^2;//南北紅燈
sbit?d1?=?P1^3;//南北黃燈
sbit?d2?=?P1^4;//南北綠燈
sbit?d3?=?P1^7;//東西紅燈
sbit?d4?=?P1^6;//東西黃燈
sbit?d5?=?P1^5;//東西綠燈
uchar?table[]?=?{0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f0x77};//共陰數碼管斷碼
uint?count?=?10count1=14;
//初始綠燈10S,紅燈14S
uchar?k;//50MS置位
uchar?mode_flag;//顯示模式
void?T0_Init(void)//定時器0模式1
{
TMOD?=?0x01;
TH0?=?(65536?-?50000)/256;
TL0?=?(65536?-?50000)%256;
EA?=?1;
ET0?=?1;
TR0?=?1;
}
void?delay_1MS(uint?xms)//1MS延時
{
uint?jk;
for(j?=?0;j? for(k?=?0;k?114;k++);
}
void?display(uchar?abcd)//數碼管顯示函數
{
P0?=?0x00;du?=?1;P0?=?table[a];du?=?0;
we?=?1;P0?=?0xfe;we?=?0;delay_1MS(2);
P0?=?0x00;du?=?1;P0?=?table[b];du?=?0;
we?=?1;P0?=?0xfd;we?=?0;delay_1MS(2);
P0?=?0x00;du?=?1;P0?=?table[c];du?=?0;
we?=?1;P0?=?0xfb;we?=?0;delay_1MS(2);
P0?=?0x00;du?=?1;P0?=?table[d];du?=?0;
we?=?1;P0?=?0xf7;we?=?0;delay_1MS(2);
}
void?display_mode()//交通燈顯示模式函數
{
switch(mode_flag)
{
case?0:d0=0;d1=0;d2=1;d3=1;d4=0;d5=0;break;//南北綠燈亮黃燈紅燈滅,東西紅燈亮綠燈黃燈滅
case?1:d0=0;d1=1;d2=0;d3=1;d4=0;d5=0;break;//南北黃燈亮綠燈紅燈滅,東西紅燈亮綠燈黃燈滅
case?2:d0=1;d1=0;d2=0;d3=0;d4=0;d5=1;break;//南北紅燈亮綠燈黃燈滅,東西綠燈亮黃燈紅燈滅
case?3:d0=1;d1=0;d2=0;d3=0;d4=1;d5=0;break;//南北紅燈亮綠燈黃燈滅,東西黃燈亮綠燈紅燈滅
}
}
void?control()
{
if(k?==?20)//1S時間到
{
k?=?0;
count--;//南北數碼管倒計時
count1--;//東西數碼管倒計時
if(count==0&&mode_flag==0)//南北綠燈時間到轉黃燈
{
count?=?4; ??//南北黃燈賦值4S
mode_flag?=?1; ??//模式1
}
if(count==0&&mode_flag==1)//南北黃燈時間到轉紅燈
{
count?=?9;?//南北紅燈輔助9S
count1?=?5;//東西綠燈賦值5S
mode_flag?=?2;//模式2
}
if(count1==0&&mode_flag==2)//東西綠燈時間到轉黃燈
{
count1?=?4;//東西黃燈賦值4S
mode_flag?=?3;//模式3
}
if(count==0||count1==0&&mode_flag==3)//南北紅燈東西黃燈時間到南北轉綠燈燈東西轉紅燈
{
count?=?10;//南北綠燈賦值10S
count1?=?14;//東西紅燈賦值14S
mode_flag?=?0;//模式0
}
}
}
void?main()
{
T0_Init();
while(1)
{
display_mode();//交通燈顯示模式函數
display(count/10count%10count1/10count1%10);//數碼管顯示函數
control();//交通燈數碼管控制函數
}
}
void?timer0(void)interrupt?1
{
TH0?=?(65536?-?50000)/256;
TL0?=?(65536?-?50000)%256;
k++;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-27?10:35??交通燈\
?????文件???????63664??2019-01-05?13:31??交通燈\交通燈控制要求.doc
?????文件??????514767??2019-01-27?10:34??交通燈\交通燈課程設計報告.docx
?????目錄???????????0??2019-01-22?18:41??交通燈\程序設計及電路\
?????文件??????104916??2018-12-29?08:59??交通燈\程序設計及電路\Last?Loaded?仿真圖.DBK
?????文件????????5115??2002-04-16?14:32??交通燈\程序設計及電路\STARTUP.A51
?????文件???????11665??2018-12-29?09:49??交通燈\程序設計及電路\STARTUP.LST
?????文件?????????758??2018-12-29?09:49??交通燈\程序設計及電路\STARTUP.OBJ
?????文件????????6763??2018-12-29?09:49??交通燈\程序設計及電路\交通燈
?????文件????????2137??2018-12-28?10:49??交通燈\程序設計及電路\交通燈?(2).bak
?????文件????????1079??2018-12-28?08:39??交通燈\程序設計及電路\交通燈?(3).Bak
?????文件????????2137??2018-12-28?08:39??交通燈\程序設計及電路\交通燈?(4).Bak
?????文件???????57378??2018-12-29?09:56??交通燈\程序設計及電路\交通燈?(5).bak
?????文件????????5969??2018-12-29?09:49??交通燈\程序設計及電路\交通燈.LST
?????文件???????10172??2018-12-29?09:49??交通燈\程序設計及電路\交通燈.M51
?????文件????????7187??2018-12-29?09:49??交通燈\程序設計及電路\交通燈.OBJ
?????文件?????????951??2018-12-28?10:49??交通燈\程序設計及電路\交通燈.bak
?????文件????????2611??2019-01-22?18:40??交通燈\程序設計及電路\交通燈.c
?????文件????????2045??2018-12-29?09:49??交通燈\程序設計及電路\交通燈.hex
?????文件??????????45??2018-12-29?09:49??交通燈\程序設計及電路\交通燈.lnp
?????文件?????????191??2019-01-22?18:33??交通燈\程序設計及電路\交通燈.plg
?????文件???????57376??2019-01-22?18:40??交通燈\程序設計及電路\交通燈.uvopt
?????文件???????13410??2018-12-28?11:41??交通燈\程序設計及電路\交通燈.uvproj
?????文件??????104916??2018-12-29?09:00??交通燈\程序設計及電路\仿真圖.DSN
?????文件????????1052??2018-12-29?09:56??交通燈\程序設計及電路\仿真圖.PWI
?????文件????????1465??2018-12-24?14:12??交通燈\程序設計及電路\新建?文本文檔.txt
- 上一篇:ble-interface.vue.zip
- 下一篇:畫bezier曲線代碼
評論
共有 條評論