<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                【17.1 單片機本身具備基礎的數學算術能力。】 單片機本身是一個成品,本身就具備了基礎的加減乘除能力,把單片機當做一個大人,我們需要做的只是溝通而已,叫他做加法他就做加法,叫他做減法就他就做減法,至于他是如何計算出來的不用管,“他”本身內部的電路結構就具備了這種基礎運算的能力。人機溝通依然是用C語言,本節講的加法運算,用的C語言符號跟我們日常用的數學加法符號是一樣的,都是符號“+”。多說一句,單片機這種內置的基礎運算能力并不是無限大的,而是數值不能超過某個范圍,如果在加數或者運算結果的數值范圍超過4294967295的情況下,要繼續實現這類加法運算,這個就需要我們在單片機本身基礎的運算能力上專門去編寫一套大數據算法的程序才能實現,這個大家暫時不用深入理解,先學好當前基礎再說。 【17.2 加法語法格式。】 加法語法格式: “保存變量”=“加數1”+“加數2”+...+“加數N”; 含義:右邊的“加數”與“加數”相加(這里暫時把平時所說的被加數也歸類為加數),并且把最終的運算結果賦值給左邊的“保存變量”。注意,這里的符號“=”不是等于號的意思,而是賦值的意思。左邊的“保存變量”必須是變量,不能是常量,否則編譯時會報錯。而右邊的“加數”既可以是變量,也可以是常量,也可以是“保存變量”本身自己。多說一句,什么是變量和什么是常量?變量就是可以在程序中被更改的,是分配的一個RAM空間。而常量往往就是常數值,或者是被分配在ROM空間的一個具體數值。下面根據右邊“加數”與“加數”的不同組合,列出了加法運算的5種常用組合。 第1種:“加數1”是常量,“加數2”是常量。比如: unsigned char a; a=3+15; 分析:數字“3”和“15”都是常量。執行上述語句后,保存變量a變成了18。 第2種:“加數1”是變量,“加數2”是常量。比如: unsigned char b; unsigned char x=10; b=x+15; 分析:x是變量,“15”是常量。由于原來x變量里面的數值是10,執行上述語句后,保存變量b變成 了25。而變量x則保持不變,執行完所有語句后x還是10。 第3種:“加數1”是變量,“加數2”是變量。比如: unsigned char c; unsigned char x=10; unsigned char y=6; c=x+y; 分析:x是變量,y也是變量。由于原來x變量里面的數值是10,y變量里面的數值是6,執行上述語句后,保存變量c變成了16。而變量x和y則保持不變,x還是10,y還是6。 第4種:“加數1”是保存變量本身,“加數2”是常量。比如: unsigned char d=2; d=d+18; d=d+7; 分析:d是保存變量本身,“18”是常量。這類語句有一個特點,具備了自加功能,可以更改自己本身的數值。比如原來保存變量d的數值是2,執行“d=d+18;”語句后,d變成了20,接著再執行完“d=d+7;”語句后,d最后變成了27。 第5種:“加數1”是保存變量本身,“加數2”是變量。比如: unsigned char e=2; unsigned char x=10; unsigned char y=6; e=e+x; e=e+y; 分析:e是保存變量,x與y都是變量。這類語句有一個特點,具備了自加功能,可以更改自己本身的數值。比如原來保存變量e的數值是2,x的數值是10,執行“e=e+x;”語句后,e變成了12。由于y的數值是6,接著再執行完“e=e+y;”語句后,所以e最后變成了18。 【17.3 例程練習和分析。】 現在我們編寫一個程序來驗證上面講到的5個加法例子: 程序代碼如下: /\*---C語言學習區域的開始。-----------------------------------------------\*/ void main() //主函數 { unsigned char a; //定義一個變量a,并且分配了1個字節的RAM空間。 unsigned char b; //定義一個變量b,并且分配了1個字節的RAM空間。 unsigned char c; //定義一個變量c,并且分配了1個字節的RAM空間。 unsigned char d=2; //定義一個變量d,并且分配了1個字節的RAM空間。初始化默認為2. unsigned char e=2; //定義一個變量e,并且分配了1個字節的RAM空間。初始化默認為2. unsigned char x=10; //定義一個變量x,并且分配了1個字節的RAM空間。初始化默認為10. unsigned char y=6; //定義一個變量y,并且分配了1個字節的RAM空間。初始化默認為6. //第1種:“加數1”是常量,“加數2”是常量。 a=3+15; //第2種:“加數1”是變量,“加數2”是常量。 b=x+15; //第3種:“加數1”是變量,“加數2”是變量。 c=x+y; //第4種:“加數1”是保存變量本身,“加數2”是常量。 d=d+18; d=d+7; //第5種:“加數1”是保存變量本身,“加數2”是變量。 e=e+x; e=e+y; View(a); //把第1個數a發送到電腦端的串口助手軟件上觀察。 View(b); //把第2個數b發送到電腦端的串口助手軟件上觀察。 View(c); //把第3個數c發送到電腦端的串口助手軟件上觀察。 View(d); //把第4個數d發送到電腦端的串口助手軟件上觀察。 View(e); //把第5個數e發送到電腦端的串口助手軟件上觀察。 while(1) { } } /\*---C語言學習區域的結束。-----------------------------------------------\*/ 在電腦串口助手軟件上觀察到的程序執行現象如下: 開始... 第1個數 十進制:18 十六進制:12 二進制:10010 第2個數 十進制:25 十六進制:19 二進制:11001 第3個數 十進制:16 十六進制:10 二進制:10000 第4個數 十進制:27 十六進制:1B 二進制:11011 第5個數 十進制:18 十六進制:12 二進制:10010 分析: 通過實驗結果,發現在單片機上的計算結果和我們的分析是一致的。 【17.4 如何在單片機上練習本章節C語言程序?】 直接復制前面章節中第十一節的模板程序,練習代碼時只需要更改“C語言學習區域”的代碼就可以了,其它部分的代碼不要動。編譯后,把程序下載進帶串口的51學習板,通過電腦端的串口助手軟件就可以觀察到不同的變量數值,詳細方法請看第十一節內容。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看