導航:首頁 > 操作系統 > 單片機的c語言設計答案

單片機的c語言設計答案

發布時間:2024-07-05 22:51:05

『壹』 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;

}

}

『貳』 鍗曠墖鏈篊璇璦紼嬪簭璁捐

  1. 鐢–PU鍐呴儴瀹氭椂鍣═0涓鏂鏂瑰紡璁℃椂錛屼駭鐢熷懆鏈熶負2s,鍗犵┖姣斾負80%鐨勮剦鍐叉嘗褰錛屾樉紺哄湪P1.0鍙c

  2. 鐢–PU鍐呴儴璁℃暟鍣═1錛屾寜璁℃暟妯″紡宸ヤ綔錛屽筆1.0鍙h緭鍑虹殑鑴夊啿榪涜岃℃暟錛屽苟鏄劇ず鍦≒2鍙c侳OSC=6MHz.

璇蜂綘鍙傝冿細

#include<reg51.h>

sbitWAVE=P1^0;

unsignedcharcodesegCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

unsignedcharcount;

voidmain()
{
TMOD=0x51;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
IE|=0x82;
TR0=1;
TR1=1;
count=0;

while(1)
{
if(WAVE)
P2=segCode[TL1%10];
}
}

voidT0_INT()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;

count=++count%20;
WAVE=(count<4)?1:0;
}

甯屾湜鏄浣犺佺殑錛侊紒錛侊紒

『叄』 單片機c語言的一道簡單的題目,急求答案,要答題過程,在線等

#include<reg51.h>
sbitLED = P1^0;
voidTimer0Init(void)
{
AUXR&=0x7F;
TMOD&=0xF0;
TMOD|=0x01;
TL0=0xE0;
TH0=0xB1;
TF0=0;
TR0=1;
ET0=1;
}

voidmain(void)
{
EA=1;
Timer0Init();
}

voidtimer0_Isr()interrupt1
{
LED=~LED;
TL0=0xE0;
TH0=0xB1;
}

『肆』 單片機C語言程序設計題

這是兩個題啊。哈哈好做,第一個有C語言的冒泡法排序,第二個用中斷,讀,輸出就可以

『伍』 鍗曠墖鏈篊璇璦璁捐$粌涔犻

灝嗘墍鏈夋暟鎹鍙栧弽灝卞彲浠ヤ簡銆傛垨鑰呬笉鐢ㄤ慨鏀規暟鎹錛岀洿鎺ュ湪璋冪敤鏃跺彇鍙嶏細

P0=~led[n];

『陸』 一個單片機C語言程序設計

1)把這10個數放在數組中(你沒說數據寬度,就設定為位元組)

unsigned char shu[10]={};

2)定義變數

unsignedchar max=0;

unsignedchar min=255;

unsignedchar avg=0;

unsigned int tmp=0;

3)採用循環

main()

{ char i;

for(i=0,i<10;i++)

{

if(shu[i]>max)max=shu[i];

if(shu[i]<min)max=shu[i];

tmp+=shu[i];

}

tmp-=max;

tmp-=min;

avg=tmp/8;

while(1){}

}

閱讀全文

與單片機的c語言設計答案相關的資料

熱點內容
qt編譯的dll沒有lib 瀏覽:928
光遇安卓買號怎麼上號 瀏覽:729
imap伺服器怎麼填寫蘋果自帶郵箱 瀏覽:705
瑪氏程序員 瀏覽:612
整式運演算法則八年級 瀏覽:949
行政公文寫作中的命令 瀏覽:396
安卓代碼反編譯保護 瀏覽:821
程序員桌面顯示屏搭建 瀏覽:588
程序員眼中的釘釘 瀏覽:636
ultraedit程序編譯是哪個 瀏覽:527
什麼樣的程序員是最好的程序員 瀏覽:970
app更新包是什麼意思 瀏覽:624
電銀付app入網綁定設備什麼意思 瀏覽:186
編譯原理圖形學操作系統 瀏覽:144
linuxipsec客戶端 瀏覽:173
新版標准日本語初級下冊pdf 瀏覽:401
照片拼在一起用什麼app 瀏覽:679
博士老師跳槽做程序員 瀏覽:634
毛概教材2015pdf 瀏覽:801
editplus開發php 瀏覽:999