中斷系統(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)求的撤銷方法?! ?.定時(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ì)?! ∽畛S玫臄?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)開始逐項(xiàng)順序查找
許多應(yīng)用系統(tǒng)中都需要進(jìn)行程序代碼升級(jí),如果程序代碼在外部Flash存儲(chǔ)器中,實(shí)現(xiàn)程序代碼升級(jí)可以對(duì)外部Flash直接操作。但對(duì)于在單片機(jī)內(nèi)部的一些系統(tǒng)程序代碼,就要求此單片機(jī)支持IAP(In-ApplICati
在實(shí)際的程序設(shè)計(jì)中,常常將那些需多次應(yīng)用的、完成相同的某種基本運(yùn)算或操作的程序段從整個(gè)程序中獨(dú)立出來(lái),單獨(dú)編成一個(gè)程序段,需要時(shí)通過(guò)子程序調(diào)用指令進(jìn)行調(diào)用。這樣的程序段稱為子程序。
1.關(guān)于并行I/O口的“讀引腳”和“讀鎖存器”指令的區(qū)別 讀并行I/O口有“讀引腳”和“讀鎖存器”之分。以Pl口為例,當(dāng)P1口的P1.0引腳外接一個(gè)發(fā)光二極管LED的陽(yáng)極,LED的陰極接地。若想查看
作為指令系統(tǒng)的總結(jié),表3-2列出了按功能排列的全部的AT89S51指令助記符及功能簡(jiǎn)要說(shuō)明,以及指令長(zhǎng)度、執(zhí)行時(shí)間和指令代碼(機(jī)器代碼)??筛鶕?jù)指令助記符,迅速查到對(duì)應(yīng)的指令代碼(手工匯編)。也
AT89S51單片機(jī)內(nèi)部有一個(gè)位處理機(jī),對(duì)位地址空間具有豐富的位操作指令?! ?.?dāng)?shù)據(jù)位傳送指令 這組指令的功能是把由源操作數(shù)指定的位變量送到目的操作數(shù)指定的單元中。其中一個(gè)操作數(shù)必
1.累加器A字節(jié)清0指令 該條指令的功能是累加器A清0。不影響Cy、Ac、OV等標(biāo)志位。 2.累加器A字節(jié)求反指令 該條指令的功能是將累加器A的內(nèi)容按位邏輯取反,不影響標(biāo)志位?! ?/p>
眾所周知, 有一些公司或個(gè)人專門做單片機(jī)的解密服務(wù),另外,單片機(jī)的指令不論怎樣加密最終它還要在明文的方式下才能運(yùn)行, 而且解密者可以使用單片機(jī)開發(fā)系統(tǒng)單步調(diào)試ROM中的程序。當(dāng)解密者了解了指令
在AT89S51指令系統(tǒng)中,有單字節(jié)的加、減、乘、除法指令,算術(shù)運(yùn)算功能比較強(qiáng)。算術(shù)運(yùn)算指令都是針對(duì)8位二進(jìn)制無(wú)符號(hào)數(shù)的,如要進(jìn)行帶符號(hào)或多字節(jié)二進(jìn)制數(shù)運(yùn)算,需編寫具體的運(yùn)算程序,通過(guò)執(zhí)行程序