8051是傳統的8位微控制器,一般為256b 資料儲存器ram,4k程式儲存器rom (8052有384bytes的ram,8k的rom)
在51系列中可定義的資料型別有data,idata,xdata,pdata,bdata:
data:指晶元核心中位址0x00-0x7f的128個位元組ram區域和4個分組的r1-r7暫存器區域,所占用的區域,彙編acc訪問,可以直接讀寫,速度最快,生成**小。
idata:固定指前面0x00-0xff的256個ram,其中前128位元組和data的128位元組完全相同,但訪問的方式不同。idata是用類似指標方式訪問的。
xdata:外部擴充套件儲存,一般指外部0x0000-0xffff位址空間,用dptr訪問。一般指微控制器的flash,雖然flash的結構封裝在微控制器中,但相對微控制器ram仍屬於外部訪問器。
pdata:外部擴充套件ram的低256個位元組,位址a0-a7上的讀寫。
bdata:
若程式需要8個或者更多的bit變數,如果你想一次性給8個變數賦值的話就不方便,又不可以定義bit陣列,可使用bdata定義變數
char bdata mode;
sbit mode_7 = mode^7;
sbit mode_6 = mode^6;
sbit mode_5 = mode^5;
sbit mode_4 = mode^4;
sbit mode_3 = mode^3;
sbit mode_2 = mode^2;
sbit mode_1 = mode^1;
sbit mode_0 = mode^0;
8個bit變數分別為mode_n,注意一定是sbit而不是 bit mode_0 = mode^0;賦值語句要是這麼寫c語言就視為異或運算。
資料使用不同的儲存器,程式執行效率不同,編寫c51程式指定變數的儲存型別有利於提高程式執行效率。與ansi-c稍有不同,它只分samll、compact、large模式,各種不同的模式對應不同的實際硬體系統,也將有不同的編譯結果。
51微控制器
數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...
51微控制器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...
51微控制器
設計包含乙個矩陣式鍵盤電路和動態顯示電路的微控制器應用系統,通過根據按下不同的數字按鍵 0 9 在數碼管上顯示出自己學號的後8位。各位大神幫忙挑挑錯,或者問題太大了可以幫忙寫乙個新的麼!萬分感謝!好著急 a 8255 equ 7cffh a口 b 8255 equ 7dffh b口 c 8255 e...