『壹』 C51單片機程序設計題,要求用C語言做,模擬交通燈控制單片機電路,答案要詳細具體。
晚上隨手寫,也未調試,權當看看
程序有不嚴謹地方還得調試修改
#include<REGX51.H>
#defineSTATUS_1S 1
#defineSTATUS_2S 2
#defineSTATUS_3S 3
#defineSTATUS_4S 4
#defineSTATUS_5S 5
#defineSTATUS_15S 15
#defineSTATUS_28S 28
#defineSTATUS_29S 29
#defineSTATUS_30S 30
unsignedcharflag,status,status_temp=1,status_temp_;
sbitK1 = P0^0;
sbitK2 = P0^1;
sbitRLED = P0^2;
sbitYLED = P0^3;
sbitGLED = P0^4;
voidInit(void)
{
ET0=1;
TR0=1;
RLED=0; //亮
YLED=0;
GLED=0;
while(status_temp)
{
switch(status)
{
caseSTATUS_1S: //1S
{
RLED=1; //滅,閃一次
YLED=1;
GLED=1;
} break;
caseSTATUS_2S: //1S
{
RLED=0; //亮,閃一次
YLED=0;
GLED=0;
} break;
caseSTATUS_3S: //1S
{
RLED=1; //滅
YLED=1;
GLED=1;
status_temp=0;
} break;
}
}
status_temp=1;
ET0=0;
TR0=0;
}
voidInit_Timer0(void)
{
TMOD=0x01;
// ET0=1;
// TR0=1;
EA=1;
TH0=0X3C;
TL0=0XB0; //未計算,偷樓上的
}
voidM_Start(void)
{
TH0=0X3C;
TL0=0XB0;
ET0=1;
TR0=1;
RLED=0; //紅亮
while(status_temp)
{
switch(status)
{
caseSTATUS_1S:
{
if(status_temp_==1)
{
YLED=0;
}
} break;
caseSTATUS_2S:
{
if(status_temp_==1)
{
YLED=1;
}
} break;
caseSTATUS_3S:
{
if(status_temp_==1)
{
YLED=0;
status_temp_=0;
}
} break;
caseSTATUS_15S: //15S滅,綠亮
{
RLED=1;
GLED=0;
} break;
caseSTATUS_28S:
{
GLED=1;
} break;
caseSTATUS_29S:
{
GLED=0;
} break;
caseSTATUS_30S:
{
GLED=1;
status=0;
status_temp_=1;
} break;
}
}
ET0=0;
TR0=0;
status=0;
status_temp=1;
YLED=1;
}
voidM_End(void)
{
TH0=0X3C;
TL0=0XB0;
ET0=1;
TR0=1;
RLED=0; //亮1次
YLED=0;
GLED=0;
while(status_temp)
{
switch(status)
{
caseSTATUS_1S: //1S
{
RLED=1; //滅一次
YLED=1;
GLED=1;
} break;
caseSTATUS_2S: //1S
{
RLED=0; //亮二次
YLED=0;
GLED=0;
} break;
caseSTATUS_3S: //1S
{
RLED=1; ////滅二次
YLED=1;
GLED=1;
} break;
caseSTATUS_4S: //1S
{
RLED=0; ////亮三次
YLED=0;
GLED=0;
} break;
caseSTATUS_5S: //1S
{
RLED=1; ////滅三次
YLED=1;
GLED=1;
status_temp=0;
} break;
}
}
status_temp=1;
ET0=0;
TR0=0;
}
main()
{
Init();//單片機初始化
Init_Timer0();//定時器初始化
while(1)
{
if(K1==0)
M_Start();//模擬開始
if(K2==0)
M_End();//模擬結束
}
}
voidinterrupt_time0()interrupt1 //核對頭文件,一致就好
{
TH0=0X3C;
TL0=0XB0;
flag++;
if(flag==20)
{
status++;
flag=0;
}
}
『貳』 51單片機的畢設題目與資料有嗎
第四文件
1:小車計時
2:汽車座椅
3:沒意思 285922500萬年歷
4:智能照明+遙控+電力通訊+無線+原理圖
5:整理--室內環境監測系統的研究與設計二次修改
6:夏雪之夢 469857178溫控控制50---100AD+加熱製冷發送
7:基於51單片機的溫濕度計設計.doc
8:數控電源
9:交通燈20111217
10:基於單片機89C51的數字體溫計設計
11:基於AT892051單片機的倒車防撞預警系統設計和實現 .doc
12:浮雲單87714897電加熱器
13:純數字電路時鍾模擬+原理圖
14:車胎檢測--基於單片機AT89S52的汽車胎壓監測系統TPMS.doc
15:ad590+tl480+高低溫溫度控制+RS232
16:1602電子鍾課程設計無溫度
第三文件
17:LED燈無級調光智能控制系統的設計和實現 聲控變紅外控
18:基於PWM模塊的智能風扇調速
19:聲控彩燈基於單片機的音樂彩燈控制器.doc
20:液位感測器--基於AT89CS51液位控制器設計.doc
21:音樂播放--全套==基於單片機的音樂播放器設計——軟體設計.doc
第二文件
22:基於AT89c2051的簡易時鍾設計.doc
23:why的電熱水器==基於AT89S51單片機的智能電熱水器的設計--畢業設計.doc
24:場館入場人數統計--基於89s52的場館門票統計的設計.doc
25:計程車計價器簡單雙位計數+論文
26:基於89s51單片機的室內智能通風控制系統研究
27:電動自行車儀表顯示系統
28:基於單片機的超速報警器的電路設計
29:溫度濕度計LED顯示
30:智能路燈控制光控額時間控制無調光
第一文件
31:智能充電器
32:無線恆溫箱
33:萬年歷帶秒錶鬧鍾倒計時溫度禮拜帶紅外感應
34:萬年歷帶第幾周分屏顯示
35:基於AT89S51的停車場的設計.doc
36:生光觸延時開關
37:汽車座椅有記憶
38:偶爾偏執浴室水溫控制電路設計
39:交通燈001じ☆運♀志♂
40:基於AT89c51的簡易時鍾設計.doc
41:基於無線通訊技術的新型LED點陣屏的研製
42:基於數字邏輯電路的8路搶答器
43:基於51單片機電語音播報脈搏計
44:過客的溫度濕度計
45:多路遠程式控制制信息採集
46:單片機定時器在養雞場得應用
47:百秒倒計時--基於89C51的99秒倒計時設計.doc
48:89c51單片機8路搶答00
49:485通信智能窗簾
50:基於51單片機的8路無線搶答器
『叄』 請幫忙寫一個單片機C51一個延時50ms的函數例題
延時實際上就是讓CPU暫停當前的任務,去執行一些空操作或其他任務.當然去執行其他任務所花的時間你必須要能夠確定.不然可能會影響當前任務.常用的都是讓它執行空操作.用C來實現就是給一個或幾個變數讓它再那裡自增或自減.下面就是最基本的一個例子
void delay50ms()
{
unsigned int i;
for(i=50000;i>0;i--);
}
當然可以也可以用定時器來實現,時間也更精確.例子樓上那個就是標準的.具體用哪一個那要看用什麼場合
『肆』 哪裡可以免費下載C51
可以到億道電子下載
『伍』 C51 單片機的題!編主,子兩程序。子程序名AVERAGE,入口參數:內部RAM中50H—59H十個單元中的數(由主
你這題好像是匯編的題,C程序一般不規定具體RAM地址。
『陸』 51單片機匯編題目
DATDEAL:
MOV30H,#34H
MOV31H,#58H
MOV32H,#23H
MOV33H,#45H
MOVDPTR,#1000H
MOVA,31H
ADDA,33H
MOVDPL,#02H
MOVX@DPTR,A
MOVA,30H
ADDCA,#32H
MOVDPL,#01H
MOVX@DPTR,A
CLRA
ADDCA,#0
MOVDPL,#00H
MOVX@DPTR,A
RET