單片機中數(shù)制與數(shù)制的轉(zhuǎn)換是怎樣實現(xiàn)的? ?
關(guān)于數(shù)制之間的轉(zhuǎn)換,其實在數(shù)字電路的書中會講到,也很容易理解。在我們生活中,十進制經(jīng)常被我們用到:數(shù)字0,1,2,3,4,5,6,7,8,9,逢十進一。那在單片機運用中,常見數(shù)制有:二進制、八進制、十進制、十六進制。
在單片機編程中經(jīng)常應(yīng)用到二進制和十六進制。比如現(xiàn)在有八個LED燈,在某一時刻,前四個燈全亮,后四個燈全滅。LED正極接電源,那么用51單片機P1八個口控制LED的亮滅(輸出低電平LED亮,高電平LED滅),前四個LED分別連接P1.0~P1.3,后四個連接P1.4~P1.7。這一段的代碼用二進制和十六進制分別可以這樣編寫:
二進制代碼:
P1.0=0;P1.1=0;P1.2=0;P1.3=0;P1.4=1;P1.5=1;P1.6=1;P1.7=1;
十六進制代碼:P1=0xF0;
由此可見,單片機中利用到多個串口時,編程使用十六進制比較方便,另外如果要循環(huán)移位常用十六進制。單片機中利用到單個串口時,編程使用二進制比較方便
進制簡略介紹;
1、二進制:使用數(shù)碼只有0和1兩個數(shù)字,逢二進一
一般使用單片機IO輸出兩種狀態(tài):高電平、低電平。一般用0表示低電平,1表示高電平。編程控制就是以這個概念來編寫程序邏輯。如果是3.3V系統(tǒng),高電平就為3.3V,如果為5V,那高電平就為5V,低電平為0V。如果做輸出口的話,就是單片機通過軟件置位相關(guān)寄存器讓端口置高電平或低電平,達到電平輸出的目的,如果做輸入口,就是單片機捕捉端口的電平然后置位相關(guān)寄存器,然后軟件讀取寄存器中0或1,達到輸入作用。
2、八進制:使用數(shù)碼有0~7共八個數(shù)字,逢八進一
3、十進制:使用數(shù)碼有0~9共十個數(shù)字,逢十進一
4、十六進制:數(shù)碼有0~9,A~F共十六個數(shù),逢十六進一
十六進制在單片機中經(jīng)常使用,程序中會用到,通訊會用到,程序生成的HEX文件也是十六進制的。而bin文件是二進制文件。
審核編輯:湯梓紅
-
單片機
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635407 -
二進制
+關(guān)注
關(guān)注
2文章
795瀏覽量
41654 -
數(shù)制轉(zhuǎn)換
+關(guān)注
關(guān)注
0文章
5瀏覽量
7153
發(fā)布評論請先 登錄
相關(guān)推薦
評論