單片機(jī)原理課程設(shè)計16乘16點陣設(shè)計_第1頁
單片機(jī)原理課程設(shè)計16乘16點陣設(shè)計_第2頁
單片機(jī)原理課程設(shè)計16乘16點陣設(shè)計_第3頁
單片機(jī)原理課程設(shè)計16乘16點陣設(shè)計_第4頁
單片機(jī)原理課程設(shè)計16乘16點陣設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計說明書 第 i 頁 16*16 點陣設(shè)計 摘 要 單片機(jī)是為各類專用控制器而設(shè)計的通用或?qū)S玫奈⑿陀嬎銠C(jī)系統(tǒng),高密 度集成了普通計算機(jī)微處理系統(tǒng),一定容量的 ram 和 rom 以及輸入/輸出接 口,定時器等電路于一塊芯片上構(gòu)成的。它的優(yōu)點是體積小、重量輕、抗干擾 能力強(qiáng),對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,開發(fā)較為容易。 在現(xiàn)代工業(yè)控制和一些智能化儀器儀表中,越來越多的場所需要用點陣圖形來 顯示漢字,漢字顯示屏也廣泛應(yīng)用到汽車報站器,廣告屏等。led 顯示屏分為 圖文顯示屏和視頻顯示屏,均由 led 矩陣塊組成。用點陣方式構(gòu)成圖形或文字, 是非常靈活的,可以根據(jù)需要任意組

2、成和變化,只要設(shè)計好合適的數(shù)據(jù)文件, 就可以得到滿意的顯示效果,因而采用點陣式圖文顯示屏顯示經(jīng)常需要變化的 信息是非常有效的。本次課程設(shè)計實現(xiàn) led 點陣屏核心功能即漢字的多樣化顯 示。加深對單片機(jī)課程的全面認(rèn)識和掌握,對單片機(jī)課程的應(yīng)用進(jìn)一步的了解。 將單片機(jī)軟硬件結(jié)合起來對程序進(jìn)行編輯,校驗,鍛煉實踐能力和理論聯(lián)系實 際的能力。 關(guān)鍵詞:單片機(jī),led 顯示屏,點陣 課程設(shè)計說明書 第 ii 頁 課程設(shè)計說明書 第 iii 頁 目 錄 1 課題描述.1 2 芯片介紹.1 2.1 51 系列單片機(jī)簡介.2 2.2 74ls154 芯片介紹 .6 2.3 74ls373 芯片介紹 .7 3

3、硬件設(shè)計.8 4 軟件設(shè)計.10 4.1 單片機(jī)延時子程序.10 4.2 程序流程圖.12 4.3 程序代碼.12 5 調(diào)試或性能分析.15 總 結(jié).16 致 謝.17 參考文獻(xiàn).18 課程設(shè)計說明書課程設(shè)計說明書 第 1 頁 1 課題描述 單片微型計算機(jī)簡稱單片機(jī),它是為各類專用控制器而設(shè)計的通用或?qū)S?的微型計算機(jī)系統(tǒng)。自 20 世紀(jì) 70 年代問世以來,以極其高的性價比受到人們 的重視和關(guān)注,所以應(yīng)用很廣,發(fā)展很快。在現(xiàn)代工業(yè)控制和一些智能化儀器 儀表中,越來越多的場所需要用點陣圖形來顯示漢字,漢字顯示屏也廣泛應(yīng)用 到汽車報站器,廣告屏等。所以研究 led 顯示有實用意義。現(xiàn)代 led

4、的發(fā)展 很快,很多研究領(lǐng)域已經(jīng)非常深刻,實際情況是:很多相關(guān)的知識已經(jīng)遠(yuǎn)遠(yuǎn)超 出我們在校學(xué)生的能力范圍,所以在本設(shè)計中只是簡單的研究一下用單片機(jī)驅(qū) 動的 led 顯示移動的漢字。共有兩個目的:一是制作一個簡單實用的顯示文字 的 led 點陣;二是通過制作 led 點陣增強(qiáng)對 led 點陣的了解和應(yīng)用,以及復(fù) 習(xí)和鞏固單片機(jī)知識。 本次設(shè)計的 16x16 點陣需要 32 個驅(qū)動,分別為 16 個列驅(qū)動及 16 個行驅(qū)動。 每個行與每個列可以選中一個發(fā)光管,共有 256 個發(fā)光管,采用動態(tài)驅(qū)動方式。 每次顯示一行后再顯示下一行。 2 芯片介紹 led 點陣總體框圖如圖 1 所示,點陣電路大體上可以

