freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)技術(shù)及應(yīng)用_第四章_mcs-51程序設(shè)計(jì)(文件)

 

【正文】 ? LOOP: MOVX DPTR,A ? INC DPTR 。 ? 延時(shí)程序與 MCS51執(zhí)行指令的時(shí)間有關(guān),如果使用 6MHz晶振,一個(gè)機(jī)器周期為 2μs,計(jì)算出執(zhí)行一條指令以至一個(gè)循環(huán)所需要的時(shí)間,給出相應(yīng)的循環(huán)次數(shù),便能達(dá)到延時(shí)的目的。( 248*2+4) *200+4) *100+4 ? RET 單片機(jī)技術(shù)及應(yīng)用 ? 使用多重循環(huán)程序時(shí),必須注意以下幾點(diǎn): (1) 循環(huán)嵌套,必須層次分明,不允許產(chǎn)生內(nèi)外層循環(huán)交叉。如果每次都從頭開(kāi)始編制一段程序,不僅麻煩,而且浪費(fèi)存儲(chǔ)空間。 ? 調(diào)用子程序有以下優(yōu)點(diǎn): ? (1) 避免對(duì)相同程序段的重復(fù)編制。使用這種方法可使程序最簡(jiǎn)單,運(yùn)算速度也最高。因此,僅需把 20H單元中兩個(gè) BCD數(shù)拆開(kāi),分別和 30H相加即可,可以編出程序如下: ? ORG 0000H ? ASC1: MOV R0, 22H ? MOV R0, 00H ? MOV A, 20H ? XCHD A, R0 ? ORL 22H, 30H ? SWAP A ? ORL A, 30H ? MOV 21H, A ? SJMP $ ? END 單片機(jī)技術(shù)及應(yīng)用 用指針寄存器來(lái)傳遞參數(shù) ? 由于數(shù)據(jù)一般存放在存儲(chǔ)器中,而不是工作寄存器中,故可用指針來(lái)指示數(shù)據(jù)的位置,這樣可以大大節(jié)省傳遞數(shù)據(jù)的工作量,并可實(shí)現(xiàn)可變長(zhǎng)度運(yùn)算。調(diào)用時(shí),主程序可用PUSH指令把參數(shù)壓入堆棧中。使用這種方法時(shí),由于參數(shù)在堆棧中,故大大簡(jiǎn)化了中斷響應(yīng)時(shí)的現(xiàn)場(chǎng)保護(hù)。 ? 解:程序如下: ? HASC: MOV R0,SP ? DEC R0 ? DEC R0 。將查表結(jié)果放回堆棧中 ? RET ? DB 39。ABCDEF39。 ? 解:參考程序如下: ? ORG 0000H ? HTA2: MOV R0,SP ? DEC R0 ? DEC R0 ? PUSH ACC 。低位 HEX的 ASCII碼放入堆棧中 單片機(jī)技術(shù)及應(yīng)用 ? SWAP A ? ANL A,0FH ? ADD A,7 。012345678939。 ? 解:參考程序如下: ? ORG 0000H ? SCOT4: PUSH 50H ? ACALL HTA2 ? POP ACC ? ACALL COUT ? POP ACC ? ACALL COUT ? PUSH 51H ? ACALL HTA2 ? POP ACC ? ACALL COUT ? POP ACC ? ACALL COUT ? COUT: JNB TI,COUT 。調(diào)用時(shí),常數(shù)作為程序代碼的一部分,緊跟在調(diào)用子程序后面。棧中指針 ? POP DPL ? SOT1: CLR A ? MOVC A,A+DPTR ? INC DPTR ? JZ SEND ? JNB TI,$ 。例如, x為不定長(zhǎng)的字符串或 x為某些 ASCII字符。 ? 解:程序如下: ? START: MOV DPTR,TABLE ? LOOP: CLR A ? MOVC A,A+DPTR ? CJNE A,03H,LOOP1 ? JMP START ? LOOP1: MOV P1,A ? ACALL DEL ? INC DPTR ? JMP LOOP ? 單片機(jī)技術(shù)及應(yīng)用 ? TAB: DB 01H,02H,04H,08H,10H,20H,40H,80H ? DB 80H,40H,20H,10H,08H,04H,02H,01H ? DB 00H,0FFH,00H,0FFH,00H,0FFH,03H ? DEL: MOV R7,0FFH ? DEL1: MOV R6,0FFH ? DEL2: DJNZR6,DEL2 ? DJNZR7,DEL1 ? RET ? END 單片機(jī)技術(shù)及應(yīng)用 散轉(zhuǎn)程序設(shè)計(jì) ? 散轉(zhuǎn)程序是分支程序的一種,它由輸入條件或運(yùn)算結(jié)果來(lái)確定轉(zhuǎn)入各自的處理程序。該指令是把累加器 A的 8位無(wú)符號(hào)數(shù) (作地址的低 8位 )與 16位數(shù)據(jù)指針的內(nèi)容相加,其和送入程序計(jì)數(shù)器,作為轉(zhuǎn)移指令的地址。 ? 【 例 418】 根據(jù) R6的內(nèi)容,轉(zhuǎn)向各個(gè)處理程序。用查表指令,找到對(duì)應(yīng)的轉(zhuǎn)向地址,把它裝入 DPTR中。 ? 解:參考程序如下: ? ORG 0000H ? PJ3: MOV DPTR,TAB3 ? MOV A,R3 ? ADD A,R3 。處理程序入口地址高 8位暫存 R2 ? INC A ? MOVC A,A+DPTR ? MOV DPL,A 。有進(jìn)位 DPTR高位加 1 ? CAD: MOV R2,A 。 單片機(jī)技術(shù)及應(yīng)用 【 例 419】 根據(jù) R3的內(nèi)容轉(zhuǎn)向?qū)?yīng)處理程序。 ? 標(biāo)號(hào)為 LOP0的程序?yàn)橛?P1口控制的彩燈兩端向中間點(diǎn)亮,標(biāo)號(hào)為L(zhǎng)OP1的程序?yàn)橛?P1口控制的彩燈左移順次點(diǎn)亮,標(biāo)號(hào)為 LOP2的程序?yàn)橛?P1口控制的彩燈右移順次點(diǎn)亮。 單片機(jī)技術(shù)及應(yīng)用 用轉(zhuǎn)移指令表實(shí)現(xiàn)散轉(zhuǎn) ? 在許多場(chǎng)合中,要根據(jù)某一單元的值 0, 1, 2, …, n分別轉(zhuǎn)向處理程序 0,處理程序 1, … ,處理程序 n。由于每一種情況都有判斷和轉(zhuǎn)移,如對(duì) n種情況,需要 n個(gè)判斷和轉(zhuǎn)移,因此它的缺點(diǎn)是程序比較長(zhǎng)。 單片機(jī)技術(shù)及應(yīng)用 1. 用 MOVC A, A+PC查表指令編程 【 例 416】 用查表方法編寫(xiě)彩燈控制程序,編程使彩燈先順次點(diǎn)亮,再逆次點(diǎn)亮,然后連閃 3下,反復(fù)循環(huán)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1