微控制器是將微型計算機的主要部分集成在一個芯片上的單芯片微型計算機。微控制器誕生于20世紀70年代中期,經(jīng)過20多年的發(fā)展,其成本越來越低,而性能越來越強大,這使其應(yīng)用已經(jīng)無處不在,遍及各個領(lǐng)域。例如電機控制、條碼閱讀器/掃描器、消費類電子、游戲設(shè)備、電話、HVAC、樓宇安全與門禁控制、工業(yè)控制與自動化和白色家電(洗衣機、微波爐)等。
中文名稱 | 微控制器 | 外文名稱 | Microcontroller Unit |
---|---|---|---|
誕生于 | 20世紀70年代中期 | 作者 |
基于RISC架構(gòu)的微控制器
MAXQ2000微控制器是Maxino/Dallas公司推出的一款基于RISC架構(gòu)的16位微控制器。理解這款微控制器的一些結(jié)構(gòu)特點,可以使我們更好地理解RISC結(jié)構(gòu)微控制器的最新發(fā)展趨勢和技術(shù)特點,從而為我們構(gòu)建新型系統(tǒng)提供更加理想的選擇。MAXQ2000的指令讀取和執(zhí)行操作在一個周期內(nèi)完成,而沒有流水線操作,這是因為指令既包含了操作碼也包括了數(shù)據(jù)。字母Q表示這款微控制器的一個重要特點便是"安靜",MAXQ架構(gòu)通過智能化的時鐘管理來降低噪聲.這意味著MAXQ只向那些需要使用時鐘的電路提供時鐘,這樣既降低了功耗,又為模擬電路的整合提供了一個最安靜的環(huán)境。它包含液晶顯示(LCD)接口,最多可以驅(qū)動100或132段(兩種版本)。這款微控制器的功耗指標和MIPS/MHz代碼效率方面都在同類微控制器當中遙遙領(lǐng)先.下面介紹MAXQ2000的主要特性。
指令集由23條對寄存器和存儲器進行操作的固定長度的16位指令組成。指令集高度正交,允許算術(shù)和邏輯操作使用累加器和任何寄存器。特殊功能寄存器控制外圍設(shè)備,并細分成寄存器模塊。產(chǎn)品系列的結(jié)構(gòu)是模塊化的,因此新的器件和模塊能夠繼續(xù)使用為現(xiàn)有產(chǎn)品開發(fā)的代碼.該結(jié)構(gòu)是基于傳送觸發(fā)的,這意味著對某一寄存器位置的讀或?qū)憰a(chǎn)生額外作用。這些額外作用構(gòu)成了由匯編器定義的高層操作碼的基礎(chǔ),如ADDC、OR和JUMP等。
MAXQ2000具有32KB閃存、lKBRAM、4KB的內(nèi)部ROM存儲器塊和16級堆棧存儲器。存儲器缺省配置成Harvard結(jié)構(gòu),程序和數(shù)據(jù)存儲器具有獨立的地址空間,還可以使能為Vorl Ncumann存儲器配置模式,即將固定用途ROM、代碼和數(shù)據(jù)存儲器放置到一個連續(xù)的存儲器映射中.這適合于需要進行動態(tài)程序修改或特殊存儲器配置的應(yīng)用。閃存程序存儲器可以通過16字密鑰進行密碼保護,從而防止未授權(quán)者訪問程序存儲器。同時,還具有3個數(shù)據(jù)指針,支持高效快速地處理數(shù)據(jù).
固定用途ROM由可以在應(yīng)用軟件中進行調(diào)用的子程序組成(缺省起始地址為8000H).包括:通過JTAG或UART接口進行在系統(tǒng)編程(引導加載程序);在電路調(diào)試程序;測試程序(內(nèi)部存儲器測試,存儲器加載等);用于在應(yīng)用閃存編程和快速查找表的用戶可調(diào)用程序。無論以任何方式復位,都從固定用途ROM開始運行程序。R。M軟件決定程序立刻跳轉(zhuǎn)到8000H位置、用戶應(yīng)用代碼的起始位置、還是上面提到的某特定用途子程序.用戶可訪問固定用途ROM中的程序,并且可以由應(yīng)用軟件調(diào)用這些程序。
器件的大多數(shù)功能是由寄存器組來控制的。這些寄存器為存儲器操作提供工作空間,并配置和尋址器件上的外設(shè)寄存器。寄存器分成兩大類:系統(tǒng)寄存器和外設(shè)寄存器.公共寄存器組也稱作系統(tǒng)寄存器,包括ALU、累加器寄存器、數(shù)據(jù)指針、堆棧指針等。外設(shè)寄存器定義了可能包含在基于MAXQ架構(gòu)的不同產(chǎn)品中的附加功能.
MAXQ2000同樣提供了先進的電源管理功能,根據(jù)系統(tǒng)不同時刻的不同性能需求,可以動態(tài)設(shè)置處理速度,從而大大降低功耗。通過軟件選擇分頻功能,來選擇系統(tǒng)時鐘周期是l、2、4或者8個振藹周期。為進一步降低功耗,還有另外三種低功耗模式,256分頻、32 kH。和停機模式。
提供多個中斷源,可對內(nèi)部和外部事件快速響應(yīng)。MAXQ結(jié)構(gòu)采用了單一中斷向量(IV)和單一中斷服務(wù)程序(ISR)設(shè)計。必須在用戶中斷程序內(nèi)清除中斷標志,以避免由同一中斷源引發(fā)重復中斷。當檢測到使能的中斷時,軟件跳轉(zhuǎn)到一個用戶可編程的中斷向量位置。
一旦軟件控制權(quán)轉(zhuǎn)移到ISR,可以使用中斷識別寄存器(IIR)來判定中斷源是系統(tǒng)寄存器還是外設(shè)寄存器。然后,就可以查詢特定模塊以確定具體中斷源,并采取相應(yīng)的操作。由于中斷源是由用戶軟件識別的,因此用戶可以為每種應(yīng)用確立一個獨特的中斷優(yōu)先級方案。
集成的硬件乘法器模塊執(zhí)行高速乘法、乘方和累加操作,并能在一個周期內(nèi)完成一個16位×16位乘法和累加操作。硬件乘法器由2個]6位并行加載操作數(shù)寄存器(MA,MB)和1個累加器組成。加載寄存器能夠自動啟動操作,從而節(jié)省了重復計算的時間。硬件乘法器的累加功能是數(shù)字濾波、信號處理以及PII)控制系統(tǒng)中的一個基奉單元,這使得MAXQ2000可以勝任需要大量數(shù)學運算的應(yīng)用。
微控制器(Microcontroller Unit,即MCU)可從不同方面進行分類:根據(jù)數(shù)據(jù)總線寬度可分為8位、16位和32位機;根據(jù)存儲器結(jié)構(gòu)可分為Harvard結(jié)構(gòu)和Von Neumann結(jié)構(gòu);根據(jù)內(nèi)嵌程序存儲器的類別可分為OTP、掩膜、EPROM/EEPROM和閃存Flash;根據(jù)指令結(jié)構(gòu)又可分為CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)微控制器。
基于8051內(nèi)核的CISC微控制器
迄今為止,MCS-51已成為8位機中運行最慢的系列?,F(xiàn)在Dallas推出的DS89C430系列產(chǎn)品在保持與80C51引腳和指令集兼容的基礎(chǔ)上,每個機器周期僅為一個時鐘,實現(xiàn)了8051系列的最高吞吐率。一般而言,對于現(xiàn)有的基于8051的應(yīng)用軟件可以直接寫入DS89C430而無需進行更改。除此之外,DS89C430還在許多其他方面引入了新的功能,從而為具體應(yīng)用提供了更多靈活性。下面介紹DS89C430不同于8051的功能和特點。
片內(nèi)程序存儲器邏輯上分為成對的8 KB、16 KB或32 KB閃存單元,以支持在應(yīng)用編程。這允許器件在應(yīng)用軟件的控制下修改程序存儲器,應(yīng)用系統(tǒng)能夠在執(zhí)行其主要功能的情況下,完成在線軟件升級。DS89C430集成了64 B加密陣列,允許用戶以加密形式查看數(shù)據(jù),進行程序代碼校驗。
器件支持通過RS-232串口實現(xiàn)在系統(tǒng)編程。在系統(tǒng)編程通過將器件的一個或多個外部引腳設(shè)置為某特定狀態(tài)來激活引導加載程序。器件啟動后,開始執(zhí)行駐留于器件內(nèi)部專用ROM的加載程序。一旦收到一個回車符號,串口就執(zhí)行自動波特率功能,并與主機的波特率同步。如圖1所示是在系統(tǒng)編程的物理連接.簡單的引導加載程序接口允許使用幾種方法來實現(xiàn)PC機與目標微控制
器間的通信。最簡單的方法是使用Dallas的微控制器工具包(MTK)軟件.它具有高度前端特征,簡化了目標配置,上傳、下載代碼以及特殊功能配置等任務(wù)操作。
8051微控制器是通過MOVX指令來訪問片外數(shù)據(jù)空間的,用MOVX@DPTR指令可訪問整個64 KB的片外數(shù)據(jù)存儲器。傳統(tǒng)的8051只有一個數(shù)據(jù)指針DPTR,要將數(shù)據(jù)從一個地址移到另一個地址非常麻煩。DS89C430則具備雙數(shù)據(jù)指針DPTR0和DPTRl,因此軟件可以使用一個指針裝載源地址,另一個指針裝載目的地址。DPTR0的SFR地址與805l相同(82H和83H),因此使用該指針時源代碼無需更改,DPTRl位于84H和85H地址。所有與數(shù)據(jù)指針相關(guān)的操作都使用活動數(shù)據(jù)指針,活動指針通過控制位SEL選擇。每個指針還各有
一個控制位,決定INCDPTR操作是遞增還是遞減數(shù)據(jù)指針值。
在拷貝數(shù)據(jù)塊時,與使用單數(shù)據(jù)指針相比,雙數(shù)據(jù)指針可以節(jié)省大量代碼。用戶通過轉(zhuǎn)換SEL位來轉(zhuǎn)換活動數(shù)據(jù)指針,其中一種方法可通過執(zhí)行INCDPS指令來實現(xiàn)。對于這些大的數(shù)據(jù)塊拷貝,用戶必須頻繁執(zhí)行該指令來轉(zhuǎn)換DPTR0和DPTRl。為了在節(jié)省代碼的同時提高運行速度和效率,DS89C430又包含了一個轉(zhuǎn)換選擇位 (TSL),來確定執(zhí)行MOVX指令時硬件是否自動轉(zhuǎn)換SEL位,這樣就可以省去INCDPS指令并進一步提高運行速度。
大的數(shù)據(jù)塊拷貝需要源指針和目的指針逐字節(jié)尋址數(shù)據(jù)空間,傳統(tǒng)的方法是通過使用INCDPTR指令來增加數(shù)據(jù)指針。為了進一步提高數(shù)據(jù)傳輸速率,引入了自動增減控制位(AID),用以確定執(zhí)行MOVX指令時,是否會自動增減活動指針值。表l為各種情況下DS80C320和DS89C430進行64B數(shù)據(jù)塊傳輸時的速度比較。從表l中可以看出,采用雙數(shù)據(jù)指針后運行速度得到極大提高。
CMOS電路的功耗主要由兩部分組成:連續(xù)漏電流造成的靜態(tài)功耗以及對負載電容進行充放電所需的轉(zhuǎn)換開關(guān)電流造成的動態(tài)功耗。其中,動態(tài)功耗是總體功耗的主要部分,該功耗(PD)可以通過負載電容(CL)、電源電壓(VDD)和工作頻率(f)進行計算,即:PD=CL×VDD2×f。
對于某具體應(yīng)用,電容和電源電壓相對固定,而處理器的處理速度在不同時刻可能是不同的,因此工作頻率可以根據(jù)不同需要進行調(diào)整,從而在不影響系統(tǒng)性能的前提下達到降低功耗的要求。
DS89C430支持三種低功耗節(jié)電模式。
①系統(tǒng)時鐘分頻控制:允許微控制器使用內(nèi)部分頻的時鐘源繼續(xù)工作,以節(jié)省功耗。通過軟件設(shè)置時鐘分頻控制位,設(shè)置工作速率為每機器周期1024個振蕩器周期.
②空閑模式:以靜態(tài)方式保持程序計數(shù)器,并掛起處理器。在此模式中,處理器不取指令也不執(zhí)行指令。除了外圍接口時鐘保持為活動狀態(tài)以及定時器、看門狗、串口和電源監(jiān)視功能仍然工作外,所有的資源均保存。處理器能夠使用允許的中斷源退出空閑模式。
③停機模式:禁止處理器內(nèi)部的所有電路。所有片內(nèi)時鐘、定時器和串口通信都停止運行,處理器不執(zhí)行任何指令。通過使用六個外部中斷中的任何一個,處理器都能夠退出停機模式。
微控制器,簡單來說就是微型或小型控制器。基本是指由單片機為核心的控制單元,及外部電路組成的控制器。單片機為核心的控制器優(yōu)點就是開發(fā)流程短,可編程,成本低。適用于普通的工業(yè)控制,比如簡單的信號、簡單的邏...
verilog電梯微控制器課程設(shè)計 簡單的能夠升降就行,跪求大神···源代碼加測試激勵··要能仿真的··
自己看書隨便寫寫有1天搞定了,這點小事還問,真?zhèn)X筋
ZN551只是個控制模塊 給你個價格單吧,你看看是不是還得報其他東西,這個是全套的,里面有你要的價。 (單擊一下圖可放大看)
微控制器圖書信息
書 名: 微控制器
作 者:(印度)卡莫(Kamal.R.)
出版社:機械工業(yè)出版社
出版時間:2009年09月
ISBN: 9787111270300
開本:16開
定價: 75.00 元
《微控制器:架構(gòu)、編程、接口和系統(tǒng)設(shè)計》全面介紹各種主流微處理器、控制與通信接口、嵌入式系統(tǒng)編程、嵌入式實時操作系統(tǒng)以及開發(fā)調(diào)試工具和系統(tǒng)設(shè)計等內(nèi)容,系統(tǒng)完整地討論了嵌入式系統(tǒng)開發(fā)的相關(guān)技術(shù)和知識,適合電學、電子學、計算機科學工程專業(yè)的本科生閱讀。對嵌入式系統(tǒng)設(shè)計感興趣的軟件工程師和對單片機交互感興趣的硬件工程師而言,《微控制器:架構(gòu)、編程、接口和系統(tǒng)設(shè)計》也是難得的軟硬件兼?zhèn)涞膬?yōu)秀參考書?!段⒖刂破?架構(gòu)、編程、接口和系統(tǒng)設(shè)計》從8051微控制器著眼,講解使用8051、68HC11、80x96和ARM系列微控制器進行系統(tǒng)開發(fā)的方法,并通過實例對RTOS,軟件構(gòu)件塊、中斷處理機制、定時器、IDE和接口電路的使用進行詳解。除微控制器的通用體系結(jié)構(gòu)以外,《微控制器:架構(gòu)、編程、接口和系統(tǒng)設(shè)計》還覆蓋了程序設(shè)計、接口設(shè)計和系統(tǒng)設(shè)計等主題。
Raj Kamal,資深教授,他的研究領(lǐng)域包括嵌入式系統(tǒng)、微控制器、Internet、Web技術(shù)和計算機系統(tǒng)結(jié)構(gòu)等,在國內(nèi)外雜志上發(fā)表過大量研究論文。
出版者的話
譯者序
前言
第1章 微控制器的種類、選擇和應(yīng)用
本章目標
1.1 微控制器
1.1.1中央處理單元
1.1.2 微處理器
1.1.3 微計算機
1.1.4 計算機系統(tǒng)
1.1.5 微控制器
1.1.6 嵌入式處理器
1.2 微控制器的種類
1.2.1 8位、16位、32位微控制器
1.2.2 全內(nèi)嵌式和帶外部存儲器的微控制器
1.2.3 CISC和RISC結(jié)構(gòu)微控制器
1.2.4哈佛和普林斯頓存儲結(jié)構(gòu)微控制器
1.3 主流微控制器概覽
1.3.1 8051、擴展8051XA和8051MX系列
1.3.2 MC68HCll/68HCl2系列
1.4 微控制器的選擇
1.4.1 所需特性列表及需要考慮的因素
1.4.2 處理器和處理器系列的選擇
1.4.3 基于片上資源的選擇
1.4.4 軟件構(gòu)建塊的選擇
1.4.5 基于開發(fā)工具的選擇
1.5 應(yīng)用實例
1.5.1 自動加工控制
1.5.2 儀器應(yīng)用
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第2章 微控制器的體系結(jié)構(gòu)和資源概述
本章目標
2.1 微控制器體系結(jié)構(gòu)
2.1.1 8048和8049微控制器體系結(jié)構(gòu)的功能概述
2.1.2 8048系列微計算機的管腳和信號
2.2 系列成員
2.3 微控制器資源
2.3.1 總線寬度
2.3.2 程序和數(shù)據(jù)存儲器
2.3.3 并口
2.3.4 EEPROM和Flash
2.3.5脈寬調(diào)制輸出
2.3.6 使用PWM或者定時器的片上D/A轉(zhuǎn)換
2.3.7 片上A/D轉(zhuǎn)換
2.3.8 復位電路
2.3.9看門狗定時器設(shè)備
2.3.10 靈活位處理能力
2.3.11 節(jié)電模式
2.3.12 定時器
2.3.13實時時鐘
2.3.14 異步和同步串行通信接口
2.4 高級和下一代微控制器中的資源
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第3章 8051/8031系列的體系結(jié)構(gòu)
本章目標
3.1 8051微控制器
3.1.1 硬件
3.1.2 端口和電路的10管腳
3.2 內(nèi)部和外部存儲器
3.3 計數(shù)器和定時器
3.4 Intel8051的同步串行和異步串行通信接口
3.4.1 串行同步通信
3.4.2 串行異步模式通信
3.4.3 與RS232連接
3.5 中斷
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第4章 8501系列微控制器指令集
本章目標
4.1 基本匯編語言編程
4.1.1 機器碼
4.1.2 指令中的操作碼和操作數(shù)
4.1.3 指令周期
4.1.4 指令執(zhí)行時間
4.1.5 作為指令集合的程序和例程
4.1.6 尋址模式
4.1.7 指令集的指令分類
4.2 數(shù)據(jù)傳送指令
4.2.1 MOV指令
4.2.2 MOVC類型指令
4.2.3 MOVx類型指令
4.2.4 應(yīng)用SP來使用堆棧區(qū)域的PUSH和POP指令
4.2.5 xCH類型指令
4.3 數(shù)據(jù)和位處理指令
4.3.1 字節(jié)數(shù)據(jù)處理(清除、求補、循環(huán)移位和交換)指令
4.3.2布爾變量(位)處理和布爾處理指令
4.4 算術(shù)指令
4.5 對寄存器、內(nèi)部RAM和SFR字節(jié)進行邏輯操作的指令
4.6 程序流控制指令
4.6.1 周期延遲(NOP)指令
4.6.2 長跳轉(zhuǎn)、絕對跳轉(zhuǎn)和短跳轉(zhuǎn)
4.6.3 條件相對短跳轉(zhuǎn)
4.6.4 遞減然后根據(jù)是否為O進行條件跳轉(zhuǎn)
4.6.5 比較后跳轉(zhuǎn)
4.6.6 例程調(diào)用--無條件返回和從例程中返回
4.7 中斷控制流程(RETI指令)
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第5章 實時控制:中斷
本章目標
5.1 MCU的中斷處理結(jié)構(gòu)
5.1.1 例程、中斷和中斷服務(wù)例程
5.1.2 8051中的中斷服務(wù)
5.1.3 中斷源的標識
5.1.4 中斷服務(wù)例程的地址
5.2 中斷等待時間和中斷最終期限
5.3 多重中斷源
5.4 不可屏蔽中斷源
5.5 中斷源的使能(解除屏蔽)或者禁用
5.6 輪詢來確定中斷源及其優(yōu)先級分配
5.6.1 輪詢更高優(yōu)先級中斷源的優(yōu)點
5.6.2 在ISR結(jié)束時輪詢更高優(yōu)先級待響應(yīng)中斷源的優(yōu)點
5.7 Intel805l中的中斷結(jié)構(gòu)
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第6章 實時控制:定時器
本章目標
6.1.MCU中的可編程定時器
6.1.1 編程特性
6.1.2 溢出事件
6.2 自由運行計數(shù)器和實時控制
6.2.1 使用輸出比較寄存器以及作為自由運行計數(shù)器運行的定時器
6.2.2 使用輸入采集寄存器
6.2.3 實時鐘中斷
6.2.4 軟件定時器
6.3 中斷間隔和密度、約束
6.3.1 中斷服務(wù)延遲
6.3.2 中斷服務(wù)間隔
6.3.3 中斷密度
6.3.4 中斷約束
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第7章 系統(tǒng)設(shè)計:外設(shè)與接口
本章目標
7.1 8251串行10USART通信接口
7.1.1 825l的編程
7.1.2 處理器和DCE的連接
7.2 8255并行端口接口
7.2.1 8255編程
7.2.2 連接8255到處理器
7.3 8257可編程DMA控制器
7.3.1 10事務(wù)的方法
7.3.2 8257編程
7.3.3 連接到8086、8085、8096和86HCll12
7.4 可編程中斷控制器8259
7.5 ADC電路接口
7.6 DAC電路接口
7.7 內(nèi)部集成電路接口(I2C總線標準)
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第8章 系統(tǒng)設(shè)計:數(shù)字和模擬接口方法
本章目標
8.1 開關(guān)、小鍵盤和鍵盤接口
8.1.1 單鍵按鍵(開關(guān))及其接口
8.1.2 按鍵陣列和它的接口
8.1.3 小鍵盤或者鍵盤(按鍵矩陣)和它的接口
8.2 LED和LED陣列
8.2.1 LED和LED信號器
8.2.2 LED或信號器的陣列
8.2.3 7段十六進制數(shù)字的LED陣列
8.3 鍵盤/顯示器控制器(8279)
8.4 文字數(shù)字式設(shè)備--顯示系統(tǒng)和它的接口
8.4.1 16段數(shù)碼顯示器
8.4.2點陣顯示器
8.4.3LCD顯示器
8.4.4 LCD顯示器控制器
8.4.5 LcD顯示控制器的接口連接
8.4.6 Hitachi44780、OptrexDMC16xx、DMCl6 xxx、DMC20xxx和DMC24XXX系列兼容LCD控制器的編程
8.5 打印機接口
8.5.1 并行接口來連接打印機中的打印控制器
8.5.2 串行RS232C:接口來連接打印機中的打印控制器
8.6 使用IEEE488(GPIB)總線來實現(xiàn)可編程指令接口
8.7 與Flash存儲器連接的接口
8.8 其他一些接口
8.8.1 將MCU端口10管腳與連接的物理系統(tǒng)光隔離
8.8.2 與線圈的接口
8.8.3 與擴音器的接口
8.8.4 在音樂播放盒中與小鍵盤和揚聲器的接口
8.8.5 在機器人、打印機或工業(yè)驅(qū)動器中與步進電機的接口
8.9 與大功率設(shè)備連接的接口
8.9.1 與輸入和輸出模塊連接的接口
8.9.2 與大功率電機和加熱器連接的接口
8.9.3 使用高級微控制器來與功率器件連接的接口
8.10 模擬輸入接口
8.11 模擬輸出接口
8.11.1 DC電機控制
8.11.2 伺服電機控制
8.12 光學電機轉(zhuǎn)軸編碼器
8.12.1 增量式轉(zhuǎn)動編碼器
8.12.2 旋轉(zhuǎn)絕對角度編碼器
8.13 工業(yè)控制
8.13.1 控制應(yīng)用
8.13.2 基于MCU的刻度尺
8.14 工業(yè)過程控制系統(tǒng)
8.15 基于MCU測量儀表的原型
8.16 機器人和嵌入式控制
8.17數(shù)字信號處理和數(shù)字濾波器
8.17.1 數(shù)字信號處理
8.17.2 數(shù)字濾波器
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第9章 編程框架:匯編語言和C語言編程
本章目標
9.1 編程基礎(chǔ)
9.1.1 寄存器
9.1.2 Intel80518位PSW(程序狀態(tài)字)
9.1.3 Intel80x9616位PSW(程序狀態(tài)字)
9.1.4 Motorola8位68HC11CCR(狀態(tài)條件碼)
9.1.5 累加器
9.1.6 指向內(nèi)存的寄存器(變址寄存器和基址寄存器)
9.1.7 通用數(shù)據(jù)/地址寄存器和臨時內(nèi)存或寄存器文件
9.1.8 位可訪問寄存器
9.1.9 cPU寄存器結(jié)構(gòu)的考慮
9.1.1 0指令和尋址模式
9.2 CPU寄存器和內(nèi)部RAM的結(jié)構(gòu)
9.3 匯編語言編程
9.4 匯編程序
9.5 在中斷期間保持CPU狀態(tài)
9.6 傳遞參數(shù)
9.6.1 傳遞參數(shù)
9.6.2 將參數(shù)傳遞到堆棧中
9.7 控制結(jié)構(gòu)
9.7.1 N路分支(決策塊)
9.7.2 循環(huán)
9.8 運行時計算分支轉(zhuǎn)移目的地
9.9 C語言編程和使用GNU工具
9.9.1 用C語言編程
9.9.2 內(nèi)嵌代碼
9.9.3 參數(shù)傳遞
9.9.4 程序編譯過程和開發(fā)工具
9.9.5 GNU工具
本章小結(jié)
關(guān)鍵術(shù)語
問題回顧
實踐練習
多項選擇題
第10章 編程框架:軟件構(gòu)建模塊
本章目標
10.1 堆棧
10.2 隊列
10.3 表
lO.3.1 表數(shù)據(jù)和軟件構(gòu)建模塊
10.3.2 查詢表
10.3.3 Hash表
10.4 字符串
10.4.1 字符串作為可變長度的字符數(shù)組
10.4.2 將字符串作為程序存儲中的常量使用
10.5 狀態(tài)機
10.6 按鍵處理
10.6.1 實際使用中的按鍵處理
第11章 系統(tǒng)設(shè)計中的實時操作系統(tǒng)
第12章 微控制器應(yīng)用程序開發(fā)工具
第13章 16位微控制器809680196系列
第14章 MotorolaMC68HCll系列
第15章 ARM32位McU:架構(gòu)、編程和開發(fā)工具
附錄A
附錄B
附錄C
附錄D
附錄E
附錄F
附錄G
多項選擇題答案
參考文獻
……
哈佛結(jié)構(gòu)是一種將程序指令存儲和數(shù)據(jù)存儲分開的存儲器結(jié)構(gòu)。中央處理器首先到程序指令存儲器中讀取程序指令內(nèi)容,解碼后得到數(shù)據(jù)地址,再到相應(yīng)的數(shù)據(jù)存儲器中讀取數(shù)據(jù),并進行下一步的操作(通常是執(zhí)行)。程序指令存儲和數(shù)據(jù)存儲分開,可以使指令和數(shù)據(jù)有不同的數(shù)據(jù)寬度,如Microchip公司的PIC16芯片的程序指令是14位寬度,而數(shù)據(jù)是8位寬度。
哈佛結(jié)構(gòu)的微處理器通常具有較高的執(zhí)行效率。其程序指令和數(shù)據(jù)指令分開組織和存儲的,執(zhí)行時可以預先讀取下一條指令。目前使用哈佛結(jié)構(gòu)的中央處理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,還有摩托羅拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安謀公司的ARM9、ARM10和ARM11,51單片機也屬于哈佛結(jié)構(gòu)。
馮·諾伊曼結(jié)構(gòu)也稱普林斯頓結(jié)構(gòu),是一種將程序指令存儲器和數(shù)據(jù)存儲器合并在一起的存儲器結(jié)構(gòu)。程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置,因此程序指令和數(shù)據(jù)的寬度相同,如英特爾公司的8086中央處理器的程序指令和數(shù)據(jù)都是16位寬。
目前使用馮·諾伊曼結(jié)構(gòu)的中央處理器和微控制器有很多。除了上面提到的英特爾公司的8086,英特爾公司的其他中央處理器、安謀公司的ARM7、MIPS公司的MIPS處理器也采用了馮·諾伊曼結(jié)構(gòu)。
Intel公司作為最早推出微處理器的公司,同樣也是最早推出微控制器的公司。繼1976年推出MCS-48后,又于1980年推出了MCS-51,為發(fā)展具有良好兼容性的新一代微控制器奠定了良好的基礎(chǔ)。在8051技術(shù)實現(xiàn)開放后,Philips、Atmel、Dallas和Siemens等公司紛紛推出了基于80C5l內(nèi)核(805l的CMC)S版本)的微控制器。這些各具特色的產(chǎn)品能夠滿足大量嵌入式應(yīng)用需求?;?0C51內(nèi)核的微控制器并沒有停止發(fā)展的腳步,例如現(xiàn)在Maxim/Dallas公司提供的DS89C430系列微控制器,其單周期指令速度已經(jīng)提高到了805l的12倍。
基于CISC架構(gòu)的微控制器除了80C51外,還包括Motorola提供的68HC系列微控制器,這也是大量應(yīng)用的8位微控制器系列。
基于RISC架構(gòu)的微控制器則包括Microchip的PIC系列8位微控制器等。在16位RISC架構(gòu)的微控制器中,Maxim公司推出的MAXQ系列微控制器以其高性能、低功耗和卓越的代碼執(zhí)行效率,成為許多需要高精度混合信號處理以及便攜式系統(tǒng)和電池供電系統(tǒng)的理想選擇。
通過以上兩種基于CISC.和RISC架構(gòu)的微控制器的對比分析,會發(fā)現(xiàn)許多共同的特性,如安全特性、外圍設(shè)備、電源管理和在系統(tǒng)編程等。顯然.它們都是適應(yīng)具體應(yīng)用的共性要求而增加的功能。兩者最大的不同是指令結(jié)構(gòu)的差異。MCS一5l有50條基本指令,若累計各種不同尋址方式,指令共計lll條,對應(yīng)的機器指令有單字節(jié)、雙字節(jié)和三字節(jié)指令~68H(:05有62條基本指令,加上多種尋址方式,最終指令達210條,也分為單字節(jié)、雙字節(jié)和三字節(jié)指令。比較而言,RIS(:微控制器的所有指令是由一些簡單、等長度的指令構(gòu)成.精簡指令使微控制器的線路可以盡量優(yōu)化,硬件結(jié)構(gòu)更加簡單,從而可以實現(xiàn)較低的成本和功耗,當然完成相同的工作可能需要更多的指令。所以,二者取舍之間沒有絕對優(yōu)勢,只能說根據(jù)應(yīng)用的不同需求和側(cè)重來進行選擇。
微處理器是20世紀偉大的技術(shù)創(chuàng)新之一,由此而衍生的微控制器將微處理器和外設(shè)集于一身,為多種應(yīng)用開創(chuàng)了新局面,并將繼續(xù)發(fā)揮不可替代的作用。
格式:pdf
大?。?span id="p7n7xjx" class="single-tag-height">162KB
頁數(shù): 1頁
評分: 4.3
飛思卡爾(Freescale)公司的HC08與最新HCS08微控制器系列都是多功能的外設(shè)模塊。它們使用的時鐘發(fā)生器也沒有特殊之處,可以是內(nèi)部時鐘(省出了I/O腳),也可以是外接晶體或振蕩器。一旦選定了時鐘源,就有多種選擇控制最終的總線頻率。例如,為
格式:pdf
大?。?span id="jseqhvp" class="single-tag-height">162KB
頁數(shù): 29頁
評分: 4.7
DS4830 光電微控制器 概述 DS4830采用低功耗、 16位MAXQ20微處理器核,提供完 備的光控、校準及監(jiān)測方案,該處理器帶有大容量程序存 儲器和 RAM數(shù)據(jù)存儲器。 I/O 資源包括:高速 /高精度模/ 數(shù)轉(zhuǎn)換器 (ADC)、帶數(shù) /模轉(zhuǎn)換器 (DAC)補償?shù)母咚俦容^器、 12位DAC、 12位 PWM、內(nèi)部和外部溫度傳感器、快速采 樣 /保持器、I2C主 /從接口以及多協(xié)議串行主機 /從機接口。 可直接連接配置成二極管的晶體管遠端溫度傳感器,也可 以通過片內(nèi)I2C主機接口連接多個外部數(shù)字溫度傳感器 IC。 獨立的從機I2C接口便于與主控制器之間的通信,并可支持 片內(nèi)閃存在系統(tǒng)編程的加密保護。 采用高度通用的 C編譯器和開發(fā)軟件簡化系統(tǒng)開發(fā),通過 集成的 JTAG接口以及相應(yīng)硬件對閃存編程和在電路調(diào)試。 應(yīng)用 雙工 /三工 PON:GPON、 10GEPON、 XPON OLT
序
前言
第1章 概論
第2章 MCS-51微控制器的結(jié)構(gòu)原理
第3章 MCS-51微控制器的指令系統(tǒng)
第4章 微控制器應(yīng)用系統(tǒng)與外設(shè)交換數(shù)據(jù)的方法
第5章 MCS-51微控制器內(nèi)部定時器/計數(shù)器及其應(yīng)用
第6章 匯編語言程序設(shè)計
第7章 并行I/O口
第8章 微控制器應(yīng)用系統(tǒng)的組成
第9章 微控制器應(yīng)用系統(tǒng)的開發(fā)
第10章 80C51系列80C552單片微控制器
第11章 微控制器應(yīng)用系統(tǒng)的可靠性與抗干擾
第12章 MCS-51的串行通信
第13章 MCS-96微控制器的基本結(jié)構(gòu)和工作原理
第14章 80C196KB/KC微控制器
第15章 C51程序設(shè)計
第16章 嵌入式系統(tǒng)簡介
總習題和部分習題答案
參考文獻
附錄 MCS-51、MCS-96指令表
《微控制器系統(tǒng)原理與應(yīng)用》全面論述了微控制器系統(tǒng)組成原理和應(yīng)用,還介紹了80C51程序設(shè)計和嵌入式系統(tǒng),并結(jié)合實例對微控制器系統(tǒng)設(shè)計、開發(fā)、實際應(yīng)用和嵌入式系統(tǒng)進行了專門討論。每章末尾都有一定數(shù)量的習題。書中所附光盤含有31個設(shè)計實例。
本書論述了微控制器系統(tǒng)的原理和應(yīng)用,介紹80C51程序設(shè)計和嵌入式系統(tǒng),并結(jié)合實例對微控制器系統(tǒng)設(shè)計、開發(fā)、實際應(yīng)用和嵌入式系統(tǒng)進行專門討論等。
ADμC706x系列ARM微控制器是美國ADI公司出品的高性能微控制器,包括ADμC7060和ADμC7061兩種型號。《ADI處理器實用叢書:ADμC706x系列ARM微控制器原理及應(yīng)用》重點介紹ADμC706x系列ARM微控制器的內(nèi)部結(jié)構(gòu)、外圍接口、開發(fā)環(huán)境以及典型應(yīng)用案例,書中的應(yīng)用實例代碼均經(jīng)過作者實際調(diào)試,內(nèi)容詳略得當,非常適合初學者學習和實踐。