CX51變數和運算子

2021-10-10 20:48:14 字數 1645 閱讀 5710

每寫乙個程式,總離不開資料的應用,在學習 c51 語言的過程中掌握理解資料型別也是 很關鍵的。先看錶 3-1,表中列出了 keil uvision2 微控制器c語言編譯器所支援的資料型別。

在標準c語言中基本的資料型別為 char,int,short,long,float 和 double,而在c51編譯器中int 和 short 相同,float 和 double 相同,這裡就不列出說明了。下面來看看它們的具體定 義:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-4ayoyktj-1606314629759)(c:\users\jamesbin\desktop\51微控制器系列教程\\20160921225959808.png)]

8051 系列微控制器在物理上有四個儲存空間:

1,片內程式儲存空間;

2,片外程式儲存空間;

3,片內資料儲存空間;

4,片外資料儲存空間。

先講資料儲存器。大家都知道8051微控制器資料儲存器可劃分為兩大區域:00h~7fh為片內低128位元組ram區;80h~ffh 為特殊功能暫存器區(sfr)。位址為00h~7fh的低128位元組片內ram區又可劃分為三個區域:

a、通用暫存器區:位址(00h~1fh)通用暫存器區由4個暫存器組成:0組(00h07h),1組(08h0fh),2組(10h17h),3組(18h1fh),每個暫存器組含有8個通用暫存器:r0,r1,r2,r3,r4,r5,r6,r7,共有32個通用暫存器。

bit 、 sfr 、sfr16 和sbit是keil c51中新增的變數型別。

bit用來定義位變數,值只能是0或1。位變數位於8051微控制器內部ram位定址區(20h~2fh),共為16位元組,最多可定義128個位變數。

sfr用於定義特殊功能暫存器變數。該變數儲存在片內的特殊功能暫存器儲存區中,用來對特殊功能暫存器進行讀寫操作。

sfr16也用於定義特殊功能暫存器,所不同的是它用於操作佔兩個位元組的特殊功能暫存器。

sbit用於定義特殊功能暫存器位變數,用來對特殊功能暫存器的可位定址位進行讀寫操作。

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-hujtinrc-1606314629761)(c:\users\jamesbin\desktop\51微控制器系列教程\\20160921230003996.png)]

使用data儲存模式,目標**中對變數的訪問速度最快,把經常使用的變數放在data區可提高程式執行速度。

若定義i為儲存型別為data的無符號字元型資料,可宣告為:

若定義i為儲存型別為data的無符號字元型資料,可宣告為:unsigned char data i

code將變數儲存在程式儲存器中,變數只能讀不能寫,因此適合儲存常量或查表類的陣列資料,不能用於儲存程式執行過程中需要修改的變數。如果想改變變數值,只能在程式中修改後重新將程式燒寫進rom中。

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-vq0a5lnt-1606314629762)(c:\users\jamesbin\desktop\51微控制器系列教程\\timg.jpg)]

c51的語法規定、程式結構及程式設計方法都與標準的c語言程式設計相同,但c51程式與標準的c程式在以下幾個方面不一樣:

java變數和運算子

1比較運算子其實就是比較兩個數字大小的符號 2邏輯運算子就是指的一種關係 3 異或和或 點不同,兩邊結果相同結果為false,兩邊結果不相同結果為true,另乙個不同,是單的可以參加位運算 4 和 與 和 的區別 運算結果是一樣,過程有點小區別,雙的特點是只要左邊符合條件右邊就不運算了 5位運算子 ...

變數和常見運算子

變數 1,變數型別 資料型別,python的資料型別,是一門弱資料語言 基本資料型別 數值型 整數型 int 浮點型 float 複數型 了解即可 布林型別 boolean true 真 false 假 字串 單引號 雙引號 三引號 none 代表沒有 復合資料型別 物件 引用 list set d...

練習 變數和運算子

1.寫出判斷乙個數是否能同時被3和7整除的條件語句,並且列印對應的結果num1 input 請輸入數值 if int num1 3 0 and int num1 7 0 print 這個數能同時被3和7整除 else print 這個數不能同時被3和7整除 2.寫出判斷乙個數是否能夠被3或者7整除,...