無(wú)論是哪款單片機(jī)應(yīng)該都有對(duì)應(yīng)的中斷的功能,中斷在嵌入式系統(tǒng)的地位毋庸置疑。LPC1768微處理器包括4個(gè)外部中斷,分別是EINT0、EINT1、EINT2、EINT3對(duì)應(yīng)的引腳分別是P2.10~P2.13,這幾個(gè)引腳也可以作為
1.單片機(jī)片外程序區(qū)讀指令過(guò)程 當(dāng)接通電源且單片機(jī)上電復(fù)位后,程序計(jì)數(shù)器PC-OOOOH,CPU就從OOOOH地址開(kāi)始取指令,執(zhí)行程序。在取指令期間,PC地址低8位送往PO口,經(jīng)鎖存器鎖存作為低8位地
串行口的4種工作方式中的方式0是移位寄存器工作方式,主要用于擴(kuò)展并行I/O用,并不用于串行通信。串行口的方式1~3是用于串行通信的,下面介紹串行口的方式1~3的雙機(jī)串行通信軟件編程。應(yīng)當(dāng)說(shuō)明的
1.實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘的基本思想 時(shí)鐘的最小計(jì)時(shí)單位是秒,如何獲得1s的定時(shí)時(shí)間呢?使用定時(shí)器方式1,最大的定時(shí)時(shí)間也只能達(dá)到131 ms。可將定時(shí)器的定時(shí)時(shí)間定為100 ms,采用中斷方式進(jìn)行溢出次
方式3下的T0和Tl大不相同。T0工作在方式3時(shí),TL0和TH0被分成兩個(gè)獨(dú)立的8位定時(shí)器/計(jì)數(shù)器。其中,TL0可作為8位的定時(shí)器/計(jì)數(shù)器,而TH0只能作為8位的定時(shí)器。此時(shí)T1只能工作在方式0、1或2?! ?/p>
方式2是一個(gè)可以自動(dòng)重新裝載初值的8位計(jì)數(shù)器/定時(shí)器。這種工作方式可以省去用戶程序中重新裝入初值的指令?! ‘?dāng)AT89S51的某個(gè)定時(shí)器/計(jì)數(shù)器不使用時(shí),可為AT89S51擴(kuò)展一個(gè)負(fù)跳沿觸發(fā)的外部
AT89S51單片機(jī)的定時(shí)器/計(jì)數(shù)器結(jié)構(gòu)如下圖所示,定時(shí)器/計(jì)數(shù)器T0由特殊功能寄存器TH0、TL0構(gòu)成,定時(shí)器/計(jì)數(shù)器Tl由特殊功能寄存器TH1、TL1構(gòu)成?! 蓚€(gè)定時(shí)器/計(jì)數(shù)器都具有定時(shí)器和計(jì)數(shù)器
AT89S51為用戶提供兩個(gè)外部中斷請(qǐng)求輸入端INT0(的反)和INT1(的反),實(shí)際的應(yīng)用系統(tǒng)中,兩個(gè)外部中斷請(qǐng)求源往往不夠用,需對(duì)外部中斷源進(jìn)行擴(kuò)充。下面介紹一種擴(kuò)充外部中斷源的方法?! ∪?/p>
中斷系統(tǒng)的運(yùn)行必須與中斷服務(wù)子程序配合才能正確使用。設(shè)計(jì)中斷服務(wù)子程序需要首先明確以下幾個(gè)問(wèn)題。 中斷服務(wù)子程序設(shè)計(jì)的任務(wù) 中斷服務(wù)子程序設(shè)計(jì)的基本任務(wù)有下列4條:
某個(gè)中斷請(qǐng)求被響應(yīng)后,就存在著一個(gè)中斷請(qǐng)求的撤銷問(wèn)題。下面接中斷請(qǐng)求源的類型分別說(shuō)明中斷請(qǐng)求的撤銷方法。 1.定時(shí)器/計(jì)數(shù)器中斷請(qǐng)求的撤銷 定時(shí)器/計(jì)數(shù)器中斷的中斷請(qǐng)求被響
實(shí)現(xiàn)中斷允許控制和中斷優(yōu)先級(jí)控制分別由特殊功能寄存器區(qū)中的中斷允許寄存器IE和中斷優(yōu)先級(jí)寄存器IP來(lái)實(shí)現(xiàn)的。下面介紹這兩個(gè)特殊功能寄存器?! ≈袛嘣试S寄存器IE AT89S51的CPU對(duì)各中
分支轉(zhuǎn)移程序的特點(diǎn)是程序中含有轉(zhuǎn)移指令,轉(zhuǎn)移指令又分為無(wú)條件轉(zhuǎn)移和有條件轉(zhuǎn)移,因此分支程序也可分為無(wú)條件分支轉(zhuǎn)移程序和有條件分支轉(zhuǎn)移程序。無(wú)條件分支轉(zhuǎn)移程序很簡(jiǎn)單,這里不再討論。有條件
數(shù)據(jù)排序就是將一批數(shù)由小到大(升序)排列,或由大到?。ń敌颍┡帕?。下面介紹無(wú)符號(hào)數(shù)據(jù)升序排序程序設(shè)計(jì)。 最常用的數(shù)據(jù)排序算法是冒泡法。冒泡法是相鄰數(shù)互換的排序方法,因其過(guò)程類似水
數(shù)據(jù)極值查找就是在指定的數(shù)據(jù)區(qū)中找出最大值(或最小值)?! O值查找操作的主要內(nèi)容是進(jìn)行數(shù)值大小的比較,從這批數(shù)據(jù)中找出最大值(或最小值)并存于某一單元中?! ?片內(nèi)RAM中存放一
關(guān)鍵字查找實(shí)際就是在表中查找關(guān)鍵字的操作,也稱為數(shù)據(jù)檢索。數(shù)據(jù)檢索有兩種方法,即順序檢索和對(duì)分檢索?! ?.順序檢索 如果要檢索的表是無(wú)序的,檢索時(shí)只能從第1項(xiàng)開(kāi)始逐項(xiàng)順序查找