1、什么是單片機(jī)?
單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。完整的計(jì)算機(jī)系統(tǒng)包括:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),同時(shí)集成諸如通信接口、定時(shí)器、實(shí)時(shí)時(shí)鐘等外圍設(shè)備,
2、Keil C51存儲(chǔ)區(qū)關(guān)鍵字
(1)內(nèi)部數(shù)據(jù)存儲(chǔ)區(qū)----分三種不同的存儲(chǔ)類型data、idata和bdata
data:存儲(chǔ)類型標(biāo)識(shí)符通常指低128字節(jié)的內(nèi)部數(shù)據(jù)區(qū),存儲(chǔ)的變量直接尋址
idata:存儲(chǔ)類型標(biāo)識(shí)符指內(nèi)部的256個(gè)字節(jié)的存儲(chǔ)區(qū),但是只能間接尋址,而且速度比直接尋址慢
bdata:存儲(chǔ)類型標(biāo)識(shí)符指內(nèi)部可尋址的16字節(jié)存儲(chǔ)區(qū),20H到2FH可以在本區(qū)域聲明可尋址位的數(shù)據(jù)類型
(2)外部數(shù)據(jù)存儲(chǔ)區(qū)
外部數(shù)據(jù)區(qū)可讀寫訪問外部數(shù)據(jù)區(qū)比內(nèi)部數(shù)據(jù)區(qū)慢,因?yàn)橥獠繑?shù)據(jù)區(qū)是通過一個(gè)數(shù)據(jù)指針加載一個(gè)地址間接訪問的,編輯器提供兩種不同的存儲(chǔ)類型訪問外部數(shù)據(jù)xdata和pdata
xdata:存儲(chǔ)類型標(biāo)識(shí)符指外部數(shù)據(jù),64K字節(jié)內(nèi)的任何地址(STC89C52RC)
pdata:存儲(chǔ)類型標(biāo)識(shí)符僅指1頁或者256字節(jié)的外部數(shù)據(jù)區(qū)
(3)程序存儲(chǔ)區(qū)
程序存儲(chǔ)區(qū)是只讀的,最多可以有64K字節(jié)的程序存儲(chǔ)區(qū),程序代碼包括所有的函數(shù)和庫(kù)保存在程序區(qū),常數(shù)變量也是保存在程序存儲(chǔ)區(qū),C51編輯器可以使用code關(guān)鍵字標(biāo)識(shí)符來訪問程序存儲(chǔ)區(qū)
3、sbit使用
sbit P0_1 = P0^1; //說明:其中P0必須先用sfr定義好
因此這里用 sbit P0_7 = P0^7;就是定義用符號(hào)P0_7來表示P0.7引腳
4、中斷系統(tǒng)
中斷服務(wù)函數(shù):當(dāng)出現(xiàn)中斷時(shí),程序運(yùn)行轉(zhuǎn)移到標(biāo)記有“interrupt”關(guān)鍵字的函數(shù)內(nèi)進(jìn)行相關(guān)中斷信息的處理
keil開發(fā)環(huán)境中,中斷服務(wù)函數(shù)是以函數(shù)的方式來實(shí)現(xiàn)的,中斷服務(wù)函數(shù)格式如下:
void 函數(shù)名(void) interrupt 中斷號(hào) using 工作組
{
//中斷服務(wù)函數(shù)內(nèi)容
}
例如:
void Timer0IRQ(void) interrupt 1 using 0 //中斷服務(wù)函數(shù)
{
TH0 = (65536-50000)/256; //計(jì)數(shù)器寄存器高8位重新載入
TL0 = (65536-50000)%256; //計(jì)數(shù)器寄存器低8位重新載入
P2 = 1<<i; //進(jìn)行移位操作
i++; //自加
}
注意:using 工作組可以忽略不寫,而寄存器工作組有4個(gè)(0-3);默認(rèn)使用寄存器工作組0
即
void Time0IRQ(void) interrupt 1
{
}
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注