查表程序設(shè)計(jì).ppt_第1頁(yè)
查表程序設(shè)計(jì).ppt_第2頁(yè)
查表程序設(shè)計(jì).ppt_第3頁(yè)
查表程序設(shè)計(jì).ppt_第4頁(yè)
查表程序設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、查表程序設(shè)計(jì),主要內(nèi)容: 1、DB和DW建表偽指令 2、MOVC查表指令 3、查表程序,一、查表程序簡(jiǎn)介,查表程序是一種常用的程序結(jié)構(gòu),廣泛用于顯示、打印、數(shù)據(jù)轉(zhuǎn)換等功能。可以簡(jiǎn)化程序、提高程序運(yùn)行速度。,一、查表程序簡(jiǎn)介,二、DB和DW建表偽指令,1、DB偽指令 指令格式:DB 數(shù)據(jù)1,數(shù)據(jù)2, 數(shù)據(jù)3, 指令功能:在單片機(jī)程序存儲(chǔ)器中,從指定存儲(chǔ)地址開(kāi)始,占用連續(xù)的存儲(chǔ)單元存放數(shù)據(jù),建立數(shù)據(jù)表格。 注意:表格中的每個(gè)數(shù)據(jù)為8位二 進(jìn)制數(shù)。,例如: ORG 0000H ; 程序開(kāi)始 ;程序指令略 ORG 0100H;ORG;偽指令指定表格存放的起始地址。 DB 00H , 01H, 02H

2、; 從起始地址開(kāi)始,表格數(shù) DB 03H , 04H, 05H ; 據(jù)順序存放。 END ;結(jié)束,例如: ORG 0000H ; 程序開(kāi)始 ; 程序指令略 ; TAB: DB 00H , 01H, 02H ;TAB是表格起始標(biāo)號(hào)。 DB 03H , 04H ,05H ;每個(gè)數(shù)據(jù)是8位二進(jìn)制數(shù) END ;結(jié)束,2、DW偽指令 指令格式: DW 數(shù)據(jù)1,數(shù)據(jù)2,數(shù)據(jù)3, 指令功能:在單片機(jī)程序存儲(chǔ)器中,從指定地址開(kāi)始,占用連續(xù)的存儲(chǔ)單元存放數(shù)據(jù),建立表格。 注意: 表格中的每個(gè)數(shù)據(jù)是16位二進(jìn)制數(shù)。,2、DW偽指令 例如: ORG 0000H ;程序開(kāi)始 ;程序指令 ORG 0200H ;表格開(kāi)始

3、地址 DW 0000H,0200H,0300H,0400H ;表格 END ;結(jié)束,三、MOVC查表指令,指令格式: MOVC A , A+DPTR 指令功能:設(shè)定A和DPTR的數(shù)據(jù) A+DPTR表示程序存儲(chǔ)器單元地址 MOVC指令將地址單元的數(shù)據(jù)取出存 入累加器A中。,四、查表編程舉例,ORG 0000H ;開(kāi)始 MOV DPTR ,#0100H ;(DPTR)=0100H MOV A , #00H ;(A)=00H MOV R7,#6 ; (R7)=6 LOOP: MOVC A , A+DPTR ;(A)=(A)+(DPTR),查表取數(shù) INC DPTR ;(DPTR)=(DPTR)+1

4、CLR A ;(A)=00H DJNZ R7 , LOOP ;(R7)=(R7)-1,不為零跳轉(zhuǎn) SJMP $ ; 跳轉(zhuǎn)本身 ORG 0100H ; 指定表格開(kāi)始地址 DB 00H , 01H , 03H , 07H , 0FH , 0F0H ; END ; 結(jié)束,源程序:,ORG 0000H ;開(kāi)始 MOV DPTR ,#TAB ;(DPTR)=TAB MOV A , #00H ;(A)=00H MOV R7,#6 ; (R7)=6 LOOP: MOVC A , A+DPTR ;(A)=(A)+(DPTR),查表取數(shù) INC DPTR ;(DPTR)=(DPTR)+1 CLR A ;(A)=

5、00H DJNZ R7 , LOOP ;(R7)=(R7)-1,不為零跳轉(zhuǎn) SJMP $ ; 跳轉(zhuǎn)本身 TAB: DB 00H , 01H , 03H , 07H , 0FH , 0F0H ; END ; 結(jié)束,源程序:,編程控制LED數(shù)碼管循環(huán)顯示0-9。,單片機(jī)P0端口引腳外接一個(gè)共陽(yáng)極數(shù)碼管。,五、數(shù)碼管編程舉例,開(kāi)始,查表取數(shù)顯示,查表初始化,結(jié)束,指向表格下個(gè)數(shù)據(jù),表中數(shù)據(jù) 取完?,N,Y,跳轉(zhuǎn)循環(huán),延時(shí),返回,設(shè)置R7值,設(shè)置R6值,R6-1=0?,R7-1=0?,Y,Y,N,N,延時(shí),ORG 0000H ; 開(kāi)始 START: MOV DPTR,#TAB ; (DPTR)=TAB

6、,表格起始地址 CLR A ; (A)=00H MOV R1 , #10 ; (R1)=10,10個(gè)數(shù)顯示 LOOP: MOVC A , A+DPTR ; 查表,取數(shù)存入累加器A中 MOV P0 , A ; (P0)=A,輸出顯示 ACALL DELAY ; 調(diào)用延時(shí) CLR A ; (A)=00H INC DPTR ; (DPTR)=(DPTR)+1,指向下一個(gè)數(shù) DJNZ R1 , LOOP ; 控制查表次數(shù) AJMP START ; 從頭開(kāi)始 DELAY: MOV R7 , #255 ; 延時(shí)子程序 DE1: MOV R6 , #255 DE2: DJNZ R6 , DE2 DJNZ R7 , DE1 RET ;TAB標(biāo)號(hào)指示表格起始地址,表格數(shù)據(jù)為“0” “9”的段碼 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END ;結(jié)束,六、單片機(jī)程序設(shè)計(jì),1、程序設(shè)計(jì)基本步驟,2、程序流程圖繪制,端點(diǎn)符號(hào):表示程序的開(kāi)始和結(jié)束,處理符號(hào):表示處理操作,判斷符號(hào):表示條件判斷,方向符號(hào):表示程序執(zhí)行方向,例如:,3、程序基本結(jié)構(gòu),1)順序程序結(jié)構(gòu),程序順序向下

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論