『壹』 常見的單片機有哪些類型
最最常見的是51系列單片機,其次還有AVR單片機,飛思卡爾的 ,還有FPGA,DSP,ARM等,都算是單片機吧
『貳』 單片機C語言有哪些數據類型
很多,,類是C語言的數據類型。。。
『叄』 單片機類型有哪些
按匯流排分有:8位機、16位機、32位機、64位機。
單片機的發展先後經歷了4位、8位、16位和32位等階段。8位單片機由於功能強,被廣泛用於工業控制、智能介面、儀器儀表等各個領域,8位單片機在中、小規模應用場合仍佔主流地位,代表了單片機的發展方向,在單片機應用領域發揮著越來越大的作用。
80年代初,Intel公司推出了8位的MCS-51系列的單片機。MCS-51單片機的邏輯部件,包括一個8位CPU及片內振盪器、 80514B掩膜ROM、87514KBEPROM、8031無ROM。
特殊功能寄存 器SFR128BRAM、定時器/計數器T0及T1、並行I/O介面:P0、P1、P2、P3;串列介面:TXD、RXD;中斷系統:INT0,INT1。
(3)單片機數據類型擴展閱讀
硬體特徵
1、單片機的體積比較小, 內部晶元作為計算機系統,其結構簡單,但是功能完善,使用起來十分方便,可以模塊化應用。
2、單片機有著較高的集成度,可靠性比較強,即使單片機處於長時間的工作也不會存在故障問題。
3、單片機在應用時低電壓、低能耗,是人們在日常生活中的首要選擇, 為生產與研發提供便利。
4、單片機對數據的處理能力和運算能力較強,可以在各種環境中應用,且有著較強的控制能力。
『肆』 51單片機數據類型轉換 高分!
假如你的串口發送函數叫SendData,接收函數叫RecvData,參考如下代碼
發送端:
intSendData(unsignedchar*pSendBuf,unsignedintnSendLen);
intRecvData(unsignedchar*pRecvBuf,unsignedintnBufLen);
voidmain(void)
{
floatf;
inti;
doubled;
SendData((unsignedchar*)&f,sizeof(float));
SendData((unsignedchar*)&i,sizeof(int));
SendData((unsignedchar*)&d,sizeof(double));
}
接收端:
voidmain(void)
{
floatf;
inti;
doubled;
RecvData((unsignedchar*)&f,sizeof(float));
RecvData((unsignedchar*)&i,sizeof(int));
RecvData((unsignedchar*)&d,sizeof(double));
}
宗旨就是,先取其他類型數據的地址,用&符號,然後把地址轉換為unsigned char*型,就可以通過*(unsigned char)的方式或(unsigned char)[]的方式訪問了,就這么簡單,希望可以幫到你.
『伍』 51單片機中SBUF中讀出的數據類型
SBUF讀出來的是ASCII碼,數據類型當然是unsigned char,所以如果你從PC發一個數字9給單片機,單片機實際接收到的數據是0x39(9對應的ASCII碼),所以你在程序中判斷的值應該是0x39而不是9。希望我的回答對你有幫助,謝謝!
『陸』 單片機變數定義類型
C語言中,變數一般有兩種屬性,分別是:存儲類別、數據類型。
例如定義一個變數:static unsigned char var = 0; 上述語句中,static(靜態的)為變數的存儲類別,unsigned char(無符號字元型)為變數的數據類型,var為變數名,初始化值為0。
下面給你說明幾點。
存儲類別:即變數在代碼運行期間的存儲方式。c語言提供了4種,分別是:auto(自動的)、static(靜態的)、extern(外部的)、register(寄存器的)。
默認情況下,如果不加存儲類別,則該變數是auto類的,該關鍵字可以省略,其它三個不能省。static的用法是,定義一個局部變數,該變數只進行一次初始化,在程序運行期間一直佔用著內存,每次調用完畢都保持本次調用完後得到的值(而auto調用完一次即釋放內存,下次調用用從新進行初始化)。extern:一個變數被定義成全局變數,加上該關鍵字,意思是提醒編譯器,該變數是在別的C文件中(即你想再一個C文件中調用另外一個C文件的變數,需用該關鍵字進行引入)。register:定義一個變數為該存儲類型,建議編譯器將該變數存放在CUP內部寄存器中,以便該變數頻繁調用而提高代碼運行速度。注意,它是建議型的,一般用在循環次數多的地方,因為變數一般存放在內存中,每次CUP訪問它都得跑到內存去提取,次數多了,影響運行速度。放在內部寄存器就快多了(當然放不放我們不知道,只是建議編譯器這么做),這種變數也是用完就釋放。
數據類型:C語言提供了三種基本數據類型:char型 int型 float型。
默認情況下,char/int/float是指有符號的,即前面都省略了signed關鍵字,如果需要定義成無符號型的,需在前面加上不可省略的unsigned關鍵字。char佔一個位元組,int佔2個位元組(在有的環境下是4個位元組),float佔4個。表示的數據范圍也比較明確,char一個位元組8位,共256種狀態,有符號的最高位表示符號,0為正,1為負,其餘7位表示數字位,2的7次方。int型16位 的,一樣。float型的數據必須要有小數點,一般float能表示6~7位有效數字。上述的數據類型中,如果范圍還不夠大,還可以定義成long型,即長整型,佔4個位元組,而浮點型可以定義成double型,可以表示16~17為小數,當然,它也只佔四個位元組。
『柒』 51單片機c語言編程中,有很多種數據類型。定義數據類型是按照值域定義,但如果要定義一個a,a=2,
2的16進制是0x02;,2進制是0000 0010,也就是說給a的值為0x02
unsigned char型16進制是0x00~0xff,2進制是0000 0000~1111 1111
unsigned int型16進制是0x0000~0xffff,2進制是0000 0000 0000 0000~1111 1111 1111 1111
unsigned long型16進制是0x000000~0xffffff,2進制是0000 0000 0000 0000 0000 0000~1111 1111 1111 1111 1111 1111
如果用char型的就是0000 0010
如果用int型的就是0000 0000 0000 0010
如果用long型的就是0000 0000 0000 0000 0010
如果只是255以下用int型就會浪費一個位元組,不管是ram 還是 flash
因為它不管是存儲還是運行前面都會多一個0x00
『捌』 單片機數據類型
單片機數據類型有bit,sbit,sfr,sfr16都用於單片機的C語言編程。
bit—定義位變數,定義位變數時可以為變數賦值,但不能指定變數的地址。定義格式:bit 變數名=變數值。
sbit—此類型變數只要用於訪問可位定址的特殊功能寄存器中的某個位。定義格式:sbit 變數名=位地址;sbit 變數名=SFR地址^位序號;sbit 變數名=sfr16變數^位序號。
sfr—此類型變數可以訪問指定的8位特殊功能寄存器,地址范圍為0x80~0xFF。定義格式:sfr 變數名=變數地址。
『玖』 單片機的數據類型是什麼意思
(無符號)整型、字元型、浮點型 這就是數據類型
『拾』 單片機各種數據類型的數組的范圍是怎麼決定的
……由硬體配置決定的呀……
如果分配在單片機片內,則根據所選單片機類型已經限制了Flash和SRAM的大小;
如果分配在片外,則根據你在工程配置中填寫的外部可用空間大小決定。
編譯器根據這些配置檢查你分配的空間到底有沒有溢出。一個月薪5k的傢伙想要貸款月還15k是不可能的……