• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

驅(qū)動大功率紅外LED發(fā)射器和蜂鳴器的電路圖

01/24 15:09
401
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

8051單片機是一種經(jīng)典的8位微控制器,由Intel公司于1980年推出。它具有體積小、功耗低、易于編程、易于擴展等優(yōu)點,被廣泛應(yīng)用于各種嵌入式系統(tǒng)中。下面是關(guān)于8051單片機的一些基本知識。

8051單片機的架構(gòu)? ? ?

8051單片機的架構(gòu)包括CPU、RAM、ROM、I/O口、定時器/計數(shù)器、串行通信接口等模塊。其中,CPU是單片機的核心,負責執(zhí)行指令和控制系統(tǒng)的運行;RAM用于存儲程序和數(shù)據(jù);ROM存儲程序代碼;I/O口用于與外部設(shè)備進行數(shù)據(jù)交互;定時器/計數(shù)器用于計時和計數(shù);串行通信接口用于與其他設(shè)備進行通信。

8051單片機的指令集? ?

8051單片機的指令集包括基本指令、位操作指令、移位指令、邏輯指令、算術(shù)指令、跳轉(zhuǎn)指令等。這些指令可以完成各種操作,如數(shù)據(jù)傳輸、邏輯運算、算術(shù)運算、跳轉(zhuǎn)等。

8051單片機的編程語言? ?

8051單片機可以使用匯編語言或C語言進行編程。匯編語言是一種低級語言,需要編寫詳細的指令序列;C語言是一種高級語言,可以通過編寫簡單的代碼實現(xiàn)復(fù)雜的功能。

8051單片機的應(yīng)用? ?

8051單片機被廣泛應(yīng)用于各種嵌入式系統(tǒng)中,如家電控制、汽車電子、醫(yī)療設(shè)備、工業(yè)自動化等。它可以控制各種設(shè)備,如電機、燈光、傳感器等,實現(xiàn)各種功能,如控制、檢測、計算等。

8051單片機的擴展? ? ?

8051單片機可以通過擴展模塊實現(xiàn)更多的功能。常見的擴展模塊包括LCD顯示模塊、鍵盤輸入模塊、ADC模塊、DAC模塊、網(wǎng)絡(luò)通信模塊等。這些模塊可以擴展單片機的功能,使其更加靈活和實用。

8051單片機是一種經(jīng)典的8位微控制器,具有體積小、功耗低、易于編程、易于擴展等優(yōu)點

C語言結(jié)構(gòu)體數(shù)組示例

/*??C語言結(jié)構(gòu)體數(shù)組示例1*/
#include<stdio.h>
struct stu {
char* name;//名字
int num;//學號
int age;//年齡
char group;//小組
float score;//成績
}stus[] = {
{"zhang san",42,99,'A',100.5},
{"li san",32,23,'N',140.6},
{"ss san",52,23,'N',145.8}

};
int main(
){
int i,sum=0,num_140=0;
for (i = 0; i < 3; i++)
{
sum += stus[i].score;
if (stus[i].score >140)num_140++;
}
printf("總成績=%d;%d個140分的同學;平均成績=%.3f", sum, num_140,(float)sum/3);
return 0;
}

/*結(jié)構(gòu)體指針示例2*/
#include<stdio.h>

struct stu {
char* name;//名字
int num;//學號
int age;//年齡
char group;//小組
float score;//成績
}stus[] = {
{ "zhang san",45,99,'A',154.5 },
{ "li si",32,99,'B',142.5 },
{ "niu ma",22,99,'C',145.5 },
{ "lao liu",52,99,'D',157.5 },
{ "bu ke neng da gong",62,99,'E',125.5 }}
;

void average(struct stu* wlo, int len);
int main()
{
int i, score1=0, age1=0;
int len = sizeof(stus) / sizeof(struct stu);
average(stus, len);

return 0;
}
void average(struct stu* wlo, int len)
{
int i, all_score=0;
float sum = 0;

for (i = 0; i < len; i++)
{
sum += (*(wlo+i)).score;//wlo[i].score;//(wlo + i)->score;這三個等價
if ((wlo + i)->score > 140) all_score++;
}
printf("總成績=%.2fn平均成績=%.2fn 優(yōu)秀成績(>140)=%d", sum, sum / 5, all_score);
}

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