5、分成微機(jī)本身的硬件、 顯示驅(qū)動電路、控制信號電路三部分??刂齐娐凡糠职ㄒ粋€ 51cup 和一些外 圍電路。在整個電路當(dāng)中此控制電路部分相當(dāng)于一個上位機(jī),它負(fù)責(zé)控制整個 電路以及相應(yīng)的程序的運(yùn)行、與 pc 機(jī)的串行通訊、以及給屏體電路部分發(fā)送 命令。點陣顯示屏體以及它的行和列的各個驅(qū)動電路。由于兩部分的電路在制 板時可以放在一起,所以可以將其字庫放到控制電路部分使用串行通訊方式來 與屏體電路部分進(jìn)行數(shù)據(jù)和命令的傳送。 此顯示電路采用掃描方式進(jìn)行顯示時,每行有一個行驅(qū)動器,各行的同名 列共用一個列驅(qū)動器。由行譯碼器給出的行選通信號,從第一行開始,按順序 課程設(shè)計說明書課程設(shè)計說明書 第 2 頁

6、依次對各行掃描(把該行與電源的一端接通) 。另一方面,根據(jù)各列鎖存的數(shù)據(jù), 確定相應(yīng)的列驅(qū)動器是否將該列與電源的另一端接通。接通的列就在該行該列 點燃相應(yīng)的 ledl 未接通的列所對應(yīng)的 led 熄滅??赏ㄟ^掃描輸出口的控制實 現(xiàn)顏色的轉(zhuǎn)換。 圖 1 點陣的總體框圖 2.1 51 系列單片機(jī)簡介 單片機(jī)(microcontroller,又稱微處理器)是在一塊硅片上集成了各種部 件的微型機(jī),這些部件包括中央處理器 cpu、數(shù)據(jù)存儲器 ram、程序存儲器 rom、定時器/計數(shù)器和多種 i/o 接口電路。 8051 單片機(jī)的基本結(jié)構(gòu)見圖 2。 圖 2 8051 單片機(jī)的基本結(jié)構(gòu) 8051 系列的內(nèi)部

7、結(jié)構(gòu)可以劃分為 cpu、存儲器、并行口、串行口、定時器 /計數(shù)器、中斷邏輯幾部分。 (1)中央處理器 課程設(shè)計說明書課程設(shè)計說明書 第 3 頁 8051 的中央處理器由運(yùn)算器和控制器構(gòu)成,其中包括若干特殊功能寄存器 (sfr) 。算術(shù)邏輯單元 alu 能對數(shù)據(jù)進(jìn)行加、減、乘、除等算術(shù)運(yùn)算;“與”、 “或”、 “異或”等邏輯運(yùn)算以及位操作運(yùn)算。 alu 只能進(jìn)行運(yùn)算,運(yùn)算的操作數(shù)可以事先存放到累加器 acc 或寄存器 tmp 中,運(yùn)算結(jié)果可以送回 acc 或通用寄存器或存儲單元中,累加器 acc 也 可以寫成 a。b 寄存器在乘法指令中可以用來存放一個乘數(shù),在除法指令中用 來存放除數(shù),運(yùn)算后 b

8、 中為部分運(yùn)算結(jié)果。alu 主要用于完成二進(jìn)制數(shù)據(jù)的算 術(shù)和邏輯運(yùn)算,并通過對運(yùn)算結(jié)果的判斷影響程序狀態(tài)字寄存器 psw 中有關(guān)位 的狀態(tài)。 程序狀態(tài)字 psw 是個 8 位寄存器,用來寄存本次運(yùn)算的特征信息,用到其 中七位。psw 的格式如下所示,其各位的含義如表 1。 表 1 程序狀態(tài)字 psw cy:進(jìn)位標(biāo)志。在進(jìn)行加法或減法運(yùn)算時,若運(yùn)算結(jié)果的最高位有進(jìn)位或 借位,cy=1,否則 cy=0,在執(zhí)行位操作指令時,cy 作為位累加器。 ac:輔助進(jìn)位標(biāo)志。在進(jìn)行加法或減法運(yùn)算時,若低半字節(jié)向高半字節(jié)有 進(jìn)位或借位, ac=1,否則 ac=0,ac 還作為 bcd 碼運(yùn)算調(diào)整時的判別位。 f

