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

正文內(nèi)容

【大學(xué)課件】80c51單片機(jī)匯編語言程序設(shè)計(jì)ppt(完整版)

2025-09-06 16:21上一頁面

下一頁面
  

【正文】 a> T55,轉(zhuǎn)降溫處理程序 CJNE A, 54H, LOOP2 。兩數(shù)比較 JNC BIG1 。 分支程序結(jié)構(gòu) ( 1)單分支結(jié)構(gòu)舉例 假定在外部 RAM中有 ST ST2和 ST3共 3個連續(xù)單元,其中 ST1和 ST2單元中存放著兩個無符號二進(jìn)制數(shù),要求找出其中的大數(shù)并存入 ST3單元中。進(jìn)位送 00H位保存 MOV R0, 20H。被加數(shù)的低字節(jié)地址 MOV R1, 55H。 根據(jù)實(shí)際問題的要求和指令系統(tǒng)的特點(diǎn),確定解決問題的具體步驟。 4. 注釋 不屬于語句的功能部分,只是對語句的解釋說明,以 “;”開頭。 ? 不能使用本匯編語言已經(jīng)定義的符號作為標(biāo)號。缺乏通用性,程序不易移植。 優(yōu)點(diǎn):執(zhí)行速度快、占用內(nèi)存少。非常適合于實(shí)時控制的需要。 高級語言的不足:生成的目標(biāo)代碼較長,導(dǎo)致應(yīng)用程序運(yùn)行速度較慢。不能空缺。程序既無分支、循環(huán),也不調(diào)用子程序,程序執(zhí)行時一條接一條地按順序執(zhí)行指令。 查錯、改錯,對程序進(jìn)行優(yōu)化。存中間字節(jié)相加結(jié)果 DEC R0 DEC R1 MOV A, R0 ADDC A, R1。一般都 使用條件轉(zhuǎn)移指令 對程序的執(zhí)行結(jié)果進(jìn)行判 斷。第 1個數(shù)存于 R2 INC DPTR 。 CJNE A, 55H, LOOP1 。此外,在內(nèi)部RAM 54H單元存放溫度下限值 T54,在 55H單元存放溫度上限值 T55。地址表首址 MOVC A, A+DPTR 。轉(zhuǎn)分支程序 127 BR0: … 。取高位地址 PUSH ACC 。 ( 2) 處理部分 : 為反復(fù)執(zhí)行的程序段 , 是循環(huán)程序的實(shí)體 , 也是循環(huán)程序的主體 。同時在程序中還應(yīng)設(shè)置一 個字符串指針以順序定位字符,設(shè)置一個字符長度計(jì)數(shù)器以 累計(jì)字符個數(shù)。 開始初始化部分結(jié)束循環(huán)控制部分NY循環(huán)體( 1)單循環(huán)定時程序 MOV R5, TIME; LOOP: NOP; NOP; DJNZ R5, LOOP; 假設(shè) 單片機(jī)晶振頻 率 fosc=6MHz, 則一個機(jī)器周期為 2μ s,NOP、 DJNZ指令分別是單、雙機(jī)器周期指令。 查表程序 所謂 查表程序,就是指預(yù)先把數(shù)據(jù)以表格形式存放在程序存儲器中,然后使用程序讀出,這種能讀出表格數(shù)據(jù)的程序 就稱之為查表程序。 ORG 1000H 1000H SQR: MOV A, 30H; A←x 1002H PUSH DPH; 現(xiàn)場保護(hù) 1004H PUSH DPL; 1006H MOV DPTR, TAB1; DPTR← 表首地址 TAB1 1009H MOVC A, A+DPTR; 查表得 y 100AH MOV 40H, A; 40H←y 100CH POP DPL; 現(xiàn)場恢復(fù) 100EH POP DPH; 1010H RET 1011H TAB1: DB 00H, 01H, 04H, 09H, 10H, 19H DB 24H, 31H, 40H, 51H 例:設(shè)計(jì)一個子程序,其功能為根據(jù) x的內(nèi)容( 0~ 9之間)查平方表,求出相應(yīng)的結(jié)果 y( y=x2)。 由于手工編程是按絕對地址進(jìn)行定位的,所以手工匯編時要根據(jù)轉(zhuǎn)移的目標(biāo)地址計(jì)算轉(zhuǎn)移指令的偏移量,不但 麻煩而且容易出錯 。 單片機(jī)匯編語言程序生成過程 對匯編語言程序進(jìn)行機(jī)器交叉匯編時,必須告訴計(jì)算機(jī)的匯編程序應(yīng)該 如何完成匯編工作 ,這一任務(wù)就是通過使用 偽指令 來實(shí)現(xiàn)的。 選擇項(xiàng) 通常為 16位絕對地址,但也可以使用標(biāo)號或表達(dá)式表示 例: ORG 8000H START: MOV A, 00H; ┇ 即規(guī)定標(biāo)號 START代表地址 8000H, 目標(biāo)程序的第一條指令從 8000H開始。賦值以后的字符名稱既可以作地址使用,也可以作立即數(shù)使用。 例: ORG 8100H TAB: DB 0COH, 0F9H, 0A4H, 0B0H; ┋ 定義的 7段數(shù)碼管(共陽極)顯示的十六進(jìn)制基數(shù)( 0~ F)的十六進(jìn)制數(shù)的字形代碼從 8101H地址單元開始存放。如數(shù)據(jù)的數(shù)目較多時,可使用多個定義命令。 例: AQ BIT 功能是把 AQ,在其后的編程中AQ就可以作為位地址使用 補(bǔ)充內(nèi)容:子程序結(jié)構(gòu) 子程序結(jié)構(gòu)是一種非常重要的程序結(jié)構(gòu)。 ( 1)子程序的編程原則 在實(shí)際的單片機(jī)應(yīng)用系統(tǒng)軟件設(shè)計(jì)中 , 為了程序結(jié)構(gòu)更加清晰 , 易于設(shè)計(jì) , 易于修改 , 增強(qiáng)程序可讀性 , 基本上都要使用子程序結(jié)構(gòu) 。 子程序執(zhí)行時間 :子程序中所有指令的機(jī)器周期數(shù)總和。 另外,保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場也可以在主程序 中實(shí)現(xiàn)。 思考題:統(tǒng)計(jì)正數(shù)、負(fù)數(shù)、零的個數(shù)。 ( 2)參數(shù)傳遞的方法 主程序調(diào)用子程序時 , 主程序和子程序之間存在著參數(shù)互相傳遞的問題 。 d)較強(qiáng)的通用性和可浮動性,盡可能避免使用具體的內(nèi)存單元和絕對轉(zhuǎn)移地址等。 子程序功能 :簡要說明子程序能完成的主要功能。對此,可采用子程序結(jié)構(gòu),即 把重復(fù)的程序段編寫為一個子程序,通過主程序調(diào)用而使用它 。 6. 定義存儲區(qū)命令 DS( Define Stonage) 該命令用于從指定地址開始,在程序存儲器中保留指定數(shù) 目的單元作為預(yù)留存儲區(qū),供程序運(yùn)行使用。 命令格式: [〈 標(biāo)號: 〉 ]DW〈 16位數(shù)表 〉 存放時,數(shù)據(jù)字的高 8位在前(低地址),低8位在后(高地址)。常使用本命令存放數(shù)據(jù)表格。 END是匯編語言源程序的結(jié)束標(biāo)志,因此,在整個匯編語言源程序中只能有一個 END指令,且位于程序的最后。 它具有控制匯編程序的輸入輸出、定義數(shù)據(jù)和符號、條件匯編、分配存儲空間等功能。編輯完成后,生成一個由匯編指令和偽指令構(gòu)成的擴(kuò)展名為“ .ASM”的 ASCII碼文件。 上例中 , 如果使用 MOVC A, A+PC指令 , 則 編程如下: ORG 1000H 1000H SQR: MOV A, 30H; A←x 1002H PUSH DPH; 現(xiàn)場保護(hù) 1004H PUSH DPL; 1006H ADD A, 07H; 加偏移量 1008H MOVC A, A+PC; 查表得 y 1009H MOV 40H, A; 40H←y 100BH POP DPL; 現(xiàn)場恢復(fù) 100DH POP DPH; 100FH RET 1010H TAB1: DB 00H, 01H, 04H, 09H, 10H, 19H DB 24H, 31H, 40H, 51H 此題中,偏移量 =1010H1009H=07H 編輯: 編寫程序的過程。 MCS51單片機(jī) 指令系統(tǒng)中 有 兩條 專用查表指令 : ( 1) MOVC A, A+DPTR; A← (( A) +( DPTR)) ( 2) MOVC A, A+PC; A← (( A) +( PC)) 這兩條 查表指令 的功能是完全相同的,其 共同優(yōu)點(diǎn) 是:能在不改變 PC和 DPTR的狀態(tài)下,只根據(jù) A的內(nèi)容就可以取出表格中的數(shù)據(jù)。 例: MOV R0, TTME; LOOP: ADD A, R1; INC DPTR; DJNZ R0, LOOP; 由于 ADD、 INC、 DJNZ指令的機(jī)器周期分別為 2, 所以 ,該程序定時時間為 =( 1+2+2) 2μ s Time( μ s) 。 ( 7)程序流程框圖; 開始初始化數(shù)據(jù)指針結(jié)束數(shù)傳送完否NY初始化控制變量取數(shù)數(shù)據(jù)傳送修改指針變量是$ 嗎?YN ORG 0030H DATACS: MOV R0, DATA; DATA數(shù)據(jù)區(qū)首地址 MOV DPTR, BUFFER; BUFFER數(shù)據(jù)區(qū)
點(diǎn)擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1