能讓匯編轉(zhuǎn)到C51的初學(xué)者有更清晰的認(rèn)識的一篇文章
雖然說RISC架構(gòu)是公認(rèn)未來微控制器的主流,但是8051藉著累積多年的發(fā)展環(huán)境與資
源,特別是CCompiler的成熟,在未來仍然有相當(dāng)大的想像空間。
希望這是一本可以活用的互動式電子書,以討論及分享KEILC51的程式設(shè)計經(jīng)驗為目的。
目前的內(nèi)容有…
記憶體
8051特有的記憶體型態(tài)
特殊資料型態(tài)
指定絕對位址的變數(shù)
隱藏的初始化程序
程式範(fàn)例
軟體模擬的SingleMasterI2C介面程式
下載KEILC51試用版
8051特有的記憶體型態(tài)
code以MOVC@A+DPTR讀取的程式記憶體
data可以直接存取的內(nèi)部資料記憶體
idata以Mov@Rn存取的內(nèi)部資料記憶體
bdata可以位元定址(BitAddressable)的內(nèi)部記憶體
xdata以MOVX@DPTR存取的外部資料記憶體
pdata以MOVX@Rn存取的外部資料記憶體
特殊資料型態(tài)
bit一般位元(bit)變數(shù)
sbit絕對定址的位元(bit)變數(shù)
語法
sbitmy_flag=location;(location範(fàn)圍從0x00~0x7F)
範(fàn)例
sbitEA=0xAF;
或是配合bdata宣告的位元(bit)變數(shù)
charbdatamy_flags;
sbitflag0=my_flags^0;
(注意sbit前不可以加static)
sfr特殊功能暫存器(SpecialFunctionRegister)
語法
sfrmy_sfr=location;(location範(fàn)圍從0x80~0xFF)
範(fàn)例
sfrP0=0x80;
指定絕對位址的變數(shù)
評論