求微控制器高手幫我逐句解釋一下這個程式謝謝了

時間 2021-07-14 20:30:36

1樓:

#include//字頭,表示如果涉及到的函式從這兩個字尾名.h的檔案裡呼叫。

#include

#define uchar unsigned char//方便定義函式無符號型應該用uchar表示為方便直接用char表示了。

#define uint unsigned int//整形同上解釋

sbit clock=p1^0; //定義clock接到微控制器p0_1口,請注意這裡用p0^1,就是因為包含了reg51.h。如果不包含就不能這麼使用。

sbit d_in=p1^1;

sbit d_out=p1^2;

sbit _cs=p1^3;

//以下就是定義幾個變數

uchar a1,b1,c1,d1;

float sum,sum1;

double sum_final1;

double sum_final;

//數碼管定義段選和位選

uchar duan=;

uchar wei=;

void delay(unsigned char b) //50us 延時函式,延時50us

void display(uchar a,uchar b,uchar c,uchard)//定義顯示函式,什麼時候位選為1,什麼時候段選為1.

uint read(uchar port)//定義讀取埠條件,

d_in=0;

for(i=0;i<8;i++)

_cs=1;

delay(5);

_cs=0;

for(i=0;i<4;i++)

for(i=0;i<8;i++)

_cs=1;

ad=(uint)ah;

ad<<=8;

ad|=al;

return(ad);

}void main() //主函式,此函式把前面的函式在這裡迴圈呼叫,從而實現數碼管顯示

sum=sum1/128;

sum1=0;

sum_final1=(sum/4095)*5;

sum_final=sum_final1*1000;

a1=(int)sum_final/1000;

b1=(int)sum_final%1000/100;

c1=(int)sum_final%1000%100/10;

d1=(int)sum_final%10;

display(a1,b1,c1,d1);}

2樓:匿名使用者

太長了把,4位數碼管顯示 用序列通訊方式控制!不知道你用的是不是 595

3樓:清鍋冷灶

難道 是一個菜鳥? 這是很簡單的c語言都嘛。就是有點長了難道分析

巨集程式。 誰幫我逐句解釋一下呢。

4樓:匿名使用者

分層車橢圓牙型的螺紋,分層走刀路線基本就是下圖

g0 x60 z5

#1=1                  橢圓的一個半軸

#9=5                  自變數增加值為5度

while[#1le10]d01    當#1小於等於10時執行end1之間的程式

#2=0                  初始自變數0度

while[#2le180]d02   當#2小於180度時執行end2之間的程式

#3=#1*sin[#2]         計算橢圓上點的座標x的值

#4=2*cos[#2]         計算橢圓上點的座標z的值

#5=40-#3*2            平移橢圓到需要的位置,#3*2為這一點的直徑

g0x#5                快速定位x

z#4                  快速定位z

g32z-80f30j0         走螺紋

g0x60                退刀

z#4                   退刀

#2=#2+#9              自變數增加

end2

g0x60z5               快速定位

#1=#1+0.5              橢圓的一個半軸增加0.5,也就是每層走0.5

if[#1ge4]then #9=2    如果#1大於等於4自變數增加值就變為2度

if[#1ge7]then #9=1    如果#1大於等於7自變數增加值就變為1度

if[#1ge9]then #9=0.2  如果#1大於等於9自變數增加值就變為0.2度

end1

m30                   程式結束

5樓:匿名使用者

你的程式不對把,程式需要分段哦,

微控制器無源蜂鳴器的程式,請求解釋下這個程式從第一個for開始的意思!

6樓:匿名使用者

#include//包含51的標頭檔案

sbit beep=p1^5;//sbit是位定義的意思,即使用beep來代表單片p1埠的第5個io口

void beep()//蜂鳴器子函式,版方便呼叫權,beep=1; //關閉蜂鳴器蜂鳴器電平不發生變化的時候,蜂鳴器無法發聲。}

7樓:匿名使用者

內層的for迴圈代表響或者不響的時間,外層的for迴圈代表響和不響的次數,也就是產生方波的週期。因為i為100次,所以一個週期響一次,也就是總共響50次。最後關閉蜂鳴器

求大神解釋一下程式的意思,幫我解釋一下每一句話,謝謝,(微控制器組合語言程式) 60

8樓:匿名使用者

註釋已經比較清楚

查頻率設定定時器,定時器產生波形,

根據節拍等待不同時間

;音階頻率表 6,2,3; 6-->1,2,3,4,5,6,7音符 2 音階, 3 音長

如何理解這段微控制器程式 各位大俠,請解釋一下。我搞不明白,為什麼會這樣

c的意思就是c先自加1然後再進行運算,你的程式中,剛開始程式是不執行if語句裡面的這些語句的 但是c要先加一然後再判斷是不是比300大,知道第三百次到了,c值就變成300了,if語句的條件就滿足,這時候才執行 lednumval 每隔300個掃瞄週期加一次 c 0 每隔300個掃瞄清零至於那個顯示的...

誰來解釋一下這,誰來解釋一下這

岐伯回答說,上古那些明白養生之道的人,取法陰陽,順應節氣,飲食有節制,起居有規律,不過度勞累,所以氣色和精神都很好,以致能論理的頤享天年,一般能活百歲,下面說現代人正相反 可能當天晚上的夢讓你難以忘記,第二天晚上睡覺時就會想起那夢.夢這個東西很難說得清楚,有是3你會夢見將來的東西 你太有才了,我做夢...

哪位高手幫我解釋一下845 865 915

這是一個intel晶片主機板的成長曆程.845前兩年的弄潮兒,現在基本是915和945,965和975屬於目前的超前產品,家裡有錢砸的發燒友級別才會考慮.簡單點說,就是一個比一個好.你要問晶片相關資訊太多了,自己可以想具體瞭解哪款在網上隨便一查,很方便的. intel晶片組往往分系列,例如845 8...