51單片機學(xué)習(xí)筆記3 C51數(shù)據(jù)類型及最小系統(tǒng)(單片機51的最小系統(tǒng))
一、 C51數(shù)據(jù)類型
1. 基本類型
- 數(shù)值類型:整型(hort,int,long)、浮點型(float,double)
- 字符類型 char
- 構(gòu)造類型:數(shù)組、結(jié)構(gòu)體、共用體、枚舉
- 指針
- 空類型 void
數(shù)據(jù)類型 | 關(guān)鍵字 | 位數(shù) | 數(shù)范圍 |
無符號字符型 | unsigned char | 8 | 0~255 |
有符號字符型 | char | 8 | -128~127 |
無符號整型 | unsigned int | 16 | 0~65535 |
有符號整型 | int | 16 | -32768~32767 |
無符號長整型 | unsigned long | 32 | 0~2 32 ? 1 2^{32}-1232?1 |
有符號長整型 | long | 32 | ? 2 31 -2^{31}?231 ~ 2 31 ? 1 2^{31}-1231?1 |
單精度浮點型 | float | 32 | 3.4e-38~3.4e38 |
雙精度浮點型 | double | 64 | 1.7e-308~1.7e308 |
2. C51擴充數(shù)據(jù)類型
類型 | 長度 | 值域 | 說明 |
bit | 位 | 0/1 | 位變量聲明 |
sbit | 位 | 0/1 | 特殊功能位聲明 |
sfr | 8位=1字節(jié) | 0~255 | 特殊功能寄存器聲明 |
Sfr16 | 16位=2字節(jié) | 0-65535 | Srf的16位數(shù)據(jù)聲明 |
* | 1~3字節(jié) | 對象的地址 |
示例:
sfr SCON=0x98;sbit T1=SCON^1; # 取SCON第一位12
3. C51運算量
(1)常量
- 整型常量,如 長整型:L結(jié)尾;
- 浮點型常量
- 字符型常量:單引號定義,如'a';
- 字符串型常量:雙引號定義,如: “DA”,字符串結(jié)尾處會有0;
(2)變量
略……
(3)位運算符
- & 按位與
- | 按位或
- ^ 按位異或
- ~ 按位取反
- << 左移
- >> 右移
(4)逗號運算符
表達式1, 表達式2, ……表達式n
表達式從左到右運算,返回最右邊一個表達式的值。
4. 數(shù)組
unsigned char x[5];unsigned int y[3]={1,2,3};char string1[10];
二、51 最小系統(tǒng)構(gòu)成
1. 晶振電路
晶振一般選擇12M或11.0592Mhz,
- 12M更容易計算機器周期,
- 串口通訊中使用11.0592MHz更適合,在串行通信設(shè)置波特率時誤差為0.
晶振起振時一瞬間會產(chǎn)生電感,2端加無極性旁路電容,用來消除起振電感,容量一般選擇 10-33p。
2. 復(fù)位電路
復(fù)位條件:在RST/VPD引腳端出現(xiàn) >=10ms時間的高電平時復(fù)位。 高電平要>=3V。
一般有兩種實現(xiàn)方式;
- 上電復(fù)位
- 手動按鍵復(fù)位
(1)上電復(fù)位運行過程
上電時,電容通交流、斷直流,rst會直連5V高電平。
然后電容開始充電,充電完成后,電容對直流隔斷,rst通過r2連到地低電平。
(2)按鍵復(fù)位
按下開關(guān)時,電容放電,放電過程電容通交流,RST相當于連5V高電平。由于R1的阻值很小(有的電路設(shè)計里不用這個R1,但直接對電容短接放電可能不太好),rst也可以通過這個通路連接高電平。
3. 電源電路
4. 下載電路
供電腦使用USB轉(zhuǎn)TTL連接電路板。這里使用CH340C芯片,它自帶晶陣,芯片7、8腳是空的。
如果使用CH340G需要外接晶振。
CH340C的13、14腳要對應(yīng)普中開發(fā)板下載程序使用,通過Q5三極管控制Q3MOS的通斷。
當DTR高電平、RTS低電平,三極管導(dǎo)通,MOS會導(dǎo)通,VCC通電。
當DTR低電平、RTS高電平,三極管截止,Q3的G腳被R20拉低,MOS管截止,VCC沒有電源。
這個電路可以在使用普中開發(fā)板的下載程序省掉冷啟動的過程。