9、0:用戶可設(shè)定的標(biāo)志位,可置位/復(fù)位,也可供測試。 rs1 和 rs0:工作寄存器組選擇,如表 2 所示。 表 2 rs1 和 rs0 工作寄存器組選擇 rs1rs0 工作寄存器組片內(nèi) ram 地址 00 第 0 組 00h07h 01 第 1 組08h0fh 10 第 2 組10h17h 11 第 3 組18h1fh ov:溢出標(biāo)志。當(dāng)兩個帶符號的單字節(jié)數(shù)進(jìn)行運(yùn)算,結(jié)果超出-128+127 的范圍時,ov=1,表示有溢出,否則 ov=0 表示無溢出。 p:奇偶校驗標(biāo)志。每條指令指行完畢后,都按照累加器 a 中“1”的個數(shù)來 課程設(shè)計說明書課程設(shè)計說明書 第 4 頁 決定 p 值,當(dāng)“1”的個

10、數(shù)為奇數(shù)時,p=1,否則 p=0。 psw 中的 d1 位為保留位,對于 8051 來說沒有意義,對于 8052 來說為用 戶標(biāo)志,與 f0 相同。 控制器包括程序計數(shù)器 pc、指令寄存器、指令譯碼器、數(shù)據(jù)指針 dptr、 堆棧指針 sp、緩沖器以及定時與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié) 調(diào)單片機(jī)各部分正常工作。 程序計數(shù)器 pc:當(dāng)一條指令按 pc 所指向的地址從程序存儲器中取出之后, pc 的值會自動增量,即指向下一條指令。 堆棧指針 sp:用來指示堆棧的起始地址。80c51 單片機(jī)的堆棧位于片內(nèi) ram 中,而且屬于“上長型”堆棧,復(fù)位后 sp 被初始化為 07h,使得堆棧實際

11、上由 08h 單元開始。 指令譯碼器:當(dāng)指令送入指令譯碼器后,由譯碼器對該指令進(jìn)行譯碼, cpu 根據(jù)譯碼器輸出的電平信號使定時控制電路產(chǎn)生執(zhí)行該指令所需要的各種 控制信號。 數(shù)據(jù)指針寄存器 drtr:它是一個 16 位寄存器,由高位字節(jié) dph 和低位 字節(jié) dpl 組成,用來存放 16 位數(shù)據(jù)存儲器的地址,以便對片外 64kb 的數(shù)據(jù) ram 區(qū)進(jìn)行讀寫操作。片內(nèi) ram 有 256 個字節(jié),其中 00h7fh 地址空間是 直接尋址區(qū),該區(qū)域內(nèi)從 00h1fh 地址為工作寄存器區(qū),安排了 4 組工作寄 存器,每組都為 r0r7,在某一時刻,cpu 只能使用其中任意一組工作寄存 器,由程序狀

12、態(tài)字 psw 中 rs0 和 rs1 的狀態(tài)決定。 (2)存儲器組織 8051 單片機(jī)在物理上有三個存儲空間:片內(nèi)數(shù)據(jù)存儲器 ram 、片外數(shù)據(jù) 存儲器 ram 、程序存儲器 rom 。 程序存儲器 rom 地址空間為 64kb,片外數(shù)據(jù)存儲器 ram 也有 64kb 的 尋址區(qū),在地址上是與 rom 重迭的。8051 單片機(jī)通過不同信號來選通 rom 或 ram。當(dāng)從外部 rom 中取指令時,采用選通信號 psen,而從外部 ram 中讀寫數(shù)據(jù)時則采用讀 rd 和寫 wr 信號或來選通,因此不會因地址重迭而發(fā) 生混亂。 片內(nèi) ram 的 20h2fh 地址單元為位尋址區(qū),其中每個字節(jié)的每一位

13、都 課程設(shè)計說明書課程設(shè)計說明書 第 5 頁 規(guī)定了位地址。每個地址單元除了可進(jìn)行字節(jié)操作之外,還可進(jìn)行位操作。 片內(nèi) ram 的 80hffh 地址空間是特殊功能寄存器 sfr 區(qū),對于 51 子 系列在該區(qū)域內(nèi)安排了 21 個特殊功能寄存器,對于 52 子系列則在該區(qū)域內(nèi)安 排了 26 個特殊功能寄器,同時擴(kuò)展了 128 個字節(jié)的間接尋址片內(nèi) ram,地址 也為 80ffh,與 sfr 區(qū)地址重迭。 8051 的存儲器組成結(jié)構(gòu)如圖 3 所示。 圖 3 8051 的存儲器組成結(jié)構(gòu) (3)管腳說明 vcc:供電電壓。 gnd:接地。 p0 口(p0.0p0.7):該端口為漏極開路的 8 位準(zhǔn)雙

14、向口,它為外部低 8 位地址線和 8 位數(shù)據(jù)線復(fù)用端口驅(qū)動能力為 8 個 lsttl 負(fù)載。 p1 口(p1.0p1.7):它是一個內(nèi)部帶上拉電阻的 8 位準(zhǔn)雙向 i/o 口,p1 口的驅(qū)動能力為 4 個 lsttl 負(fù)載。 p2 口(p2.0p2.7):它為一個內(nèi)部帶上拉電阻的 8 位準(zhǔn)雙向 i/o 口,p2 口的驅(qū)動能力也為 4 個 lsttl 負(fù)載。在訪問外部程序存儲器時,作為高 8 位地 址線。 p3 口(p3.0p3.7):為內(nèi)部帶上拉電阻的 8 位準(zhǔn)雙向 i/o 口,p3 口除了 作為一般的 i/o 口使用之外,每個引腳都具有第二功能。 p3 口也可作為 at89c51 的一些特殊

15、功能口,如下所示: p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷 0) 課程設(shè)計說明書課程設(shè)計說明書 第 6 頁 p3.3 /int1(外部中斷 1) p3.4 t0(計時器 0 外部輸入) p3.5 t1(計時器 1 外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) p3 口同時為閃爍編程和編程校驗接收一些控制信號。 時鐘電路引腳 xtal1 和 xtal2: xtal1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器 的輸入,若使用外部 ttl 時鐘時,該引腳必須接地。 xtal2:接外

16、部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大 器的輸出,若使用外部 ttl 時鐘時,該引腳為外部時鐘的輸入端。 地址鎖存允許 ale: 系統(tǒng)擴(kuò)展時,ale 用于控制地址鎖存器鎖存 p0 口輸出的低 8 位地址,從 而實現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。 外部程序存儲器讀選通信號 psen: psen 是外部程序存儲器的讀選通信號,低電平有效。 程序存儲器地址允許輸入端 ea /vpp: 當(dāng) ea 為高電平時,cpu 執(zhí)行片內(nèi)程序存儲器指令,但當(dāng) pc 中的值超過 0fffh 時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令。當(dāng) ea 為低電平時,cpu 只 執(zhí)行片外程序存儲器指令。 復(fù)位信號 rst: 該信號

17、高電平有效,在輸入端保持兩個機(jī)器周期的高電平后,就可以完成 復(fù)位操作。 2.2 74ls154 芯片介紹 1、74ls154 功能簡介 54/74154 為 4 線16 線譯碼器,當(dāng)選通端(g1、g2)均為低電平時, 可將地址端(abcd)的二進(jìn)制編碼在一個對應(yīng)的輸出端,以低電平譯出。 如 果將 g1 和 g2 中的一個作為數(shù)據(jù)輸入端,由 abcd 對輸出尋址,74ls154 還 可作 1 線-16 線數(shù)據(jù)分配器。圖 4 是芯片 74ls154 管腳。 課程設(shè)計說明書課程設(shè)計說明書 第 7 頁 圖 4 芯片 74ls154 管腳圖 2、引腳功能介紹 a、b、c、d 譯碼地址輸入端(低電平有效)

18、; g1、g2 選通端(低電平有效); 015 輸出端(低電平有效)。 3、真值表 表 3 74ls154 真值表 2.3 74ls373 芯片介紹 373 為三態(tài)輸出的八 d 透明鎖存器,共有 54/74s373 和 54/74ls373 兩種線 路結(jié)構(gòu)型式。373 為三態(tài)輸出的 8d 透明鎖存器,373 的輸出端 o0-o7 可直接與 總線相連。當(dāng)三態(tài)允許控制端 oe 為低電平時,o0-o7 為正常邏輯狀態(tài),可用 來驅(qū)動負(fù)載和總線。當(dāng) oe 為高電平時,o0-o7 呈高阻態(tài),即不驅(qū)動總線,也 課程設(shè)計說明書課程設(shè)計說明書 第 8 頁 不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允

19、許端 le 為高 電平時,o 隨數(shù)據(jù) d 而變。當(dāng) le 為低電平時,o 被鎖存在已建立的數(shù)據(jù)電平 中。當(dāng) le 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善 400mv。其管腳圖如圖 5。 圖 5 74ls373 管腳圖 1、373 引出端符號 d0d7數(shù)據(jù)輸入端 oe三態(tài)允許控制端(低電平有效) le鎖存允許端 o0o7輸出端 2、74ls373 真值表 表 4 373 真值表 3 硬件設(shè)計 復(fù)位信號 rst 高電平有效,在輸入端保持兩個機(jī)器周期的高電平后,就可 以完成復(fù)位操作。 復(fù)位的實現(xiàn)通常用 2 種方式:開機(jī)上電復(fù)位和外部手動復(fù)位,本設(shè)計用的 是外部手動復(fù)位。電路圖 6

20、 如下: 課程設(shè)計說明書課程設(shè)計說明書 第 9 頁 圖 6 單片機(jī)復(fù)位圖 圖 7 單片機(jī)最小應(yīng)用系統(tǒng)原理圖 注:該最小系統(tǒng)由按鍵復(fù)位 reset 電路、晶體振蕩電路以及 i/o 接口電路 組成。 at89c51 工作電壓 vcc=5v,其 ea 引腳需接高電平,5v 電源電路如圖 8 所示。 圖 8 單片機(jī)電源原理圖 注:該電源電路主要模塊為 ic7805,它能輸出穩(wěn)定的 5v 電壓,圖中整流 橋是將市電轉(zhuǎn)變?yōu)橹绷麟?,電容起到濾波作用,由 7805 的 out 引腳輸出 5v 電壓。 課程設(shè)計說明書課程設(shè)計說明書 第 10 頁 最后,單片機(jī)硬件設(shè)計總電路圖就并聯(lián)多個 8*8 的 led 組成

21、16*16 的點陣, 則一個掃描信號同時要驅(qū)動兩行的 led。如下圖 9 所示。這時候就需要靠鎖存 器(74ls373)將這兩組顯示信號鎖住,此處的鎖存器是以低態(tài)輸出的。當(dāng) 74ls373 得 g 腳為高態(tài)時,數(shù)據(jù)可以從輸入端傳輸?shù)芥i存器中;g 腳為低態(tài)時, 數(shù)據(jù)被鎖住,不會隨輸入端而變。另外 oc 腳為輸出控制引腳,當(dāng) oc 腳為高 態(tài)時,輸出呈現(xiàn)高阻抗;oc 腳為低態(tài)時,數(shù)據(jù)會由鎖存器輸出。 在這個電路中驅(qū)動的掃描信號總共有 16 條,如果直接由 8051 輸出,將占 用 2 個 port 口,浪費(fèi)資源不太理想,在此使用的是一個 4 對 16 位譯碼器 (74ls154) ,這個譯碼器是將

22、輸入的 16 進(jìn)位碼輸出低態(tài)的掃描信號。輸出的 低態(tài)掃描信號可直接接到 pnp 晶體管的基極,如果太大的話也可以先經(jīng)過限流 電阻在接到 pnp 晶體管的基極,信號最后經(jīng)過晶體管的放大后即可推動 16 個 led 點陣了。 圖 9 總電路圖 4 軟件設(shè)計 4.1 單片機(jī)延時子程序 延時子程序在單片機(jī)編程中使用非常廣泛,也很重要。程序設(shè)計是單片機(jī) 開發(fā)最重要的工作,而程序在執(zhí)行過程中常常需要完成延時功能。在本設(shè)計中, 課程設(shè)計說明書課程設(shè)計說明書 第 11 頁 行向的掃描要控制每行的掃描時間,還有所有的字移動有一定的時間間隔,而 在所有的字移動一遍結(jié)束的一瞬間到下一遍移動開始的一瞬間要有延時,這時

23、 的延時可以和移動的時間相同以保持移動的連貫性,也可以不同作為每次開始 的停頓。 1、機(jī)器周期和指令周期 (1)機(jī)器周期是指單片機(jī)完成一個基本操作所花費(fèi)的時間,一般要用微秒 來計量單片機(jī)的運(yùn)行速度,51 單片機(jī)的一個機(jī)器周期包括 12 個時鐘振蕩周期, 也就是說 51 單片機(jī)采用 12mhz 晶振,那么執(zhí)行一個機(jī)器周期就只需要 1 微秒; 如果采用的是 6mhz 的晶振,那么執(zhí)行一個機(jī)器周期就只需要 2 微秒。 (2)指令周期是指單片機(jī)執(zhí)行一條指令所需要的時間,一般利用單片機(jī)的 機(jī)器周期來計量指令周期。 在 51 單片機(jī)里有單周期指令(執(zhí)行這條指令只需一個機(jī)器周期) ,雙周期 指令(執(zhí)行這條指

24、令只需要兩個機(jī)器周期) ,四周期指令(執(zhí)行這條指令需要四 個機(jī)器周期) 。除了乘、除兩條指令是四周期指令,其余均為單周期或雙周期指 令。也就是說,如果 51 單片機(jī)采用的是 12mhz 晶振,那么它執(zhí)行一條指令一 般只需 12 微秒的時間;如果采用的是 6mhz 晶振,那么它執(zhí)行一條指令一般 只需 24 微秒的時間。 振蕩周期、時鐘周期、機(jī)器周期、指令周期的關(guān)系是: 振蕩周期:為單片機(jī)提供時鐘信號的振蕩源的周期。 時鐘周期:振蕩源信號經(jīng)二分頻后形成的時鐘脈沖信號,為振蕩周期的 2 倍。 機(jī)器周期:完成一個基本操作所需的時間,通常為 12 個振蕩周期。 指令周期:指 cpu 執(zhí)行一條指令所需要的

25、時間,一個指令周期通常含有 14 個機(jī)器周期。 2、延時指令 在單片機(jī)編程里面并沒有真正的延時指令,從上面的概念中我們知道單片 機(jī)每執(zhí)行一條指令都需要一定的時間,所以要達(dá)到延時的效果,只須讓單片機(jī) 不斷地執(zhí)行沒有具體實際意義的指令,從而達(dá)到了延時的效果。 (1)數(shù)據(jù)傳送指令 mov 課程設(shè)計說明書課程設(shè)計說明書 第 12 頁 數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個地方復(fù)制、拷貝到另一個地方。 如:mov r7,80h:將數(shù)據(jù) 80h 送到寄存器 r7,就單這條指令而言并沒 有任何實際意義,而執(zhí)行該指令則需要一個機(jī)器周期。 (2)空操作指令 nop 空操作指令功能只是讓單片機(jī)執(zhí)行沒有意義的操作,消耗一個

26、機(jī)器周期。 (3)循環(huán)轉(zhuǎn)移指令 djnz 循環(huán)轉(zhuǎn)移指令功能是將第一個數(shù)進(jìn)行減 1 并判斷是否為 0,不為 0 則轉(zhuǎn)移 到指定地點;為 0 則往下執(zhí)行。除了可以給定地址標(biāo)號讓其跳轉(zhuǎn)外,還可以將 地址符號改成為,這樣程序就跳回本指令執(zhí)行。 4.2 程序流程圖 圖 10 程序流程圖 4.3 程序代碼 org 0000h clr f0 start: mov a,#00h 課程設(shè)計說明書課程設(shè)計說明書 第 13 頁 mov p2,a mov r3,,200 d1: mov r5,#250 f1: djnz r5,f1 djnz r3,d1 move: mov 20h,#00 mov r4,00h ;74

27、ls154 掃描指針初值為 00 m1: mov r1,#65 m2: mov r6,#16 mov r0,20h m3: mov a,r4 jb f0,organgn clr p0.2 setb p0.3 mov p1,a sjmp m4 organge:mov p3,a clr p0.3 m4: mov a,r0 mov dptr,#table movc a,a+dptr setb p1.0 clr p0.0 mov p2,a inc r0 mov a,r0 mov dptr,#table movc a,a+dptr setb p0.0 課程設(shè)計說明書課程設(shè)計說明書 第 14 頁 clr p0.1 mov p2,a inc r0 mov r3,,50 djnz r3,$ mov a,#00h mov p2,a inc r4 djnz r6,m3 mov r4,#00 djnz r1,m2 mov a,20h add a,#02 mov 20h,a xrl a,#128 jnz m1 cpl f0 sjmp start table: db 001h,000h,001h,000h,03fh,0f8h,001h,000h,0ffh,0feh,000h,000h,01fh,0f0 h,010h,010h db 0

溫馨提示

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

評論

0/150

提交評論