亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

IP<b>多播</b>

  • MOTOROLA 8位增強型單片機M68HC11原理與應用

    本書分三部分介紹在美國廣泛應用的、高功能的M68HC11系列單片機(8位機 ,Motorola公司)。內容包括M68HC11的結構與其基本原理、開發工具EVB(性能評估板)以及開發和應用技術。本書在介紹單片機硬、軟件的基礎上,進一步介紹了在美國實驗室內,如何應用PC機及EVB來進行開發工作。通過本書的介紹,讀者可了解這種單片機的原理并學會開發和應用方法。本書可作為大專院校單片機及其實驗的教材(本科、短訓班)。亦可供開發、應用單片機的各專業(計算機、機電、化工、紡織、冶金、自控、航空、航海……)有關技術人員參考。 第一部分 M68HC11 結構與原理Motorola單片機 1 Motorla單片機 1.1 概述 1.1.1 Motorola 單片機發展概況(3) 1.1.2 Motorola 單片機結構特點(4) 1.2 M68HC11系列單片機(5) 1.2.1 M68HC11產品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9單片機引腳說明(8) 1.3 Motorola 32位單片機(14) 1.3.1中央處理器(CPU32)(15) 1.3.2 定時處理器(TPU)(16) 1.3.3 串行隊列模塊(QSM)(16) 1.3.4 系統集成模塊 (SIM)(16) 1.3.5 RAM(17) 2 系統配置與工作方式 2.1 系統配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的編程與擦除(20) 2?2 工作方式選擇(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通單片工作方式(23) 2.3.2 普通擴展工作方式(23) 2.3.3 特殊自舉方式(27) 2.3.4 特殊測試方式(28) 3 中央處理器(CPU)與片上存儲器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和雙累加器D(32) 3.1.2 變址寄存器X、Y(32) 3.1.3 棧指針SP(32) 3.1.4 程序計數器PC(33) 3.1.5 條件碼寄存器CCR(33) 3.2 片上存儲器(34) 3.2.1 存儲器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 WAIT方式(39) 3.3.2 STOP方式(40) 4 復位和中斷 4.1 復位(41) 4.1.1 M68HC11的系統初始化條件(41) 4.1.2 復位形式(43) 4.2 中斷(48) 4.2.1 條件碼寄存器CCR中的中斷屏蔽位(48) 4.2.2 中斷優先級與中斷矢量(49) 4.2.3 非屏蔽中斷(52) 4.2.4 實時中斷(53) 4.2.5 中斷處理過程(56) 5 M68HC11指令系統 5.1 M68HC11尋址方式(59) 5.1.1 立即尋址(IMM)(59) 5.1.2 擴展尋址(EXT)(60) 5.1.3 直接尋址(DIR)(60) 5.1.4 變址尋址(INDX、INDY)(61) 5.1.5 固有尋址(INH)(62) 5.1.6 相對尋址(REL)(62) 5.1.7 前置字節(63) 5.2 M68HC11指令系統(63) 5.2.1 累加器和存儲器指令(63) 5.2.2 棧和變址寄存器指令(68) 5.2.3 條件碼寄存器指令(69) 5.2.4 程序控制指令(70) 6 輸入與輸出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 應答I/O子系統(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 數據格式(83) 6.3.3 SCI硬件結構(84) 6.3.4 SCI寄存器(86) 6.4 串行外圍接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引腳信號(92) 6.4.3 SPI結構(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系統與外部設備進行串行數據傳輸(99) 7 定時器系統與脈沖累加器 7.1 概述(105) 7.2 循環計數器(107) 7.2.1 時鐘分頻器(107) 7.2.2 計算機正常工作監視功能(110) 7.2.3 定時器標志的清除(110) 7.3 輸入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定時器輸入捕捉鎖存器(TIC1、TIC2、TIC3) 7.3.3 輸入信號沿檢測邏輯(113) 7.3.4 輸入捕捉中斷(113) 7.4 輸出比較功能(114) 7.4.1 概述(114) 7.4.2 輸出比較功能使用的寄存器(116) 7.4.3 輸出比較示例(118) 7.5 脈沖累加器(119) 7.5.1 概述(119) 7.5.2 脈沖累加器控制和狀態寄存器(121) 8 A/D轉換系統 8.1 電荷重新分布技術與逐次逼近算法(125) 8.1.1 基本電路(125) 8.1.2 A/D轉換逐次逼近算法原理(130) 8.2 M68HC11中A/D轉換的實現方法(131) 8.2.1 逐次逼近A/D轉換器(131) 8.2.2 控制寄存器(132) 8.2.3 系統控制邏輯(135)? 9 單片機的內部操作 9.1 用立即>    圖書前言   美國Motorola公司從80年代中期開始推出的M68HC11系列單片機是當今功能最強、性能/價格比最好的八位單片微計算機之一。在美國,它已被廣泛地應用于教學和各種工業控制系統中。?   該單片機有豐富的I/O功能,完善的系統保護功能和軟件控制的節電工作方式 。它的指令系統與早期Motorola單片機MC6801等兼容,同時增加了91條新指令。其中包含16位乘法、除法運算指令等。   為便于用戶開發和應用M68HC11單片機,Motorola公司提供了多種開發工具。M68HC11 EVB (Evaluation Board)性能評估板就是一種M68HC11系列單片機的廉價開發工具。它既可用來 調試用戶程序,又可在仿真方式下運行。為方便用戶,M68HC11 EVB可與IBM?PC連接 ,借助于交叉匯編、通信程序等軟件,在IBM?PC上調試程序。?   本書分三部分(共15章)介紹了M68HC11的結構和基本原理、開發工具-EVB及開發應用實例等。第一部分(1~9章),介紹M68HC11的結構和基本原理。包括概述,系統配置與工作方式、CPU和存儲器、復位和中斷、指令系統、I/O、定時器系統和脈沖累加器、A/D轉換系統、單片機的內部操作等。第二部分(10~11章),介紹M68HC11 EVB的原理和技術特性以及EVB的應用。第三部分(12~15章),介紹M68HC11的開發與應用技術。包括基本的編程練習、應用程序設計、接口實驗、接口設計及應用等。   讀者通過學習本書,不僅可了解M68HC11的硬件、軟件,而且可了解使用EVB開發和應用M68HC11單片機的方法。在本書的第三部分專門提供了一部分實驗和應用程序。?   本書系作者張寧作為高級訪問學者,應邀在美國馬薩諸塞州洛厄爾大學(University of Massachusetts Lowell)工作期間完成的。全書由張寧執筆。在編著過程中,美國洛厄爾大學的R·代克曼教授?(Professor Robert J. Dirkman)多次與張寧一起討論、研究,并提供部分資料及實驗數據。參加編寫和審校等工作的還有王云霞、孫曉芳、劉安魯、張籍、來安德、張楊等同志。?   為將M68HC11系列單片機盡快介紹給我國,美國Motorola公司的Terrence M.S.Heng先生曾大力支持本書的編著和出版。在此表示衷心感謝。    

    標簽: MOTOROLA M68 68 11

    上傳時間: 2013-10-27

    上傳用戶:rlgl123

  • AVR系列單片機C語言編程與應用實例

    本書針對Atmel公司的AVR系列單片機和ImageCraft公司的ICC AVR開發環境,詳細地介紹了AT90LS8535的C語言程序設計。全書共有13章,其內容既涉及到了單片機的結構原理、指令系統、內容資源和外部功能擴展,又包含了單片機的編程工具——ICC AVR C編程器的數據類型、控制流、函數和指針等。本書的特點是:深入淺出,從最基本的概念開始,循序漸進地講解單片機的應用開發;列舉了大量實例,使讀者能從實際應用中掌握單片機的開發與應用技術。本書適合作為從事單片機開發人員的參考用書。書中先后講解了C語言基礎、AVR單片機基礎,并舉了一些簡單的實例。本書非常適合初學者。 【目錄信息】 第1章 單片機系統概述 1. 1 AVR系列單片機的特點 1. 2 AT90系列單片機簡介 第2章 AT90LS8535單片機的基礎知識 2. 1 AT90LS8535單片機的總體結構 2. 1. 1 AT90LS8535單片機的中央處理器 2. 1. 2 AT90LS8535單片機的存儲器組織 2. 1. 3 AT90LS8535單片機的I/O接口 2. 1. 4 AT90LS8535單片機的內部資源 2. 1. 5 AT90LS8535單片機的時鐘電路 2. 1. 6 AT90LS8535單片機的系統復位 2. 1. 7 AT90LS8535單片機的節電方式 2. 1. 8 AT90LS8535單片機的芯片引腳 2. 2 AT90LS8535單片機的指令系統 2. 2. 1 匯編指令格式 2. 2. 2 尋址方式 2. 2. 3 偽指令 2. 2. 4 指令類型及數據操作方式 2. 3 應用程序設計 2. 3. 1 程序設計方法 2. 3. 2 應用程序舉例 第3章 AT90LS8535單片機的C編程 3. 1 支持高級語言編程的AVR系列單片機 3. 2 AVR的C編譯器 3. 3 ICCAVR介紹 3. 3. 1 安裝ICCAVR 3. 3. 2 設置ICCAVR 3. 4 用ICCAVR編寫應用程序 3. 5 下載程序文件 第4章 數據類型. 運算符和表達式 4. 1 ICCAVR支持的數據類型 4. 2 常量與變量 4. 2. 1 常量 4. 2. 2 變量 4. 3 AT90LS8535的存儲空間 4. 4 算術和賦值運算 4. 4. 1 算術運算符和算術表達式 4. 4. 2 賦值運算符和賦值表達式 4. 5 邏輯運算 4. 6 關系運算 4. 7 位操作 4. 7. 1 位邏輯運算 4. 7. 2 移位運算 4. 8 逗號運算 第5章 控制流 5. 1 C語言的結構化程序設計 5. 1. 1 順序結構 5. 1. 2 選擇結構 5. 1. 3 循環結構 5. 2 選擇語句 5. 2. 1 if語句 5. 2. 2 switch分支 5. 2. 3 選擇語句的嵌套 5. 3 循環語句 5. 3. 1 while語句 5. 3. 2 do…while語句 5. 3. 3 for語句 5. 3. 4 循環語句嵌套 5. 3. 5 break語句和continue語句 第6章 函數 6. 1 函數的定義 6. 1. 1 函數的定義的一般形式 6. 1. 2 函數的參數 6. 1. 3 函數的值 6. 2 函數的調用 6. 2. 1 函數的一般調用 6. 2. 2 函數的遞歸調用 6. 2. 3 函數的嵌套調用 6. 3 變量的類型及其存儲方式 6. 3. 1 局部變量 6. 3. 2 局部變量的存儲方式 6. 3. 3 全局變量 6. 3. 4 全局變量的存儲方式 6. 4 內部函數和外部函數 6. 4. 1 內部函數 6. 4. 2 外部函數 第7章 指針 7. 1 指針和指針變量 7. 2 指針變量的定義和引用 7. 2. 1 指針變量的定義 7. 2. 2 指針變量的引用 7. 2. 3 指針變量作為函數參數 7. 3 數組與指針 7. 3. 1 指向數組元素的指針變量 7. 3. 2 數組元素的引用 通過指針 7. 3. 3 數組名作為函數參數 7. 3. 4 指向多維數組的元素的指針變量 7. 4 字符串與指針 7. 4. 1 字符串的表示形式 7. 4. 2 字符串指針變量與字符數組的區別 7. 5 函數與指針 7. 5. 1 函數指針變量 7. 5. 2 指針型函數 7. 6 指向指針的指針 7. 7 有關指針數據類型和運算小結 7. 7. 1 有關指針的數據類型的小結 7. 7. 2 指針運算的小結 第8章 結構體和共用體 8. 1 結構體的定義和引用 8. 1. 1 結構體類型變量的定義 8. 1. 2 結構體類型變量的引用 8. 2 結構類型的說明 8. 3 結構體變量的初始化和賦值 8. 3. 1 結構體變量的初始化 8. 3. 2 結構體變量的賦值 8. 4 結構體數組 8. 4. 1 結構體數組的定義 8. 4. 2 結構體數組的初始化 8. 5 指向結構體類型變量的指針 8. 5. 1 指向結構體變量的指針 8. 5. 2 指向結構體數組的指針 8. 5. 3 指向結構體變量的指針做函數參數 8. 6 共用體 8. 6. 1 共用體的定義 8. 6. 2 共用體變量的引用 第9章 A190LS8535的內部資源 9. 1 I/O 口 9. 1. 1 端口A 9. 1. 2 端口B 9. 1. 3 端口C 9. 1. 4 端口D 9. 1. 5 I/O口的編程 9. 2 中斷 9. 2. 1 單片機的中斷功能 9. 2. 2 AT90LS8535單片機的中斷系統 9. 2. 3 1CCAVRC編譯器的中斷操作 9. 2. 4 中斷的編程 9. 3 串行數據通信 9. 3. 1 數據通信基礎 9. 3. 2 AT90LS8535的同步串行接口 9. 3. 3 AT90LS8535的異步串行接口 9. 4 定時/計數器 9. 4. 1 定時/計數器的分頻器 9. 4. 2 8位定時/計數器0 9. 4. 3 16位定時/計數器1 9. 4. 4 8位定時/計數器2 9. 5 EEPROM 9. 5. 1 與EEPROM有關的寄存器 9. 5. 2 EEPROM讀/寫操作 9. 5. 3 EEPROM的應用舉例 9. 6 模擬量輸入接口 9. 6. 1 模數轉換器的結構 9. 6. 2 ADC的使用 9. 6. 3 與模數轉換器有關的寄存器 9. 6. 4 ADC的噪聲消除 9. 6. 5 ADC的應用舉例 9. 7 模擬比較器 9. 7. 1 模擬比較器的結構 9. 7. 2 與模擬比較器有關的寄存器 9. 7. 3 模擬比較器的應用舉例 第10章 AT90LS8535的人機接口編程 10. 1 鍵盤接口 10. 1. 1 非矩陣式鍵盤 10. 1. 2 矩陣式鍵盤 10. 2 LED顯示輸出 10. 2. 1 LED的靜態顯示 10. 2. 2 LED的動態掃描顯示 10. 2. 3 動態掃描顯示專用芯片MC14489 10. 3 LCD顯示輸出 10. 3. 1 字符型LCD 10. 3. 2 點陣型LCD 10. 4 ISD2500系列語音芯片的編程 10. 4. 1 ISD2500的片內結構和引腳 10. 4. 2 ISD2500的操作 10. 4. 3 ISD2500和單片機的接口及編程 10. 5 TP-uP微型打印機 10. 5. 1 TP-uP打印機的接口和邏輯時序 10. 5. 2 P-uP打印機的打印命令和字符代碼 10. 5. 3 AT90LS8535與TP-uP系列打印機的接口及編程 10. 6 IC卡 10. 6. 1 IC卡讀寫裝置 10. 6. 2 IC卡軟件 第11章 AT90LS8535的外圍擴展 11. 1 簡單I/O擴展芯片 11. 1. 1 用74LS377擴展數據輸出接口 11. 1. 2 數據輸入接口 11. 2 模擬量輸出 11. 2. 1 D/A轉換器簡介 11. 2. 2 8位數模轉換器DAC0832 11. 2. 3 8位數模轉換器與單片機的接口及編程 11. 2. 4 12位數模轉換器DACl230 11. 2. 5 12位數模轉換器與單片機的接口及編程 11. 3 可編程I/O擴展芯片8255A 11. 3. 1 8255A的引腳和內部結構 11. 3. 2 8255A的工作方式 11. 3. 3 8255A的控制字 11. 3. 4 AT90LS8535和8255A的接口 11. 4 帶片內RAM的I/O擴展芯片8155 11. 4. 1 8155的引腳和內部結構. 11. 4. 2 8155的I/O口工作方式 11. 4. 3 8155的定時/計數器 11. 4. 4 8155的命令和狀態字 11. 4. 5 AT90LS8535與8155的接口及編程 11. 5 定時/計數器芯片8253 11. 5. 1 8253的信號引腳和邏輯結構 11. 5. 2 8253的工作方式 11. 5. 3 8253的控制字 11. 5. 4 AT90LS8535與8253的接口及編程 11. 6 實時時鐘芯片DS1302 11. 6. 1 DS1302的引腳和內部結構 11. 6. 2 DS1302的控制方式 11. 6. 3 AT90LS8535與DS1302的接口與編程 11. 7 數字溫度傳感器DS18B20 11. 7. 1 DSl8B20的引腳和內部結構 11. 7. 2 DS18B20的溫度測量 11. 7. 3 AT90LS8535與DS18B20的接口與編程 第12章 AT90LS8535的通信編程 12. 1 串口通信 12. 1. 1 異步串口UART通信 12. 1. 2 同步串口SPI通信 12. 2 I2C總線 12. 2. 1 I2C總線協議 12. 2. 2 采用AT90LS8535的并行I/O口模擬I2C總線 12. 3 CAN總線 12. 3. 1 CAN總線的特點 12. 3. 2 CAN協議的信息格式 12. 3. 3 CAN控制器SJA1000 12. 3. 4 AT90LS8535與SJA1000的接口及編程 12. 4 AT90LS8535單片機與PC的串行通信 12. 4. 1 基于VC 6. 0的PC串口通信 12. 4. 2 應用實例 第13章 系統設計中的程序處理方法 13. 1 數字濾波處理 13. 1. 1 平滑濾波 13. 1. 2 中值濾波 13. 1. 3 程序判斷濾波 13. 2 非線性處理 13. 2. 1 查表法 13. 2. 2 線性插值法

    標簽: AVR 單片機 C語言編程 應用實例

    上傳時間: 2013-11-04

    上傳用戶:元宵漢堡包

  • 基于AT89S52單片機的多功能音樂播放器

    介紹一種多功能音樂播放器,它是以AT89S52單片機為核心,并輔有一些外圍器件,采用匯編語言編寫程序,實現多功能音樂播放,歌曲自動循環播放和使用琴鍵自編曲目功能。此外,彩燈顯示歌曲節奏,按鍵跳轉到喜愛曲目,液晶顯示當前播英文曲目。并給出了系統軟硬件設計。 Abstract:  It introduces a multifunctional music player,taking AT89S52 single-chip microcomputer as hardware control core and using some peripheral elements.Programmes are compiled in assembly language to act as expected.There are two functional modes in this system.One is to make the music play automatically and consecutively,the other is to compose new songs through keys.In addition,lights show the pace of music and the English names can be displayed in the liquid crystal screen.With perfect combination of hardware and software,the music player can meet many music lovers’needs for multifunctional music player.And the hardware and software of the system are given.

    標簽: 89S S52 AT 89

    上傳時間: 2013-11-18

    上傳用戶:xiaodu1124

  • 單片機名詞解釋

    總線:指能為多個部件服務的信息傳送線,在微機系統中各個部件通過總線相互通信。地址總線:它是傳送由CPU發出的用于選擇要訪問的器件或部件的地址。數據總線:它是用來傳送微型機系統內的各種類型的數據。匯編:是能完成一定任務的機器指令的集合。二進制數:只有0和1兩個數碼,基數為二。16進制數:采用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F等16個數碼,其中A-F相應的十進數為10-15,基數是16。指令:是計算機所能執行的一種基本操作的描述,是計算機軟件的基本單元。存儲器:用來存放計算機中的所有信息:包括程序、原始數據、運算的中間結果及最終結果等。

    標簽: 單片機

    上傳時間: 2013-11-14

    上傳用戶:caoyuanyuan1818

  • 用C51實現無功補償中電容組循環投切的算法

    介紹了用單片機C 語言實現無功補償中電容組循環投切的基本原理和算法,并舉例說明。關鍵詞:循環投切;C51;無功補償中圖分類號: TM76 文獻標識碼: BAbstract: This paper introduces the aplication of C51 in the controlling of capacitorsuits cycle powered to be on and off in reactive compensation.it illustrate thefondamental principle and algorithm with example.Key words: cycle powered to be on and off; C51; reactive compensation 為提高功率因數,往往采用補償電容的方法來實現。而電容器的容量是由實時功率因數與標準值進行比較來決定的,實時功率因數小于標準值時,需投入電容組,實時功率因數大于標準值時,則需切除電容組。投切方式的不合理,會對電容器造成損壞,現有的控制器多采用“順序投切”方式,在這種投切方式下排序在前的電容器組,先投后切;而后面的卻后投先切。這不僅使處于前面的電容組經常處于運行狀態,積累熱量不易散失,影響其使用壽命,而且使后面的投切開關經常動作,同樣減少壽命。合理的投切方式應為“循環投切”。這種投切方式使先投入的運行的電容組先退出,后投的后切除,從而使各組電容及投切開關使用機率均等,降低了電容組的平均運行溫度,減少了投切開關的動作次數,延長了其使用壽命。

    標簽: C51 無功補償 循環 電容

    上傳時間: 2014-12-27

    上傳用戶:hopy

  • 單片機指令系統原理

    單片機指令系統原理 51單片機的尋址方式 學習匯編程序設計,要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運算碼找操作數的方法。在我們學習的8051單片機中,有6種尋址方法,下面我們將逐一進行分析。 立即尋址 在這種尋址方式中,指令多是雙字節的,一般第一個字節是操作碼,第二個字節是操作數。該操作數直接參與操作,所以又稱立即數,有“#”號表示。立即數就是存放在程序存儲器中的常數,換句話說就是操作數(立即數)是包含在指令字節中的。 例如:MOV  A,#3AH這條指令的指令代碼為74H、3AH,是雙字節指令,這條指令的功能是把立即數3AH送入累加器A中。MOV  DPTR,#8200H在前面學單片機的專用寄存器時,我們已學過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數的高8位(即82H)送入DPH寄存器,把立即數的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機的指令系統中,僅有一條指令的操作數是16位的立即數,其功能是向地址指針DPTR傳送16位的地址,即把立即數的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數直接以單元地址的形式給出,也就是在這種尋址方式中,操作數項給出的是參加運算的操作數的地址,而不是操作數。例如:MOV  A,30H  這條指令中操作數就在30H單元中,也就是30H是操作數的地址,并非操作數。 在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內部數據存儲器以及位地址空間,具體的說就是:1、內部數據存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV  IE,#85H 前面的學習我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV  IE,#85H 的形式表述,也可以MOV  80H,#85H的形式表述。 關于數據存儲器RAM的內部情況,請查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV  65H,A       ;將A的內容送入內部RAM的65H單元地址中MOV  A,direct    ;將直接地址單元的內容送入A中MOV  direct,direct;將直接地址單元的內容送直接地址單元MOV  IE,#85H      ;將立即數85H送入中斷允許寄存器IE 前面我們已學過,數據前面加了“#”的,表示后面的數是立即數(如#85H,就表示85H就是一個立即數),數據前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當前寄存器組(工作寄存器組的選擇在前面專用寄存器的學習中,我們已知道,是由程序狀態字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態設置,來進行對當前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進位位CY。 寄存器尋址方式是指操作數在寄存器中,因此指定了寄存器名稱就能得到操作數。例如:MOV A,R0這條指令的意思是把寄存器R0的內容傳送到累加器A中,操作數就在R0中。INC R3這條指令的意思是把寄存器R3中的內容加1 從前面的學習中我產應可以理解到,其實寄存器尋址方式就是對由PSW程序狀態字確定的工作寄存器組的R0-R7進行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數的地址,即操作數是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機規定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內部或外部數據存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV  R0,#30H  ;將值30H加載到R0中    MOV  A,@R0    ;把內部RAM地址30H內的值放到累加器A中    MOVX A,@R0    ;把外部RAM地址30H內的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數據存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV   DPTR,#1234H  ;將DPTR值設為1234H(16位)    MOVX  A,@DPTR      ;將外部RAM或I/O地址1234H內的值放到累加器A中 在執行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH  30H    ;把內部RAM地址30H內的值放到堆棧區中堆棧區是由SP寄存器指定的,如果執行上面這條命令前,SP為60H,命令執行后會把內部RAM地址30H內的值放到RAM的61H內。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結:1、內部RAM低128單元。對內部RAM低128單元的間接尋址,應使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區,除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX  A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內容送入累加器A。 堆棧操作指令(PUSH和POP)也應算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區別寄存器尋址我寄存器間接尋址的區別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計數器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內容相加,所得到的結果作為操作數的地址。這種方式常用于訪問程序存儲器ROM中的數據表格,即查表操作。變址尋址只能讀出程序內存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC  A,@A+DPTR這條指令的功能是把DPTR和A的內容相加,再把所得到的程序存儲器地址單元的內容送A假若指令執行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數地址就是54H+3F21H=3F75H。如果3F75H單元中的內容是7FH,則執行這條指令后,累加器A中的內容就是7FH。 變址尋址的指令只有三條,分別如下:JMP    @A+DPTRMOVC   A,@A+DPTRMOVC   A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉移指令,這條指令的意思就是DPTR加上累加器A的內容做為一個16位的地址,執行JMP這條指令是,程序就轉移到A+DPTR指定的地址去執行。 第二、三條指令MOVC   A,@A+DPTR和MOVC   A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現詳細說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數據指針寄存器,按理,它們的尋址范圍都應是64K。我們在學習特殊功能寄存器時已知道,程序計數器PC是始終跟蹤著程序的執行的。也就是說,PC的值是隨程序的執行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數據指針,我們就可以給空上數據指針DPTR進行賦值。我們再看指令MOVC   A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應可明白,MOVC   A,@A+PC這條指令的尋址范圍其實就是只能在當前指令下256個地址單元。所在,這在我們實際應用中,可能就會有一個問題,如果我們需要查詢的數據表在256個地址單元之內,則可以用MOVC   A,@A+PC這條指令進行查表操作,如果超過了256個單元,則不能用這條指令進行查表操作。剛才我們已說到,DPTR是一個數據指針,這個數據指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC   A,@A+DPTR這條指令的尋址范圍達到64K。這就是這兩條指令在實際應用當中要注意的問題。 變址尋址方式是MCS-51單片機所獨有的一種尋址方式。 位尋址 80C51單片機有位處理功能,可以對數據位進行操作,因此就有相應的位尋址方式。所謂位尋址,就是對內部RAM或可位尋址的特殊功能寄存器SFR內的某個位,直接加以置位為1或復位為0。 位尋址的范圍,也就是哪些部份可以進行位尋址: 1、我們在第十二課學習51單片機的存儲器結構時,我們已知道在單片機的內部數據存儲器RAM的低128單元中有一個區域叫位尋址區。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區共有128位。這128位都單獨有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學習中00H、01H。。。。7FH等等,所表示的都是一個字節(或者叫單元地址),而在這里,這些數據都變成了位地址。我們在指令中,或者在程序中如何來區分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現在正在研究的位尋址的一個重要問題。其實,區分這些數據是位地址還是單元地址,我們都有相應的指令形式的。這個問題我們在后面的指令系統學習中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關于專用寄存器的相關文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進行位尋址,當然并不是全部,大家在應用當中應引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態字PSW來進行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY   AC  F0  RS1  RS0  OV    P  1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H   MOV  C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示   MOV  C,F0 3、單元(字節)地址加位表示:D0H單元位5,表示為DOH.5    MOV  C,D0H.5 4、專用寄存器符號加位表示:例如PSW.5    MOV C,PSW.5 這四種方法實現的功能都是相同的,只是表述的方式不同而已。 例題:   1. 說明下列指令中源操作數采用的尋址方式。   MOV R5,R7 答案:寄存器尋址方式   MOV A,55H 直接尋址方式   MOV A,#55H 立即尋址方式   JMP @A+DPTR 變址尋址方式   MOV 30H,C 位尋址方式   MOV A,@R0 間接尋址方式   MOVX A,@R0 間接尋址方式 改錯題   請判斷下列的MCS-51單片機指令的書寫格式是否有錯,若有,請說明錯誤原因。   MOV R0,@R3 答案:間址寄存器不能使用R2~R7。   MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。   ADD R0,R1 運算指令中目的操作數必須為累加器A,不可為R0。   MUL AR0 乘法指令中的乘數應在B寄存器中,即乘法指令只可使用AB寄存器組合。

    標簽: 單片機指令 系統原理

    上傳時間: 2013-11-11

    上傳用戶:caozhizhi

  • at91rm9200啟動過程教程

    at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。

    標簽: 9200 at 91 rm

    上傳時間: 2013-10-27

    上傳用戶:wsf950131

  • Keil C51使用詳解

    Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。

    標簽: Keil C51 使用詳解

    上傳時間: 2013-11-01

    上傳用戶:zhouxuepeng1

  • 基于51單片機的網絡連接控制器設計

    介紹了基于51單片機的網絡連接控制器的軟硬件設計方案,主要采用Atmel公司的8 b單片機AT89C51作為核心處理器,采用RealTek公司的RTL8O19AS芯片接入以太網。同時討論了精簡的TCP/IP協議棧的分層次實現,實現了可靠的UDP數據通信。

    標簽: 51單片機 網絡連接 制器設計

    上傳時間: 2013-11-22

    上傳用戶:alex wang

  • MSP430系列超低功耗16位單片機原理與應用

    MSP430系列超低功耗16位單片機原理與應用TI公司的MSP430系列微控制器是一個近期推出的單片機品種。它在超低功耗和功能集成上都有一定的特色,尤其適合應用在自動信號采集系統、液晶顯示智能化儀器、電池供電便攜式裝置、超長時間連續工作設備等領域。《MSP430系列超低功耗16位單片機原理與應用》對這一系列產品的原理、結構及內部各功能模塊作了詳細的說明,并以方便工程師及程序員使用的方式提供軟件和硬件資料。由于MSP430系列的各個不同型號基本上是這些功能模塊的不同組合,因此,掌握《MSP430系列超低功耗16位單片機原理與應用》的內容對于MSP430系列的原理理解和應用開發都有較大的幫助。《MSP430系列超低功耗16位單片機原理與應用》的內容主要根據TI公司的《MSP430 Family Architecture Guide and Module Library》一書及其他相關技術資料編寫。  《MSP430系列超低功耗16位單片機原理與應用》供高等院校自動化、計算機、電子等專業的教學參考及工程技術人員的實用參考,亦可做為應用技術的培訓教材。MSP430系列超低功耗16位單片機原理與應用 目錄  第1章 MSP430系列1.1 特性與功能1.2 系統關鍵特性1.3 MSP430系列的各種型號??第2章 結構概述2.1 CPU2.2 代碼存儲器?2.3 數據存儲器2.4 運行控制?2.5 外圍模塊2.6 振蕩器、倍頻器和時鐘發生器??第3章 系統復位、中斷和工作模式?3.1 系統復位和初始化3.2 中斷系統結構3.3 中斷處理3.3.1 SFR中的中斷控制位3.3.2 外部中斷3.4 工作模式3.5 低功耗模式3.5.1 低功耗模式0和模式13.5.2 低功耗模式2和模式33.5.3 低功耗模式43.6 低功耗應用要點??第4章 存儲器組織4.1 存儲器中的數據4.2 片內ROM組織4.2.1 ROM表的處理4.2.2 計算分支跳轉和子程序調用4.3 RAM與外圍模塊組織4.3.1 RAM4.3.2 外圍模塊--地址定位4.3.3 外圍模塊--SFR??第5章 16位CPU?5.1 CPU寄存器5.1.1 程序計數器PC5.1.2 系統堆棧指針SP5.1.3 狀態寄存器SR5.1.4 常數發生寄存器CG1和CG2?5.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令集概述5.3.1 雙操作數指令5.3.2 單操作數指令5.3.3 條件跳轉5.3.4 模擬指令的簡短格式5.3.5 其他指令5.4 指令分布??第6章 硬件乘法器?6.1 硬件乘法器的操作6.2 硬件乘法器的寄存器6.3 硬件乘法器的SFR位6.4 硬件乘法器的軟件限制6.4.1 硬件乘法器的軟件限制--尋址模式6.4.2 硬件乘法器的軟件限制--中斷程序??第7章 振蕩器與系統時鐘發生器?7.1 晶體振蕩器7.2 處理機時鐘發生器7.3 系統時鐘工作模式7.4 系統時鐘控制寄存器7.4.1 模塊寄存器7.4.2 與系統時鐘發生器相關的SFR位7.5 DCO典型特性??第8章 數字I/O配置?8.1 通用端口P08.1.1 P0的控制寄存器8.1.2 P0的原理圖8.1.3 P0的中斷控制功能8.2 通用端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理圖8.2.3 P1、P2的中斷控制功能8.3 通用端口P3、P48.3.1 P3、P4的控制寄存器8.3.2 P3、P4的原理圖8.4 LCD端口8.5 LCD端口--定時器/端口比較器??第9章 通用定時器/端口模塊?9.1 定時器/端口模塊操作9.1.1 定時器/端口計數器TPCNT1--8位操作9.1.2 定時器/端口計數器TPCNT2--8位操作9.1.3 定時器/端口計數器--16位操作9.2 定時器/端口寄存器9.3 定時器/端口SFR位9.4 定時器/端口在A/D中的應用9.4.1 R/D轉換原理9.4.2 分辨率高于8位的轉換??第10章 定時器?10.1 Basic Timer110.1.1 Basic Timer1寄存器10.1.2 SFR位10.1.3 Basic Timer1的操作10.1.4 Basic Timer1的操作--LCD時鐘信號fLCD?10.2 8位間隔定時器/計數器10.2.1 8位定時器/計數器的操作10.2.2 8位定時器/計數器的寄存器10.2.3 與8位定時器/計數器有關的SFR位10.2.4 8位定時器/計數器在UART中的應用10.3 看門狗定時器11.1.3 比較模式11.1.4 輸出單元11.2 TimerA的寄存器11.2.1 TimerA控制寄存器TACTL11.2.2 捕獲/比較控制寄存器CCTL11.2.3 TimerA中斷向量寄存器11.3 TimerA的應用11.3.1 TimerA增計數模式應用11.3.2 TimerA連續模式應用11.3.3 TimerA增/減計數模式應用11.3.4 TimerA軟件捕獲應用11.3.5 TimerA處理異步串行通信協議11.4 TimerA的特殊情況11.4.1 CCR0用做周期寄存器11.4.2 定時器寄存器的啟/停11.4.3 輸出單元Unit0??第12章 USART外圍接口--UART模式?12.1 異步操作12.1.1 異步幀格式12.1.2 異步通信的波特率發生器12.1.3 異步通信格式12.1.4 線路空閑多處理機模式12.1.5 地址位格式12.2 中斷與控制功能12.2.1 USART接收允許12.2.2 USART發送允許12.2.3 USART接收中斷操作12.2.4 USART發送中斷操作12.3 控制與狀態寄存器12.3.1 USART控制寄存器UCTL12.3.2 發送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調制控制寄存器12.3.5 USART接收數據緩存URXBUF12.3.6 USART發送數據緩存UTXBUF12.4 UART模式--低功耗模式應用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART模式的波特率12.4.3 節約MSP430資源的多處理機模式12.5 波特率的計算??第13章 USART外圍接口--SPI模式?13.1 USART的同步操作13.1.1 SPI模式中的主模式--MM=1、SYNC=113.1.2 SPI模式中的從模式--MM=0、SYNC=113.2 中斷與控制功能13.2.1 USART接收允許13.2.2 USART發送允許13.2.3 USART接收中斷操作13.2.4 USART發送中斷操作13.3 控制與狀態寄存器13.3.1 USART控制寄存器13.3.2 發送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調制控制寄存器13.3.5 USART接收數據緩存URXBUF13.3.6 USART發送數據緩存UTXBUF??第14章 液晶顯示驅動?14.1 LCD驅動基本原理14.2 LCD控制器/驅動器14.2.1 LCD控制器/驅動器功能14.2.2 LCD控制與模式寄存器14.2.3 LCD顯示內存14.2.4 LCD操作軟件例程14.3 LCD端口功能14.4 LCD與端口模式混合應用實例??第15章 A/D轉換器?15.1 概述15.2 A/D轉換操作15.2.1 A/D轉換15.2.2 A/D中斷15.2.3 A/D量程15.2.4 A/D電流源15.2.5 A/D輸入端與多路切換15.2.6 A/D接地與降噪15.2.7 A/D輸入與輸出引腳15.3 A/D控制寄存器??第16章 其他模塊16.1 晶體振蕩器16.2 上電電路16.3 晶振緩沖輸出??附錄A 外圍模塊地址分配?附錄B 指令集描述?B1 指令匯總B2 指令格式B3 不增加ROM開銷的指令模擬B4 指令說明B5 用幾條指令模擬的宏指令??附錄C EPROM編程?C1 EPROM操作C2 快速編程算法C3 通過串行數據鏈路應用\"JTAG\"特性的EPROM模塊編程C4 通過微控制器軟件實現對EPROM模塊編程??附錄D MSP430系列單片機參數表?附錄E MSP430系列單片機產品編碼?附錄F MSP430系列單片機封裝形式?

    標簽: MSP 430 超低功耗 位單片機

    上傳時間: 2014-05-07

    上傳用戶:lwq11

主站蜘蛛池模板: 奈曼旗| 沭阳县| 图木舒克市| 汽车| 大新县| 台中市| 北宁市| 河东区| 榆林市| 文昌市| 鄂温| 峨边| 扎鲁特旗| 尚志市| 敖汉旗| 房山区| 辽宁省| 宜春市| 兴义市| 东丽区| 龙川县| 三都| 蒙山县| 铜鼓县| 怀安县| 三亚市| 霞浦县| 竹山县| 天门市| 揭阳市| 紫阳县| 天气| 清河县| 万年县| 钟祥市| 金阳县| 徐州市| 陆丰市| 台中县| 泗水县| 杂多县|