z i p
標簽:
上傳時間: 2014-07-12
上傳用戶:yt1993410
C51實用程序(45個) I/O、定時器、中斷、看門狗、計數器、軟件AD、VB串口、93c06驅動、24c02系列驅動、7219、20045、軟件陷阱、串口中斷、碼值轉換、AVR通訊、IIC、DS1302、DS1820、SPI、1602、12232、12864、T6963、1330、PC鍵、鍵盤輸入法、智能化、飛機游戲、貪吃蛇、多級菜單實例等
上傳時間: 2016-06-17
上傳用戶:hasan2015
本教程首先概括討論作為ash轉換器基本構建模塊的比較器。
上傳時間: 2013-12-13
上傳用戶:lacsx
本書分三部分介紹在美國廣泛應用的、高功能的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先生曾大力支持本書的編著和出版。在此表示衷心感謝。
上傳時間: 2013-10-27
上傳用戶:rlgl123
《AVR單片機原理及應用》詳細介紹了ATMEL公司開發的ATmega8系列高速嵌入式單片機的硬件結構、工作原理、指令系統、接口電路、C編程實例,以及一些特殊功能的應用和設計,對讀者掌握和使用其他ATmega8系列的單片機具有極高的參考價值 AVR單片機原理及應用》具有較強的系統性和實用性,可作為有關工程技術人員和硬件工程師的應用手冊,亦可作為高等院校自動化、計算機、儀器儀表、電子等專業的教學參考書。 目錄 第1章 緒論 1.1 AVR單片機的主要特性 1.2 主流單片機系列產品比較 1.2.1 ATMEL公司的單片機 1.2.2 Mkcochip公司的單片機 1.2.3 Cygnal公司的單片機 第2章 AVR系統結構概況 2.1 AVR單片機ATmega8的總體結構 2.1.1 ATmega8特點 2.1.2 結構框圖 2.1.3 ATmega8單片機封裝與引腳 2.2 中央處理器 2.2.1 算術邏輯單元 2.2.2 指令執行時序 2.2.3 復位和中斷處理 2.3 ATmega8存儲器 2.3.1 Flash程序存儲器 2.3.2 SRAM 2.3.3 E2pROM 2.3.4 I/O寄存器 2.3.5 ATmega8的鎖定位、熔絲位、標識位和校正位 2.4 系統時鐘及其分配 2.4.1 時鐘源 2.4.2 外部晶振 2.4.3 外部低頻石英晶振 2.4.4 外部:RC振蕩器 2.4.5 可校準內部.RC振蕩器 2.4.6 外部時鐘源 2.4.7 異步定時器/計數器振蕩器 2.5 系統電源管理和休眠模式 2.5.1 MCU控制寄存器 2.5.2 空閑模式 2.5.3 ADC降噪模式 2.5.4 掉電模式 2.5.5 省電模式 2.5.6 等待模式 2.5.7 最小功耗 2.6 系統復位 2.6.1 復位源 2.6.2 MCU控制狀態寄存器——MCUCSR 2.6.3 內部參考電壓源 2.7 I/O端口 2.7.1 通用數字I/O端口 2.7.2 數字輸入使能和休眠模式 2.7.3 端口的第二功能 第3章 ATmega8指令系統 3.1 ATmega8匯編指令格式 3.1.1 匯編語言源文件 3.1.2 指令系統中使用的符號 3.1.3 ATmega8指令 3.1.4 匯編器偽指令 3.1.5 表達式 3.1.6 文件“M8def.inc” 3.2 尋址方式和尋址空間 3.3 算術和邏輯指令 3.3.1 加法指令 3.3.2 減法指令 3.3.3 取反碼指令 3.3.4 取補碼指令 3.3.5 比較指令 3.3.6 邏輯與指令 3.3.7 邏輯或指令 3.3.8 邏輯異或 3.3.9 乘法指令 3.4 轉移指令 3.4.1 無條件轉移指令 3.4.2 條件轉移指令 3.4.3 子程序調用和返回指令 3.5 數據傳送指令 3.5.1 直接尋址數據傳送指令 3.5.2 間接尋址數據傳送指令 3.5.3 從程序存儲器中取數裝入寄存器指令 3.5.4 寫程序存儲器指令 3.5.5 I/0端口數據傳送 3.5.6 堆棧操作指令 3.6 位操作和位測試指令 3.6.1 帶進位邏輯操作指令 3.6.2 位變量傳送指令 3.6.3 位變量修改指令 3.7 MCU控制指令 3.8 指令的應用 第4章 中斷系統 4.1 外部向量 4.2 外部中斷 4.3 中斷寄存器 第5章 自編程功能 5.1 引導加載技術 5.2 相關I/O寄存器 5.3 Flash程序存儲器的自編程 5.4 Flash自編程應用 第6章 定時器/計數器 6.1 定時器/計數器預定比例分頻器 6.2 8位定時器/計數器O(T/CO) 6.3 16位定時器/計數器1(T/C1) 6.3.1 T/C1的結構 6.3.2 T/C1的操作模式 6.3.3 T/121的計數時序 6.3.4 T/C1的寄存器 6.4 8位定時器/計數器2(T/C2) 6.4.1 T/C2的組成結構 6.4.2 T/C2的操作模式 6.4.3 T/C2的計數時序 6.4.4 T/02的寄存器 6.4.5 T/C2的異步操作 6.5 看門狗定時器 第7章 AVR單片機通信接口 7.1 AVR單片機串行接口 7.1.1 同步串行接口 7.1.2 通用串行接口 7.2 兩線串行TWT總線接口 7.2.1 TWT模塊概述 7.2.2 TWT寄存器描述 7.2.3 TWT總線的使用 7.2.4 多主機系統和仲裁 第8章 AVR單片機A/D轉換及模擬比較器 8.1 A/D轉換 8.1.1 A/D轉換概述 8.1.2 ADC噪聲抑制器 8.1.3 ADC有關的寄存器 8.2 AvR單片機模擬比較器 第9章 系統擴展技術 9.1 串行接口8位LED顯示驅動器MAX7219 9.1.1 概述 9.1.2 引腳功能及內部結構 9.1.3 操作說明 9.1.4 應用 9.1.5 軟件設計 9.2 AT24C系列兩線串行總線E2PPOM 9.2.1 概述 9.2.2 引腳功能及內部結構 9.2.3 操作說明 9.2.4 軟件設計 9.3 AT93C46——三線串行總線E2PPOM接口芯片 9.3.1 概述 9.3.2 內部結構及引腳功能 9.3.3 操作說明 9.3.4 軟件設計 9.4 串行12位的ADCTL543 9.4.1 概述 9.4.2 內部結構及引腳功能 9.4.3 操作說明 9.4.4 AD620放大器介紹 9.4.5 軟件設計 9.5 串行輸出16位ADCMAXl95 9.5.1 概述 9.5.2 引腳功能及內部結構 9.5.3 操作說明 9.5.4 應用 9.5.5 軟件設計 9.6 串行輸入DACTLC5615 9.6.1 概述 9.6.2 引腳功能及內部結構 9.6.3 操作說明 9.6.4 軟件設計 9.7 串行12位的DACTLC5618 9.7.1 概述 9.7.2 內部結構及引腳功能 9.7.3 操作說明 9.7.4 軟件設計 9.8 串行非易失性靜態RAMX24C44 9.8.1 概述 9.8.2 引腳功能及內部結構 9.8.3 操作說明 9.8.4 軟件設計 9.9 數據閃速存儲器AT45DB041B 9.9.1 概述 9.9.2 引腳功能及內部結構 9.9.3 操作說明 9.9.4 軟件設計 9.10 GM8164串行I/0擴展芯片 9.10.1 概述 9.10.2 引腳功能說明 9.10.3 操作說明 9.10.4 軟件設計 9.11 接口綜合實例 附錄1 ICCACR簡介 附錄2 ATmega8指令表 參考文獻
上傳時間: 2013-10-29
上傳用戶:lanwei
內容提要: MCS51單片機是超大規模集成電路技術發展的結果,是微型計算機發展中的一個重要開支。 MCS51-單片機組成與原理 MCS51指令系統 8098單片機的結構原理,應用與實踐。 第一章 單片微型計算機概述 第二章 MCS-51單片機組成和原理 第三章 MCS-51指令系統 第四章 MCS-51終端系統與定時器/計數器 第五章 8098單片機的結構原理 第六章 8098指令系統 第七章 8098中斷 定時器與I/0寄存器 第八章 8098高速輸入輸出單元HSIO 第九章 8098 A/D和PWM原理及應用 第十章 單片機串行通信 第十一章 單片機擴展儲存器的設計 第十二章 單片機I/0及定時器擴展 第十三章 單片機與D/A及A/D轉換器接口 第十四章 單片機的顯示器和鍵盤接口
上傳時間: 2013-11-25
上傳用戶:wuchunwu
對應程序: #include<reg52.h> #define uint unsigned int #define uchar unsigned char uchar code tab[]={ 0x81, 0x42, 0x24, 0x18, }; void delay(uint z) { uint i,j; for(i=z;i>0;i--) for(j=120;j>0;j--); } void init() { P0=0x00; }
上傳時間: 2014-01-17
上傳用戶:ruan2570406
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 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
14.1本章導讀所有LPC1300系列Cortex-M3微控制器的16位定時器塊都相同。14.2基本配制CT16B0/1采用以下寄存器進行配制:1)管腳:CT16B0/1管腳必須通過IOCONFIG寄存器塊進行配制(見“I/O配制寄存器IOCON_PIOn”小節)。2)功率與外設時鐘:在SYSAHBCLKCTRL寄存器中置位位7與位8(見表“系統AHB時鐘控制寄存器位描述”)。
上傳時間: 2013-11-16
上傳用戶:liuwei6419
單片機硬件系統設計原則一個單片機應用系統的硬件電路設計包含兩部分內容:一是系統擴展,即單片機內部的功能單元,如ROM、RAM、I/O、定時器/計數器、中斷系統等不能滿足應用系統的要求時,必須在片外進行擴展,選擇適當的芯片,設計相應的電路。二是系統的配置,即按照系統功能要求配置外圍設備,如鍵盤、顯示器、打印機、A/D、D/A轉換器等,要設計合適的接口電路。
上傳時間: 2015-08-31
上傳用戶:zhouchang199