【導(dǎo)讀】STC89C52:8KFLASH、512字節(jié)RAM、32個(gè)IO口、3個(gè)定時(shí)器、1個(gè)UART、8個(gè)中斷源。
單片機(jī)內(nèi)部資源
STC89C52:8KFLASH、512字節(jié)RAM、32個(gè)IO口、3個(gè)定時(shí)器、1個(gè)UART、8個(gè)中斷源
1.Flash(硬盤(pán))——程序存儲(chǔ)空間 —— 擦寫(xiě)10萬(wàn)次,斷電數(shù)據(jù)不丟失,讀寫(xiě)速度慢
2.RAM(內(nèi)存)——數(shù)據(jù)存儲(chǔ)空間 —— 斷電數(shù)據(jù)丟失,讀寫(xiě)速度快,無(wú)限次使用
3.SFR —— 特殊功能寄存器
單片機(jī)最小系統(tǒng)
最小系統(tǒng):最少組件組成單片機(jī)可以工作的系統(tǒng)。
三要素
1.電源電路:5V
2.
晶振電路:11.0592MHZ、兩個(gè)30PF
3.復(fù)位電路:如上圖中所示
● P0:開(kāi)漏輸出,必須加上拉電阻
● 強(qiáng)推挽輸出:電流驅(qū)動(dòng)能力強(qiáng)
● 上下拉電阻:上拉電路就是將不確定的信號(hào)通過(guò)一個(gè)電阻拉到高電平,同時(shí)限流作用,下拉電阻就是下拉到低電平。
● 上下拉電阻選取:從降低功耗方面考慮應(yīng)該足夠大,因?yàn)殡娮柙酱?,電流越小,?qū)動(dòng)能力來(lái)看,小電阻
硬件基礎(chǔ)知識(shí)
1.電磁干擾(EMI)——靜電放電(ESD)、快速瞬間脈沖群(EFT)、浪涌(Surge)
2.去耦電容的使用:低頻濾波電容,平常應(yīng)用最多的事鉭電容,電解電容,陶瓷電容,起到去除電源低頻紋波,穩(wěn)定電源的作用;高頻濾波電容,電容附近,通常用104電容來(lái)進(jìn)行去除高頻干擾
3.三極管(PNP,NPN) b,c,e:電壓驅(qū)動(dòng)、控制應(yīng)、驅(qū)動(dòng)應(yīng)用
LED發(fā)光二極管 —— 電流驅(qū)動(dòng)
通常紅色貼片LED, 靠電流驅(qū)動(dòng),電壓1.8V~2.2V,電流1~20mA,在1~5mA亮度有所變化,5mA以上亮度基本不變。
VCC 電壓是 5V,發(fā)光二極管自身壓降大概是 2V,那么在右邊 R34 這個(gè)電阻上承受的電壓就是 3V。
R = U/I —— 1~20mA —— R:150~3K
C語(yǔ)言基礎(chǔ)
基本運(yùn)算符
+ - * / % ++ -- = == != += -= 《《 》》 && “| ! & | ~ ^
循環(huán)(c語(yǔ)言以表示一條語(yǔ)句)
for/while/do.。.while
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
語(yǔ)句;//可以為空
}
while(表達(dá)式)//表達(dá)式為真,執(zhí)行語(yǔ)句
{
語(yǔ)句;//可以為空
}
do
{
語(yǔ)句;//可以為空
}while(表達(dá)式);
函數(shù) (模塊化的思想)
類型 函數(shù)名(參數(shù)類型 參數(shù))
{
函數(shù)體;
}
數(shù)組
具有相同數(shù)據(jù)類型
具有相同的類型
在存儲(chǔ)器中連續(xù)存儲(chǔ)
51單片機(jī)常用延時(shí)辦法
循環(huán)、定時(shí)器
(P0 = ~(1 《《 i++);)
流水燈
給IO口一個(gè)低電平即可點(diǎn)亮LED燈。(注:?jiǎn)纹瑱C(jī)對(duì)外設(shè)的操作其實(shí)就是對(duì)IO口電平的控制)
#include//包含特殊功能寄存器定義的頭文件
typedefunsignedintuint;
typedefunsignedcharuchar;
intmain(void)
{
uinti=0;//定義循環(huán)變量i,用于軟件延時(shí)
ucharj=0;//定義計(jì)數(shù)變量j,用于移位控制
while(1)//主循環(huán),程序無(wú)限循環(huán)執(zhí)行該循環(huán)體語(yǔ)句
{
P0=~(1《
for(i=0;i《20000;++i);//軟件延時(shí)
if(j》=8)//移位計(jì)數(shù)超過(guò)7后,再重新從0開(kāi)始
{
j=0;
}
}
return0;
}
推薦閱讀: