義隆單片機全套教程_第1頁
義隆單片機全套教程_第2頁
義隆單片機全套教程_第3頁
義隆單片機全套教程_第4頁
義隆單片機全套教程_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、序 言隨著半導體設(shè)計技術(shù)和制造工藝的不斷完善, 單片機產(chǎn)品推存出新, 出現(xiàn)了許 多性能優(yōu)良的新型單片機, EMC 公司的 EM78系列 8位單片機便是其中較突出的代表。 本書將著重講述 EM78系列單片機的特點及應(yīng)用方法, 共分七章:第一章為 EM78系列單片機概述,第二章為 EM78X56單片機硬件介紹,第三章為 EM78447單片機硬 件介紹,第四章為指令系統(tǒng),第五章為程序設(shè)計,第六章介紹開發(fā)系統(tǒng),第七章介 紹 PIC 單片機如何轉(zhuǎn)換至 EM78系列單片機中去。這其中陳定文編寫第一、二、三、 四、五、六 、七章,陶彥青編寫第五章中算術(shù)例程部分,全書由雷欣審稿。 本書編寫過程中參閱了 EMC

2、 公司的技術(shù)資料及新源公司編寫的中文技術(shù)手冊, 采用了北京比高公司矯健先生、江蘇大眾電器公司曹黎星先生編寫的程序,同時得 到臺灣義隆電子公司和乙碩科技有限公司的大力支持和幫助,在此一并致謝。 由于我們水平有限,且應(yīng)用 EM78系列單片機時間不長,經(jīng)驗不足,錯誤之處 難免,敬請大家批評指正。武漢威帆電子有限公司 1999.3.注:我們正在開設(shè) EM78系列單片機專題網(wǎng)頁,可在網(wǎng)上下載本書內(nèi)容及相關(guān)軟件EMC 公司網(wǎng)站: .tw/sa2威帆公司網(wǎng)站: E-MAIL地址: WAVEPUBLIC.WH.HB.CN目 錄第一章 EM78系列單片機簡介 .1 第二章 EM78系列單片機硬件結(jié)構(gòu) .3 2.

3、1. 主要功能特點 .3 2.2. EM78X56型號分類、命名方法及管腳功能說明 .3 2.2.1. 型號分類 (表 2.1 :.3 2.2.2. 命名方法 :.3 2.2.3. EM78X56管腳功能描述 .4 2.3. EM78內(nèi)部結(jié)構(gòu)框圖 .4 2.4. 程序存儲器和堆棧 .5 2.4.1. 程序存儲器 .5 2.4.2. 堆棧 .6 2.5. 數(shù)據(jù)存儲器 RAM 結(jié)構(gòu) .6 2.5.1. 工作寄存器 .6 2.5.2. 特殊功能寄存器 .8 2.6. TCC/WDT及預分頻器 Prescaler. 11 2.7. I/O口(port5、 port6 .12 2.8. EM87X56復

4、位 .14 2.8.1. 產(chǎn)生復位原因 .14 2.8.2. 復位狀態(tài) .14 2.8.3. 內(nèi)部上電復位電路和電壓檢測器 .16 2.8.4. 外部復位電路 .17 2.9. 休眠狀態(tài)和喚醒 .18 2.10. 中斷功能 .19 2.10.1. 硬件中斷 .19 2.10.2. 軟件中斷 .20 2.11. 振蕩器 .20 2.12. 結(jié)構(gòu)選擇寄存器 (CODE OPTION.22 2.12.1. EM78156/256/456(MASK版 結(jié)構(gòu)寄存器 .22 2.12.2. EM78P156A/B(OTP型 結(jié)構(gòu)選擇寄存器 .23 2.13. EM78X56單片機電氣特性 .24 第三章

5、EM78447單片機硬件結(jié)構(gòu) .25 3.1. EM78447A/B主要功能特點 .25 3.2. EM78447型號分類、命名方法及管腳功能說明 .25 3.2.1 型號分類 (表 3.1.25 3.2.2 命名方法 :.25 3.2.3 EM78447管腳功能描述 .26 3.3. EM78447內(nèi)部結(jié)構(gòu)框圖 .27 3.4. 程序存儲器和堆棧 .28 3.4.1 程序存儲器 .28 3.4.2 堆棧 .29 3.5. 數(shù)據(jù)存儲器 RAM 結(jié)構(gòu) .29 3.5.1 工作寄存器 .303.6. TCC/WDT及預分頻器 Prescaler.32 3.7. I/O口(PROT5、 PROT6、

6、 PORT7 .32 3.8. EM78447復位 .33 3.8.1 產(chǎn)生復位條件 .33 3.8.2 復位后的狀態(tài) .33 3.8.3 內(nèi)部上電復位電路 .34 3.9. 休眠狀態(tài)和喚醒 .34 3.10. 中斷功能 .35 3.10.1 硬件中斷 .35 3.10.2 軟件中斷 .35 3.11. 振蕩器 .36 3.12. 結(jié)構(gòu)選擇寄存器 (CODE OPTION.36 3.12.1 EM78447/AP/BP(MASK版 結(jié)構(gòu)寄存器 .36 3.12.2 EM78P447A/B(OTP型 結(jié)構(gòu)選擇寄存器 .37 3.13. EM78447單片機電氣特性 .37 第四章 EM78指令系

7、統(tǒng) .39 4.1. EM78指令概述 .39 4.2. EMC匯編語言指令集 .39 4.2.1. 面向寄存器 (字節(jié)操作 型指令 (26條 .39 4.2.2. 面向位操作類指令(10條 .40 4.2.3. 常數(shù)操作和控制類指令(22條 .41 4.3. EM78指令尋址方式 .42 4.3.1. 立即數(shù)尋址 .42 4.3.2. 直接尋址 .42 4.3.3. 間接尋址 .42 4.3.4. 位尋址 .42 4.4. EM78指令說明 .43 第五章 EM78系列單片機程序設(shè)計 .62 5.1. EM78系列八位微控器特色指令用法 .62 5.1.1. 查表指令與用法 .62 5.1.

8、2. 分 PAGE 的用法 .62 5.1.3. "BS", "BC" 等指令對 I/O Port 的作用 :.63 5.1.4. I/OPort 讀取的路徑 :.64 5.1.5. WDT(WatchdogTimer 的使用 :.64 5.2. 基本設(shè)計規(guī)則 .64 5.2.1. 設(shè)定 I/O口的模式:.64 5.2.2. 檢查寄存器的內(nèi)容:.65 5.2.3. 簡易的循環(huán)設(shè)計 .65 5.2.4. 查表程序設(shè)計:.66 5.2.5. 中斷程序的設(shè)計 .68 5.2.6. 延遲子程序的編寫:.71 5.3. 應(yīng)用程序設(shè)計實例 .73 5.3.1. 馬達

9、控制程序的設(shè)計 .735.3.3. D/A變換程序的設(shè)計 .75 5.3.4. 液晶 LCD 顯示驅(qū)動程序 .76 5.3.5. 異步串行通信 .82 5.3.6. I2C串行總線的控制 .84 5.3.7. 串行實時時鐘芯片的接口 .92 5.3.8. HD7279串行接口 8位 LED 數(shù)碼管及 64鍵鍵盤智能控制芯片 .95 5.4. 算術(shù)例程 .104 5.4.1. 無符號的 BCD 加法 .104 5.4.2. 無符號的 BCD 減法 .105 5.4.3. BCDTOBIN轉(zhuǎn)換 .106 第六章 EM78系列單片機的開發(fā)工具及編程器 .108 6.1. 宏匯編(交叉匯編與匯編語言格

10、式 .108 6.1.1. 宏匯編程序 .108 6.1.2. 匯編語言格式 .108 6.1.3. 錯誤信息說明:.110 6.1.4. 編譯結(jié)果說明:.110 6.2. 軟件仿真器使用說明 . 111 6.2.1. 軟件仿真器 WIM156基本介紹 . 111 6.2.2. 硬件設(shè)備介紹 . 111 6.2.3. 屏幕瀏覽器 .112 6.2.4. 功能描述 .113 6.3. 義隆電子 E8-ICE 硬件仿真器 .115 6.3.1. 設(shè)備需求:.115 6.3.2. 仿真器的安裝 .116 6.3.3. 仿真程序操作說明 .117 6.3.4. E8-ICE顯示信息說明 .121 6.

11、4. EM78燒寫器使用說明 .122 6.4.1. 燒寫器的結(jié)構(gòu)、安裝與版本 .122 6.4.2. 燒寫器的使用說明 .123 第七章 PIC 程序轉(zhuǎn)換至 EM78XX.126 7.1. 芯片對照 .126 7.2. 指令對照表 .126 7.3. 轉(zhuǎn)換軟件使用說明 .126第一章 EM78系列單片機簡介 武漢威帆 (02787644346第一章 EM78系列單片機簡介臺灣義隆公司推出的八位 EM78系列單片機已有多年, 并廣泛應(yīng)用在家用電器、 工業(yè)控制、儀器等方面,其優(yōu)良的單片機結(jié)構(gòu)和性能為用戶所認同,但與 AT89系列、 PIC 系列、 Z86系列、 GMS97系列等單片機比較而言,

12、EM78系列單片機進入內(nèi)地市 場稍晚一些,所以一般人并不太了解。本章將對 EM78系列單片機的主要特點作一個 概述,供大家參考(以 EM78X 56為例 。一、 先進的單片機結(jié)構(gòu)EM78系列單片機將眾多功能集于一身,這其中包括 ALU 、 ROM 、 RAM 、 I/O、堆棧、 中斷控制器、定時 /計數(shù)器、看門狗、電壓檢測器、復位電路、振蕩電路等,成為真正 意義上 的單片機小系統(tǒng)。二、 優(yōu)越的數(shù)據(jù)處理性能EM78系列單片機采用 RISC 結(jié)構(gòu)設(shè)計、單周期、單字節(jié)及流水線指令、五級堆棧、 RAM 數(shù)量從 32157個,最短指令周期 100ns ,程序頁面為 1K (多至 4頁 ,與其它 一些單片

13、機相比, EM78系列單片機具有更高、更快的運行處理速度。三、 強大的單片機新功能這包括: 三個中斷源:定時器中斷、 I/O喚醒中斷、外部信號輸入中斷 R-OPTION 功能:如果用戶程序有幾個版本, 希望能放在同一 ROM 內(nèi), 則通過 R-OPTION 功能便可實現(xiàn)此想法, R-OPTION 功能設(shè)置是在相關(guān) I/O上上拉或下拉電阻,通過判斷 相關(guān) I/O的狀態(tài)來選擇執(zhí)行內(nèi)部何種版本程序。 內(nèi)置電壓檢測器:當電源電壓掉在一額定值以下時單片機始終處于復位狀態(tài),以此提高 系統(tǒng)的復位性能。 低功耗設(shè)計:正常工作電流 2mA 、休眠狀態(tài)電流 1A 多功能 I/O口:可程序設(shè)置為 I/O上拉、下拉、

14、開路等方式 I/O喚醒功能:通過 I/O變化喚醒處于休眠狀態(tài)的單片機 內(nèi)置看門狗定時器:提高單片機抗干擾能力四、 靈活的功能選擇設(shè)計通過軟件分別設(shè)置: 指令周期的時鐘周期數(shù)(2/4 特殊指令的指令周期數(shù)(1/2 振蕩方式(內(nèi)部 RC 、外部 RC 、 XTAL 低頻、 XTAL 高頻等 R-OPTION 功能開 /關(guān) WDT 開 /關(guān)第 1 頁第一章 EM78系列單片機簡介 武漢威帆 (02787644346五、 通俗易懂的指令系統(tǒng)EM78系列單片機指令系統(tǒng)采用與大家熟知的 MCS-51指令風格設(shè)計, 共計 58條指令, 大家通過較短的時間便能掌握運用。 (本書第 4章六、 完備的開發(fā)手段EM

15、78系列單片機開發(fā)工具包括:軟件仿真器、硬件定時仿真器(DOS/WIN版 、可 脫離微機使用的寫入器(寫入時間為 1片 /秒 、編譯器(匯編和 C 語言 (本書第六 章七、 快速的代碼轉(zhuǎn)換針對用戶已采用其它廠家的單片機如 PIC16C5X ,我們可提供轉(zhuǎn)換程序,通過快速的 代碼轉(zhuǎn)換,縮短開發(fā)周期,馬上可以投片生產(chǎn)。 (見本書第七章八、 系列化的單片機設(shè)計EM78系列單片機有二十種之多,用戶可根據(jù)應(yīng)用產(chǎn)品的要求,選擇合適的 EM78單片 機,方便產(chǎn)品的升級換代。以下兩表為 EM78系列單片機選型一覽表。第 2 頁第二章 EM78系列單片機硬件結(jié)構(gòu)EM78系列單片機是采用低功耗、 高速 CMOS

16、工藝制造的 8位單片機, 本章將以 EM78X56 (包括 EM78156、EM78256、EM78456為例來講述 EM78系列單片機的內(nèi)部結(jié)構(gòu)、存貯器、 中斷、I/O、看門狗、振蕩器和電壓檢測器等特點。2.1. 主要功能特點·采用 8位數(shù)據(jù)總線和 13位指令總線獨立分離的 Harvard 結(jié)構(gòu)設(shè)計。·采用 RISC 指令集,共有 57條單字節(jié)指令,其中 99%為單周期指令(對程序計數(shù)器 PC 指針 進行寫操作除外 。·1K4KX13的程序存貯器(有 OTP 和掩膜二個版本 。·48個通用數(shù)據(jù)寄存器可直接尋址使用。·14個特殊功能寄存器。&#

17、183;具有一個結(jié)構(gòu)選擇寄存器用于設(shè)置振蕩器的工作方式等。·具有五級堆棧令程序嵌套更自由。·兩個雙向三態(tài) I/O口,12個 I/O線,可分別設(shè)置為上拉、下拉或集電極開路等。 ·具有三個硬件中斷和一個軟件中斷。·兩種工作模式:正常工作模式 2mA/5V休眠模式 1A/5V(可由 I/O喚醒·具有 R-OPTION 功能,即用電阻的上拉、下拉來選擇內(nèi)部程序的執(zhí)行。·一個帶 8位預置器的 8位定時/計數(shù)器,一個看門狗定時器(WDT 。·采用先進的加密方法保證用戶代碼不被讀出。·工作電壓:2.55.5V 工作頻率 DC36

18、MHZ、工作溫度 070。2.2. EM78X56型號分類、命名方法及管腳功能說明2.2.1. 型號分類 (表 2.1 :型 號 ROM(Bit RAM(Byte I/O 最短指令周期EM78156 1KX13 56 12 111nsEM78256 2KX13 56 12 111nsEM78456 4KX13 56 12 111ns2.2.2. 命名方法 :EM 78 P 156 A P封裝形式 P-DIP M-SOIC S-SSOP 內(nèi)置電壓檢測功能 A-有 B-無 類型名P :OTP ; 沒有“ P ”為 MASK 版本 單片機系列號EMC 公司字頭第 3 頁第 4 頁2.2.3. EM7

19、8X56管腳功能描述圖 2.1 EM78156管腳圖(EM78256和 EM78456管腳同上 2.3. EM78內(nèi)部結(jié)構(gòu)框圖EM78X56在片內(nèi)集成了一個 8位算術(shù)運算單元 ALU 和工作寄存器 ACC、1K4KROM、56個 RAM、12個 I/O口,8位預置器(Prescaler及 8位計數(shù)器(TCC 、振蕩器、看門狗、 五級堆棧、 中斷控制器、 指令寄存器、 譯碼器和其它一些寄存器等。 內(nèi)部框圖如圖 2.2所示: EM78系列單片機采用 8位數(shù)據(jù)/控制總線和 13位指令總線獨立分離的 Harvard 結(jié)構(gòu), 流水線指令, 即當一條指令在執(zhí)行中, 下一條指令已被從 ROM 取出放在指令寄

20、存器等待執(zhí)行, 如此 EM78系列幾乎全部為單周期指令,執(zhí)行速度更快。EM78系列數(shù)據(jù)存貯器均可視為寄存器來尋址編程,分工作寄存器和特殊功能寄存器二 大類, 2.5節(jié)將詳細講述寄存器的使用方法。第 5 頁圖 2.2 EM78X56內(nèi)部功能框圖2.4. 程序存儲器和堆棧2.4.1. 程序存儲器EM78X56內(nèi)部程序存儲器和堆棧示意圖如下: 圖 2.3 程序存儲器結(jié)構(gòu)框圖, A A9=A8=0, A A9=A8 =0第二章 EM78系列單片機硬件結(jié)構(gòu) 武漢威帆 (02787644346PC 指針(寄存器 R2和堆棧的位數(shù)依照型號 EM78156、 EM78256、 EM78456分別是 10位、

21、11位、12位,即尋地空間分別為 1K、2K 和 4K,一個程序頁面為 1K。頁面選擇通過設(shè)定狀 態(tài)寄存器 R3的 Bit6(PS1. Bit5 (PS0來完成,內(nèi)容下表(表 2.3所示:PS1(R3.6 PSO(R3.5 程序頁面地址0 0 0頁000-3FFEM78X56沒有 PS1、PS00 1 1頁400-7FFEM78256/4561 1 2頁800-BFFEM78256/4561 1 3頁C00-FFFEM78456·對 EM78156PS1、 PS0位為通用讀 /寫位·對 EM78256PS1為通用讀 /寫位EM78X56可在同一頁面內(nèi)直接跳轉(zhuǎn) (JMP和調(diào)用

22、子程序 (CALL,即 JMP 時裝入目標地 址至 PC 的低 10位 ,CALL 時裝入目標地址至 PC 的低 10位 , 且 PC+1壓棧 , 調(diào)用同 1K 頁面內(nèi) 的任何程序。在 EM78256/EM78456中,當需要跳轉(zhuǎn)或調(diào)用不同頁面的子程序時,則須在調(diào)用前將修 改 R3的 PS0/PS1、 PS0,執(zhí)行 JMP 或 CALL 后將狀態(tài)寄存器 R3的 PS0/PS1、 PS0載入 PC 的 A10/A11、 A10。有一情況需特別注意:對 PC (R2進行直接操作指令如“ MOV R2、 A ” 、 “ ADD R2、 A ” 、 “ BC R2, 0”都將導致 PC 之第 9及第

23、10位(A9、 A8被清零,因此此類情況產(chǎn)生的 任何跳轉(zhuǎn)都限定在同一頁面的前 256個地址(查表指令的使用均在此限制內(nèi)2.4.2. 堆棧EM78X56有五級堆棧 , 遵循后入先出的原則實現(xiàn)程序多至五級嵌套調(diào)用 . 通常堆棧使用 如下 :當 CALL 和中斷響應(yīng)時 PC+1壓棧 ;當子程序或中斷返回 , 執(zhí)行 RET 、 RETL(帶參數(shù)返回 、 RETI(中斷返回 , 將棧頂值 (棧 1 彈回程序計數(shù)器 PC 、 同時將堆棧 2的值拷貝到堆棧 1, 堆棧 3的值拷貝到堆棧 2, 以此類推。 要注意的是 RET 、 RETL 、 RETI 指令并沒有改變 R3中的 PS0PS1位便返回到原來調(diào)

24、用程序的頁面 , 所以當從一次跨頁的子程序調(diào)用返回時 , 一定要用指令恢復 R3中原先的 PS0、 PS1值。2.5. 數(shù)據(jù)存儲器 RAM 結(jié)構(gòu)EM78X56的數(shù)據(jù)存儲器分工作寄存器、 特殊功能寄存器和一般通用寄存器三大類,如圖 2.4所示:2.5.1. 工作寄存器1.R0間接尋址寄存器RO 并非一個實際工作的寄存器,只作為間接尋址用。任何對 RO 進行操作的指令,實 際上是存取由 RAM 選擇寄存器 R4所指定的 RAM 內(nèi)容。2.R1(TCC第 6 頁此寄存器為 8位定時/計數(shù)器,可由程序進行讀/寫操作。它用于對外加在 TCC 腳上的 脈沖進行計數(shù),或?qū)?nèi)部時鐘計數(shù)。3.R2(程序計數(shù)器

25、PC和堆棧·在復位情況下,R2被清零,地址指向 OOOH·對 R2進行寫操作的指令一定需要二個指令周期,其它有關(guān) R2和堆棧的內(nèi)容§2.4中所述. 圖 2.4 RAM結(jié)構(gòu)圖4.R3狀態(tài)寄存器(STATUS如下表所示,R3包括 ALU 運算標志、頁面標志、復位狀態(tài)等 7 6 5 4 3 2 1 0 GP PS1 PS0 T P Z DCCBit0(C :進位標志 Bit1(DC:輔助進位標志Bit2(Z :零標志,當一算術(shù)或邏輯運算結(jié)果為“0”時,則置該位為“1” Bit3(P :掉電模式位。當系統(tǒng)上電時或執(zhí)行“WDTC”指令后,置該位為“1” ;當執(zhí)行00 01

26、02 03 04 05 06 0B 0C 0D 0E 0F 10 11 . . . 3F“SLEP”指令后,該位被置“0” 。Bit4(T :超時位,當系統(tǒng)上電或執(zhí)行“SLEP”和“WDTC”指令時,置位為“1” ;當 WDT 溢出時置位為“0”Bit5(PSO頁面選擇低位Bit6(PS1頁面選擇高位通過 P 、 T 位來判斷復位產(chǎn)生的原因如表 2.4所示 :T P 復位產(chǎn)生原因O O WDT 溢出喚醒 SLEEPO *P 工作模式時 WDT 溢出1 0 腳位變化喚醒 SLEEP1 1 系統(tǒng)上電*P *P 工作模式復位影響 T/P的事件如下表 2.5所示:文件 T PWDTC 指令 1 1WD

27、TC 溢出 0 *PSLEP 指令 1 0腳位變化喚醒 1 1*P:指復位前的值GP:一般用途的讀/寫位5.R4 RAM選擇寄存器(RSR在間接尋址模式里,Bit0-5用來選擇寄存器(地址:00-06、OF-3F例如 MOV A,0x10MOV R4,AMOV A, 0x11MOV R0, A ; R10=11H其結(jié)果是將 16進制的“11”值送入由 R4指的“10”單元中。·Bit67未使用·未作間接尋址時,R4可作 6位寬度的可讀/寫通用寄存器.6. R5R6(口 5口 6 :分別為口 5、口 6的輸入/輸出寄存器,EM78將 I/O映射為 寄存器來操作,R6為 8位,R5僅有低 4位有效。7.RF 中斷狀態(tài)寄存器7 6 5 4 3 2 1 0 EXIF ICIF TCIF·“1”表明有中斷請求, “0”表明沒有中斷請求Bit0 (TCIF:TCC 計數(shù)器 1溢出中斷標志位;當 TCC 計數(shù)器 1溢出時置“1” ,可由軟 件清零。Bit1 (ICIF:口 6輸入變化中斷標志位,當口 6輸入變化時置“1” ,可由軟件清零。 Bit2 (EXIF:外部中斷標志位。當 INT 腳有下降沿觸發(fā)時置“1” ,可用軟件清零。 Bit37:未使用·RF可用軟件清零,但不能被置“1”·IOCF為中斷屏蔽寄存器,通過指令讀取 RF 值,此時結(jié)果

溫馨提示

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

最新文檔

評論

0/150

提交評論