本書以FPGA/CPLD設計流程為主線,闡述了如何合理地利用ISE設計平臺集成的各種設計工具,高效地完成FPGA/CPLD的設計方法與技巧。全書在介紹FPGA/CPLD概念和設計流程的基礎上,依次論述了工程管理與設計輸入、仿真、綜合、約束、實現與布局布線、配置調試等主要設計步驟在ISE集成環境中的實現方法與技巧。 本書立足于工程實踐,結合作者多年工作經驗,選用大量典型實例,并配有一定數量的練習題。本書配套光盤收錄了所有實例的完整工程目錄、源代碼、詳細操作步驟和使用說明,利于讀者邊學邊練,提高實際應用能力。 本書可作為高等院校通信工程、電子工程、計算機、微電子與半導體學等專業的教材,也可作為硬件工程師和IC工程師的實用工具書。
標簽: Xilinx-ISE FPGA CPLD 71.7
上傳時間: 2013-06-24
上傳用戶:gut1234567
- vii - 8.1.1 實驗目的 315 8.1.2 實驗設備 315 8.1.3 實驗內容 315 8.1.4 實驗原理 315 8.1.5 實驗操作步驟 318 8.1.6 實驗參考程序 319 8.1.7 練習題 321- vi - 6.4 USB 接口實驗 266 6.4.1 實驗目的 266 6.4.2 實驗設備 267 6.4.3 實驗內容 267 6.4.4 實驗原理 267 6.4.5 實驗操作步驟 270 6.4.6 實驗參考程序 272 6.4.7 實驗練習題 280 6.5 SPI接口通訊實驗 281 6.5.1 實驗目的 281 6.5.2 實驗設備 281 6.5.3 實驗內容 281 6.5.4 實驗原理 281 6.5.5 實驗操作步驟 285 6.5.6 實驗參考程序 287 6.5.7 練習題 289 6.6 紅外模塊控制實驗 289 6.6.1 實驗目的 289 6.6.2 實驗設備 289 6.6.3 實驗內容 289 6.6.4 實驗原理 289 6.6.5 實驗操作步驟 291 6.6.6 實驗參考程序 291 6.6.7 練習題 296 第七章 基礎應用實驗 296 7.1 A/D 轉換實驗 296 7.1.1 實驗目的 296 7.1.2 實驗設備 296 7.1.3 實驗內容 296 7.1.4 實驗原理 296 7.1.5 實驗設計 298 7.1.6 實驗操作步驟 299 7.1.7 實驗參考程序 300 7.1.8 練習題 301 7.2 PWM步進電機控制實驗 301 7.2.1 實驗目的 301 7.2.2 實驗設備 301 7.2.3 實驗內容 301 7.2.4 實驗原理 301 7.2.5 實驗操作步驟 309 7.2.6 實驗參考程序 311 7.2.7 練習題 313 第八章 高級應用實驗 315 8.1 GPRS模塊控制實驗 315 - v - 5.2 5x4鍵盤控制實驗 219 5.2.1 實驗目的 219 5.2.2 實驗設備 219 5.2.3 實驗內容 219 5.2.4 實驗原理 219 5.2.5 實驗設計 221 5.2.6 實驗操作步驟 222 5.2.7 實驗參考程序 223 5.2.8 練習題 224 5.3 觸摸屏控制實驗 224 5.3.1 實驗目的 224 5.3.2 實驗設備 224 5.3.3 實驗內容 224 5.3.4 實驗原理 224 5.3.5 實驗設計 231 5.3.6 實驗操作步驟 231 5.3.7 實驗參考程序 232 5.3.8 練習題 233 第六章 通信與接口實驗 234 6.1 IIC 串行通信實驗 234 6.1.1 實驗目的 234 6.1.2 實驗設備 234 6.1.3 實驗內容 234 6.1.4 實驗原理 234 6.1.5 實驗設計 238 6.1.6 實驗操作步驟 241 6.1.7 實驗參考程序 243 6.1.8 練習題 245 6.2 以太網通訊實驗 246 6.2.1 實驗目的 246 6.2.2 實驗設備 246 6.2.3 實驗內容 246 6.2.4 實驗原理 246 6.2.5 實驗操作步驟 254 6.2.6 實驗參考程序 257 6.2.7 練習題 259 6.3 音頻接口 IIS 實驗 260 6.3.1 實驗目的 260 6.3.2 實驗設備 260 6.3.3 實驗內容 260 6.3.4 實驗原理 260 6.3.5 實驗步驟 263 6.3.6實驗參考程序 264 6.3.7 練習題 266 - iv - 4.4 串口通信實驗 170 4.4.1 實驗目的 170 4.4.2 實驗設備 170 4.4.3 實驗內容 170 4.4.4 實驗原理 170 4.4.5 實驗操作步驟 176 4.4.6 實驗參考程序 177 4.4.7 練習題 178 4.5 實時時鐘實驗 179 4.5.1 實驗目的 179 4.5.2 實驗設備 179 4.5.3 實驗內容 179 4.5.4 實驗原理 179 4.5.5 實驗設計 181 4.5.6 實驗操作步驟 182 4.5.7 實驗參考程序 183 4.6.8 練習題 185 4.6 數碼管顯示實驗 186 4.6.1 實驗目的 186 4.6.2 實驗設備 186 4.6.3 實驗內容 186 4.6.4 實驗原理 186 4.6.5 實驗方法與操作步驟 188 4.6.6 實驗參考程序 189 4.6.7 練習題 192 4.7 看門狗實驗 193 4.7.1 實驗目的 193 4.7.2 實驗設備 193 4.7.3 實驗內容 193 4.7.4 實驗原理 193 4.7.5 實驗設計 195 4.7.6 實驗操作步驟 196 4.7.7 實驗參考程序 197 4.7.8 實驗練習題 199 第五章 人機接口實驗 200 5.1 液晶顯示實驗 200 5.1.1 實驗目的 200 5.1.2 實驗設備 200 5.1.3 實驗內容 200 5.1.4 實驗原理 200 5.1.5 實驗設計 211 5.1.6 實驗操作步驟 213 5.1.7 實驗參考程序 214 5.1.8 練習題 219 - ii - 3.1.1 實驗目的 81 3.1.2 實驗設備 81 3.1.3 實驗內容 81 3.1.4 實驗原理 81 3.1.5 實驗操作步驟 83 3.1.6 實驗參考程序 87 3.1.7 練習題 88 3.2 ARM匯編指令實驗二 89 3.2.1 實驗目的 89 3.2.2 實驗設備 89 3.2.3 實驗內容 89 3.2.4 實驗原理 89 3.2.5 實驗操作步驟 90 3.2.6 實驗參考程序 91 3.2.7 練習題 94 3.3 Thumb 匯編指令實驗 94 3.3.1 實驗目的 94 3.3.2 實驗設備 94 3.3.3 實驗內容 94 3.3.4 實驗原理 94 3.3.5 實驗操作步驟 96 3.3.6 實驗參考程序 96 3.3.7 練習題 99 3.4 ARM處理器工作模式實驗 99 3.4.1 實驗目的 99 3.4.2實驗設備 99 3.4.3實驗內容 99 3.4.4實驗原理 99 3.4.5實驗操作步驟 101 3.4.6實驗參考程序 102 3.4.7練習題 104 3.5 C 語言程序實驗一 104 3.5.1 實驗目的 104 3.5.2 實驗設備 104 3.5.3 實驗內容 104 3.5.4 實驗原理 104 3.5.5 實驗操作步驟 106 3.5.6 實驗參考程序 106 3.5.7 練習題 109 3.6 C 語言程序實驗二 109 3.6.1 實驗目的 109 3.6.2 實驗設備 109 3.6.3 實驗內容 109 3.6.4 實驗原理 109 - iii - 3.6.5 實驗操作步驟 111 3.6.6 實驗參考程序 113 3.6.7 練習題 117 3.7 匯編與 C 語言的相互調用 117 3.7.1 實驗目的 117 3.7.2 實驗設備 117 3.7.3 實驗內容 117 3.7.4 實驗原理 117 3.7.5 實驗操作步驟 118 3.7.6 實驗參考程序 119 3.7.7 練習題 123 3.8 綜合實驗 123 3.8.1 實驗目的 123 3.8.2 實驗設備 123 3.8.3 實驗內容 123 3.8.4 實驗原理 123 3.8.5 實驗操作步驟 124 3.8.6 參考程序 127 3.8.7 練習題 134 第四章 基本接口實驗 135 4.1 存儲器實驗 135 4.1.1 實驗目的 135 4.1.2 實驗設備 135 4.1.3 實驗內容 135 4.1.4 實驗原理 135 4.1.5 實驗操作步驟 149 4.1.6 實驗參考程序 149 4.1.7 練習題 151 4.2 IO 口實驗 151 4.2.1 實驗目的 151 4.2.2 實驗設備 152 4.2.3 實驗內容 152 4.2.4 實驗原理 152 4.2.5 實驗操作步驟 159 4.2.6 實驗參考程序 160 4.2.7 實驗練習題 161 4.3 中斷實驗 161 4.3.1 實驗目的 161 4.3.2 實驗設備 161 4.3.3 實驗內容 161 4.3.4 實驗原理 162 4.3.5 實驗操作步驟 165 4.3.6 實驗參考程序 167 4.3.7 練習題 170 目 錄 I 第一章 嵌入式系統開發與應用概述 1 1.1 嵌入式系統開發與應用 1 1.2 基于 ARM的嵌入式開發環境概述 3 1.2.1 交叉開發環境 3 1.2.2 模擬開發環境 4 1.2.3 評估電路板 5 1.2.4 嵌入式操作系統 5 1.3 各種 ARM開發工具簡介 5 1.3.1 ARM的 SDT 6 1.3.2 ARM的ADS 7 1.3.3 Multi 2000 8 1.3.4 Embest IDE for ARM 11 1.3.5 OPENice32-A900仿真器 12 1.3.6 Multi-ICE 仿真器 12 1.4 如何學習基于 ARM嵌入式系統開發 13 1.5 本教程相關內容介紹 14 第二章 EMBEST ARM實驗教學系統 17 2.1 教學系統介紹 17 2.1.1 Embest IDE 集成開發環境 17 2.1.2 Embest JTAG 仿真器 19 2.1.3 Flash 編程器 20 2.1.4 Embest EduKit-III開發板 21 2.1.5 各種連接線與電源適配器 23 2.2 教學系統安裝 23 2.3 教學系統的硬件電路 27 2.3.1 概述 27 2.3.2 功能特點 27 2.3.3 原理說明 28 2.3.4 硬件結構 41 2.3.5 硬件資源分配 44 2.4 集成開發環境使用說明 51 2.4.1 Embest IDE 主框架窗口 51 2.4.2 工程管理 52 2.4.3 工程基本配置 55 2.4.4 工程的編譯鏈接 71 2.4.5 加載調試 72 2.4.6 Flash編程工具 80 第三章 嵌入式軟件開發基礎實驗 81 3.1 ARM匯編指令實驗一 81
上傳時間: 2013-04-24
上傳用戶:xaijhqx
1.ICCAVR是一個綜合了編輯器和工程管理器的集成工作環境(IDE); 2.源文件全部被組織到工程之中,文件的編輯和工程的構筑也在這個環境中完成,錯誤顯 示在狀態窗口中,并且當你點擊編譯錯誤時,光標自動跳轉到錯誤的那一行; 3.該工程管理器還能直接產生 INTEL HEX格式文件的燒寫文件(該格式的文件可被大多數 編程器所支持,可以直接下載到芯片中使用)和符合 AVRStudio的調試文件(COFF格式)。 4.ICCAVR是一個32位的程序,支持長文件名。 5.ICCAVR]是一個綜合了編輯器和工程管理器的集成開發環境(IDE),是一個純32位的程序,可在 Win 95、Win 98、Win ME、Win NT、Win 2000、Win XP和Win 7環境下運行。
上傳時間: 2013-04-24
上傳用戶:wsm555
ICCAVR簡介ICCAVR 是一種使用ANSI 標準C 語言來開發微控制器(MCU)程序的一個工具,它是一個綜合了編輯器和工程管理器的集成工作環境(IDE)。源文件全部被組織到工程之中,文件的編輯和工程(project)的構筑也在IDE 的環境中完成。編譯錯誤在狀態窗口中顯示,用鼠標單擊編譯錯誤時,光標會自動跳轉到出錯行。這個工程管理器還能直接產生INTEL HEX格式的燒寫文件和可以在AVR Studio 中調試的COFF 格式的調試文件。這里特別要提一下ICCAVR 中的應用構筑向導,可以在Tools 欄中選擇“ApplicationBiulder”或者直接點擊快捷工具欄中的“Application Biulder”圖標,就可以打開應用構筑向導對話框,可以根據需要設定芯片種類,各個端口初始值,是否使用定時器,中斷,UART等,選好以后單擊“OK”就可以得到所需的硬件初始化程序段,非??煽慷曳奖恪D1給出了初始化UART 的一個例子:下面介紹一下創建并編譯一個工程文件的簡要步驟:1.新建一個源文件從file 菜單中選擇new,創建一個新文件,在改文件中輸入源程序并進行編輯和修改,然后存盤,在存盤時必須指定文件類型,如命名為:try.c 。寫一個新文件的步驟:首先用Biulder 初始化需要用到的硬件資源,生成初始化程序,然后再寫需要的代碼實現所要的功能。2.新建一個project從projrct 菜單中選擇new 命令,IDE 會彈出一個對話框,在對話框中用戶可以指定工程存放的文件夾和工程的名稱。在建立一個新工程之后,在工程管理器的窗口會出現三個子目錄,Files, Headers, Documents,這時就可以將要編譯的文件添加到project 中了。3.把文件添加到工程中可以在project-files 里單擊右鍵,選擇需要添加的文件;也可以在編輯窗口中單擊右鍵選擇彈出窗口的“Add To Project”命令。4.編譯源文件在編譯之前特別要注意在Project Options 中選擇與硬件相應的芯片。如本次實驗就選擇ATMEGA8515,如圖2 所示。在project 中選擇make project,也可以直接單擊快捷鍵F9,這時要是有錯則會彈出出錯信息,修改調試正確以后單擊快捷鍵ISP 就可以燒寫到硬件中去了。
標簽: ICCAVR
上傳時間: 2013-10-25
上傳用戶:569342831
AVR 單片機和C語言的集成開發環境 ICCAVR編譯器簡介 ICCAVR是一個綜合了編輯器和工程管理器的集成開發環境(IDE),是一個純32位的程序,可在Windows 95/98/ME/NT/2000/XP下運行。Ø 源文件全部被組織在工程之中,文件的編輯和工程的構筑也在IDE的環境中完成。編譯錯誤在狀態窗口中顯示,用鼠標單擊編譯錯誤時,光標會自動跳轉到編輯窗口中引起錯誤的那一行。同時這個工程管理器還能直接產生INTEL HEX格式的燒錄文件和用于AVR Studio調試的COFF格式的文件。Ø ICCAVR是一個32位的程序,支持長文件名。Ø ICCAVR提供了全部的庫源代碼及一些簡單的應用實例供初學者參考,特別是提供庫源代碼,對于用戶理解庫函數的參數及返回值等是非常有益的,并且用戶能夠根據庫源代碼對ICCAVR提供的庫函數進行剪裁和擴充
上傳時間: 2013-10-30
上傳用戶:pkkkkp
Keil 軟件實例教程 2 單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51 單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil 軟件是目前最流行開發MCS-51 系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51 系列單片機的愛好者來說是十分必要的,如果你使用C 語言編程,那么Keil 幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C 語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。我們將通過一些實例來學習Keil 軟件的使用,在這一部份我們將學習如何輸入源程序,建立工程、對工程進行詳細的設置,以及如何將源程序變為目標代碼。圖1 所示電路圖使用89C51 單片機作為主芯片,這種單片機性屬于MCS-51 系列,其內部有4K 的FLASH ROM,可以反復擦寫,非常適于做實驗。89C51 的P1 引腳上接8 個發光二極管,P3.2~P3.4 引腳上接4 個按鈕開關,我們的第一個任務是讓接在P1 引腳上的發光二極管依次循環點亮。 一、Keil 工程的建立首先啟動Keil 軟件的集成開發環境,這里假設讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標簽,分別是Files、Regs、和Books,這三個標簽頁分別顯示當前項目的文件結構、CPU 的寄存器及部份特殊功能寄存器的值(調試時才出現)和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標簽頁全是空的。
上傳時間: 2013-10-26
上傳用戶:ruan2570406
Keil 軟件實例教程 1. 單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51 單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil 軟件是目前最流行開發MCS-51 系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51 系列單片機的愛好者來說是十分必要的,如果你使用C 語言編程,那么Keil 幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C 語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。我們將通過一些實例來學習Keil 軟件的使用,在這一部份我們將學習如何輸入源程序,建立工程、對工程進行詳細的設置,以及如何將源程序變為目標代碼。圖1 所示電路圖使用89C51 單片機作為主芯片,這種單片機性屬于MCS-51 系列,其內部有4K 的FLASH ROM,可以反復擦寫,非常適于做實驗。89C51 的P1 引腳上接8 個發光二極管,P3.2~P3.4 引腳上接4 個按鈕開關,我們的第一個任務是讓接在P1 引腳上的發光二極管依次循環點亮。 一、Keil 工程的建立首先啟動Keil 軟件的集成開發環境,這里假設讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標簽,分別是Files、Regs、和Books,這三個標簽頁分別顯示當前項目的文件結構、CPU 的寄存器及部份特殊功能寄存器的值(調試時才出現)和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標簽頁全是空的。
上傳時間: 2013-11-25
上傳用戶:hanbeidang
單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51 單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil 軟件是目前最流行開發MCS-51 系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51 系列單片機的愛好者來說是十分必要的,如果你使用C 語言編程,那么Keil 幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C 語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。我們將通過一些實例來學習Keil 軟件的使用,在這一部份我們將學習如何輸入源程序,建立工程、對工程進行詳細的設置,以及如何將源程序變為目標代碼。圖1 所示電路圖使用89C51 單片機作為主芯片,這種單片機性屬于MCS-51 系列,其內部有4K 的FLASH ROM,可以反復擦寫,非常適于做實驗。89C51 的P1 引腳上接8 個發光二極管,P3.2~P3.4 引腳上接4 個按鈕開關,我們的第一個任務是讓接在P1 引腳上的發光二極管依次循環點亮。 一、Keil 工程的建立首先啟動Keil 軟件的集成開發環境,這里假設讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標簽,分別是Files、Regs、和Books,這三個標簽頁分別顯示當前項目的文件結構、CPU 的寄存器及部份特殊功能寄存器的值(調試時才出現)和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標簽頁全是空的。
上傳時間: 2013-12-26
上傳用戶:liulinshan2010
AVR高速嵌入式單片機原理與應用(修訂版)詳細介紹ATMEL公司開發的AVR高速嵌入式單片機的結構;講述AVR單片機的開發工具和集成開發環境(IDE),包括Studio調試工具、AVR單片機匯編器和單片機串行下載編程;學習指令系統時,每條指令均有實例,邊學習邊調試,使學習者看得見指令流向及操作結果,真正理解每條指令的功能及使用注意事項;介紹AVR系列多種單片機功能特點、實用程序設計及應用實例;作為提高篇,講述簡單易學、適用AVR單片機的高級語言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機原理與應用(修訂版) 目錄 第一章ATMEL單片機簡介1.1ATMEL公司產品的特點11.2AT90系列單片機簡介21.3AT91M系列單片機簡介2第二章AVR單片機系統結構2.1AVR單片機總體結構42.2AVR單片機中央處理器CPU62.2.1結構概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運算邏輯單元92.3AVR單片機存儲器組織102.3.1可下載的Flash程序存儲器102.3.2內部和外部的SRAM數據存儲器102.3.3EEPROM數據存儲器112.3.4存儲器訪問和指令執行時序112.3.5I/O存儲器132.4AVR單片機系統復位162.4.1復位源172.4.2加電復位182.4.3外部復位192.4.4看門狗復位192.5AVR單片機中斷系統202.5.1中斷處理202.5.2外部中斷232.5.3中斷應答時間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機的省電方式242.6.1休眠狀態242.6.2空閑模式242.6.3掉電模式252.7AVR單片機定時器/計數器252.7.1定時器/計數器預定比例器252.7.28位定時器/計數器0252.7.316位定時器/計數器1272.7.4看門狗定時器332.8AVR單片機EEPROM讀/寫訪問342.9AVR單片機串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態寄存器ACSR462.11AVR單片機I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機存儲器編程612.12.1編程存儲器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機開發工具3.1AVR實時在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機開發下載實驗器SL?AVR703.4AVR集成開發環境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態開發實驗系統793.6SL?AVR*.ASM源文件說明81第四章AVR單片機指令系統4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達式874.2尋址方式894.3數據操作和指令類型924.3.1數據操作924.3.2指令類型924.3.3指令集名詞924.4算術和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉移指令1114.5.1無條件轉移指令1114.5.2條件轉移指令1144.6數據傳送指令1354.6.1直接數據傳送指令1354.6.2間接數據傳送指令1374.6.3從程序存儲器直接取數據指令1444.6.4I/O口數據傳送指令1454.6.5堆棧操作指令1464.7位指令和位測試指令1474.7.1帶進位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長間接調用子程序1624.8.2EIJMP--擴展間接跳轉1634.8.3ELPM--擴展裝載程序存儲器1644.8.4ESPM--擴展存儲程序存儲器1644.8.5FMUL--小數乘法1664.8.6FMULS--有符號數乘法1664.8.7FMULSU--有符號小數和無符號小數乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號數乘法1694.8.10MULSU--有符號數與無符號數乘法1694.8.11SPM--存儲程序存儲器170 第五章AVR單片機AT90系列5.1AT90S12001725.1.1特點1725.1.2描述1735.1.3引腳配置1745.1.4結構縱覽1755.2AT90S23131835.2.1特點1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點1865.3.2描述1875.3.3引腳配置1895.3.4開發實驗工具1905.4AT90S2333/44331915.4.1特點1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結構2015.6.6定時器/計數器2125.6.7看門狗定時器 2175.6.8EEPROM讀/寫2175.6.9串行外設接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數轉換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點2405.10.2描述2415.10.3引腳配置2435.10.4開發實驗工具2455.11ATmega1612465.11.1特點2465.11.2描述2475.11.3引腳配置2475.12AVR單片機替代MCS51單片機249第六章實用程序設計6.1程序設計方法2506.1.1程序設計步驟2506.1.2程序設計技術2506.2應用程序舉例2516.2.1內部寄存器和位定義文件2516.2.2訪問內部 EEPROM2546.2.3數據塊傳送2546.2.4乘法和除法運算應用一2556.2.5乘法和除法運算應用二2556.2.616位運算2556.2.7BCD運算2556.2.8冒泡分類算法2556.2.9設置和使用模擬比較器2556.2.10半雙工中斷方式UART應用一2556.2.11半雙工中斷方式UART應用二2566.2.128位精度A/D轉換器2566.2.13裝載程序存儲器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲的檢查2566.2.164×4鍵區休眠觸發方式2576.2.17多工法驅動LED和4×4鍵區掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗證SLAVR實驗器及AT90S1200的口功能12596.2.22驗證SLAVR實驗器及AT90S1200的口功能22596.2.23驗證SLAVR實驗器及具有DIP40封裝的口功能第七章AVR單片機的應用7.1通用延時子程序2607.2簡單I/O口輸出實驗2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實現字符8的循環移位顯示程序2757.3.4電腦放音機2777.3.5鍵盤掃描程序2857.3.6十進制計數顯示2867.3.7廉價的A/D轉換器2897.3.8高精度廉價的A/D轉換器2947.3.9星星燈2977.3.10按鈕猜數程序2987.3.11漢字的輸入3047.4復雜實用程序3067.4.110位A/D轉換3067.4.2步進電機控制程序3097.4.3測脈沖寬度3127.4.4LCD顯示8字循環3187.4.5LED電腦時鐘3247.4.6測頻率3307.4.7測轉速3327.4.8AT90S8535的A/D轉換334第八章BASCOMAVR的應用8.1基于高級語言BASCOMAVR的單片機開發平臺3408.2BASCOMAVR軟件平臺的安裝與使用3418.3AVR I/O口的應用3458.3.1LED發光二極管的控制3458.3.2簡易手控廣告燈3468.3.3簡易電腦音樂放音機3478.4LCD顯示器3498.4.1標準LCD顯示器的應用3498.4.2簡單游戲機--按鈕猜數3518.5串口通信UART3528.5.1AVR系統與PC的簡易通信3538.5.2PC控制的簡易廣告燈3548.6單總線接口和溫度計3568.7I2C總線接口和簡易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴展名3659.1.3附注和擴充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對安裝完成的軟件進行注冊3679.3ICC AVR導游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環境3709.4.1編譯一個單獨的文件3709.4.2創建一個新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應用構筑向導3719.4.6狀態窗口3719.4.7終端仿真3719.5C庫函數與啟動文件3729.5.1啟動文件3729.5.2常用庫函數3729.5.3字符類型庫3739.5.4浮點運算庫3749.5.5標準輸入/輸出庫3759.5.6標準庫和內存分配函數3769.5.7字符串函數3779.5.8變量參數函數3799.5.9堆棧檢查函數3799.6AVR硬件訪問的編程3809.6.1訪問AVR的底層硬件3809.6.2位操作3809.6.3程序存儲器和常量數據3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對內存地址3849.6.9C任務3859.6.10中斷操作3869.6.11訪問UART3879.6.12訪問EEPROM3879.6.13訪問SPI3889.6.14相對轉移/調用的地址范圍3889.6.15C的運行結構3889.6.16匯編界面和調用規則3899.6.17函數返回非整型值3909.6.18程序和數據區的使用3909.6.19編程區域3919.6.20調試3919.7應用舉例*3929.7.1讀/寫口3929.7.2延時函數3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機簡介398附錄2AT94K系列現場可編程系統標準集成電路401附錄3指令集綜合404附錄4AVR單片機選型表408參 考 文 獻412
上傳時間: 2013-11-08
上傳用戶:xcy122677
ICCAVR中文使用說明:ICCAVR 介紹1 ImageCraft 的ICCAVR 介紹ImageCraft 的ICCAVR 是一種使用符合ANSI 標準的C 語言來開發微控制器MCU程序的一個工具它有以下幾個主要特點ICCAVR 是一個綜合了編輯器和工程管理器的集成工作環境IDE 其可在WINDOWS9X/NT 下工作源文件全部被組織到工程之中文件的編輯和工程的構筑也在這個環境中完成編譯錯誤顯示在狀態窗口中并且當你用鼠標單擊編譯錯誤時光標會自動跳轉到編輯窗口中引起錯誤的那一行這個工程管理器還能直接產生您希望得到的可以直接使用的INTELHEX 格式文件INTEL HEX 格式文件可被大多數的編程器所支持用于下載程序到芯片中去ICCAVR 是一個32 位的程序支持長文件名出于篇幅考慮本說明書并不介紹通用的C 語言語法知識僅介紹使用ICC AVR 所必須具備的知識因此要求讀者在閱讀本說明書之前應對C 語言有了一定程度的理解2 ICCAVR 中的文件類型及其擴展名文件類型是由它們的擴展名決定的IDE 和編譯器可以使用以下幾種類型的文件輸入文件.c 擴展名----表示是C 語言源文件.s 擴展名----表示是匯編語言源文件.h 擴展名----表示是C 語言的頭文件.prj 擴展名----表示是工程文件這個文件保存由IDE 所創建和修改的一個工程的有關信息.a 擴展名----庫文件它可以由幾個庫封裝在一起libcavr.a 是一個包含了標準C 的庫和AVR 特殊程序調用的基本庫如果庫被引用鏈接器會將其鏈接到您的模塊或文件中您也可以創建或修改一個符合你需要的庫輸出文件.s 對應每個C 語言源文件由編譯器在編譯時產生的匯編輸出文件.o 由匯編文件匯編產生的目標文件多個目標文件可以鏈接成一個可執行文件.hex INTEL HEX 格式文件其中包含了程序的機器代碼.eep INTEL HEX 格式文件包含了EEPROM 的初始化數據.cof COFF 格式輸出文件用于在ATMEL 的AvrStudio 環境下進行程序調試.lst 列表文件在這個文件中列舉出了目標代碼對應的最終地址.mp 內存映象文件它包含了您程序中有關符號及其所占內存大小的信息.cmd NoICE 2.xx 調試命令文件.noi NoICE 3.xx 調試命令文件.dbg ImageCraft 調試命令文件
上傳時間: 2013-10-29
上傳用戶:truth12