以PLD器件實現自動掃描去抖的編碼鍵盤設計:鍵盤在單片機控制系統中是最常用的輸入設備之一。雖然非編碼鍵盤的硬件電路較為簡單,但按鍵的識別及鍵值的計算則需軟件來完成,因此需要耗費寶貴的機時;而編碼鍵盤雖然程序簡單且易于使用,但硬件比較復雜。因此,設計人員常常難以決定采用哪一類鍵盤。本文以GAL6002為例,介紹了一種用PLD器件來實現4X4鍵盤自動掃描去抖的編碼鍵盤電路及其設計方法。
上傳時間: 2013-10-17
上傳用戶:yangbo69
MSP430系列flash型超低功耗16位單片機MSP430系列單片機在超低功耗和功能集成等方面有明顯的特點。該系列單片機自問世以來,頗受用戶關注。在2000年該系列單片機又出現了幾個FLASH型的成員,它們除了仍然具備適合應用在自動信號采集系統、電池供電便攜式裝置、超長時間連續工作的設備等領域的特點外,更具有開發方便、可以現場編程等優點。這些技術特點正是應用工程師特別感興趣的?!禡SP430系列FLASH型超低功耗16位單片機》對該系列單片機的FLASH型成員的原理、結構、內部各功能模塊及開發方法與工具作詳細介紹。MSP430系列FLASH型超低功耗16位單片機 目錄 第1章 引 論1.1 MSP430系列單片機1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 結構概述2.1 引 言2.2 CPU2.3 程序存儲器2.4 數據存儲器2.5 運行控制2.6 外圍模塊2.7 振蕩器與時鐘發生器第3章 系統復位、中斷及工作模式3.1 系統復位和初始化3.1.1 引 言3.1.2 系統復位后的設備初始化3.2 中斷系統結構3.3 MSP430 中斷優先級3.3.1 中斷操作--復位/NMI3.3.2 中斷操作--振蕩器失效控制3.4 中斷處理 3.4.1 SFR中的中斷控制位3.4.2 中斷向量地址3.4.3 外部中斷3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗應用的要點23第4章 存儲空間4.1 引 言4.2 存儲器中的數據4.3 片內ROM組織4.3.1 ROM 表的處理4.3.2 計算分支跳轉和子程序調用4.4 RAM 和外圍模塊組織4.4.1 RAM4.4.2 外圍模塊--地址定位4.4.3 外圍模塊--SFR4.5 FLASH存儲器4.5.1 FLASH存儲器的組織4.5.2 FALSH存儲器的數據結構4.5.3 FLASH存儲器的控制寄存器4.5.4 FLASH存儲器的安全鍵值與中斷4.5.5 經JTAG接口訪問FLASH存儲器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序計數器PC5.1.2 系統堆棧指針SP5.1.3 狀態寄存器SR5.1.4 常數發生寄存器CG1和CG25.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 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 無符號數相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符號數相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 無符號數乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符號數乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的軟件限制6.4.1 尋址模式6.4.2 中斷程序6.4.3 MACS第7章 基礎時鐘模塊7.1 基礎時鐘模塊7.2 LFXT1與XT27.2.1 LFXT1振蕩器7.2.2 XT2振蕩器7.2.3 振蕩器失效檢測7.2.4 XT振蕩器失效時的DCO7.3 DCO振蕩器7.3.1 DCO振蕩器的特性7.3.2 DCO調整器7.4 時鐘與運行模式7.4.1 由PUC啟動7.4.2 基礎時鐘調整7.4.3 用于低功耗的基礎時鐘特性7.4.4 選擇晶振產生MCLK7.4.5 時鐘信號的同步7.5 基礎時鐘模塊控制寄存器7.5.1 DCO時鐘頻率控制7.5.2 振蕩器與時鐘控制寄存器7.5.3 SFR控制位第8章 輸入輸出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中斷控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口邏輯第9章 看門狗定時器WDT9.1 看門狗定時器9.2 WDT寄存器9.3 WDT中斷控制功能9.4 WDT操作第10章 16位定時器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定時器模式控制10.2.2 時鐘源選擇和分頻10.2.3 定時器啟動10.3 定時器模式10.3.1 停止模式10.3.2 增計數模式10.3.3 連續模式10.3.4 增/減計數模式10.4 捕獲/比較模塊10.4.1 捕獲模式10.4.2 比較模式10.5 輸出單元10.5.1 輸出模式10.5.2 輸出控制模塊10.5.3 輸出舉例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕獲/比較控制寄存器CCTLx10.6.4 Timer_A中斷向量寄存器10.7 Timer_A的UART應用 第11章 16位定時器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定時器長度11.2.2 定時器模式控制11.2.3 時鐘源選擇和分頻11.2.4 定時器啟動11.3 定時器模式11.3.1 停止模式11.3.2 增計數模式11.3.3 連續模式11.3.4 增/減計數模式11.4 捕獲/比較模塊11.4.1 捕獲模式11.4.2 比較模式11.5 輸出單元11.5.1 輸出模式11.5.2 輸出控制模塊11.5.3 輸出舉例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕獲/比較控制寄存器CCTLx11.6.4 Timer_B中斷向量寄存器第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模式中的主模式13.1.2 SPI模式中的從模式13.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章 比較器Comparator_A14.1 概 述14.2 比較器A原理14.2.1 輸入模擬開關14.2.2 輸入多路切換14.2.3 比較器14.2.4 輸出濾波器14.2.5 參考電平發生器14.2.6 比較器A中斷電路14.3 比較器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比較器A應用14.4.1 模擬信號在數字端口的輸入14.4.2 比較器A測量電阻元件14.4.3 兩個獨立電阻元件的測量系統14.4.4 比較器A檢測電流或電壓14.4.5 比較器A測量電流或電壓14.4.6 測量比較器A的偏壓14.4.7 比較器A的偏壓補償14.4.8 增加比較器A的回差第15章 模數轉換器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC內核15.2.2 參考電平15.3 模擬輸入與多路切換15.3.1 模擬多路切換15.3.2 輸入信號15.3.3 熱敏二極管的使用15.4 轉換存儲15.5 轉換模式15.5.1 單通道單次轉換模式15.5.2 序列通道單次轉換模式15.5.3 單通道重復轉換模式15.5.4 序列通道重復轉換模式15.5.5 轉換模式之間的切換15.5.6 低功耗15.6 轉換時鐘與轉換速度15.7 采 樣15.7.1 采樣操作15.7.2 采樣信號輸入選擇15.7.3 采樣模式15.7.4 MSC位的使用15.7.5 采樣時序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 轉換存儲寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中斷標志寄存器ADC12IFG.x和中斷允許寄存器ADC12IEN.x15.8.5 中斷向量寄存器ADC12IV15.9 ADC12接地與降噪第16章 FLASH型芯片的開發16.1 開發系統概述16.1.1 開發技術16.1.2 MSP430系列的開發16.1.3 MSP430F系列的開發16.2 FLASH型的FET開發方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 標準復位過程和進入BSL過程16.3.2 BSL的UART協議16.3.3 數據格式16.3.4 退出BSL16.3.5 保護口令16.3.6 BSL的內部設置和資源附錄A 尋址空間附錄B 指令說明B.1 指令匯總B.2 指令格式B.3 不增加ROM開銷的模擬指令B.4 指令說明(字母順序)B.5 用幾條指令模擬的宏指令附錄C MSP430系列單片機參數表附錄D MSP430系列單片機封裝形式附錄E MSP430系列器件命名
上傳時間: 2014-04-28
上傳用戶:sssnaxie
單片機的數學基礎:本章基本要求:單片機是現代電子智能儀器儀表及嵌入式系統的主要組成部分,應用非常廣泛,是現代工程技術人員必須掌握的知識之一。本章要求掌握數的進制及其相互轉換、帶符號數的表示方法、溢出的判別方法、ASCII 碼和BCD 碼等單片機的數學基礎知識;掌握單片機的概念、特點、應用范圍、發展歷程等基礎知識;了解常用單片機系列。為后續章節的學習打下基礎。1.1 單片機的數學基礎1.1.1 數的進位制及其相互轉換(1) 數的幾種常用進制數制是人們利用符號來計數的方法,數制有很多種,人們熟悉的是十進制。但由于數在機器中是以器件的物理狀態來表示的,所以一個具有兩種穩定狀態且能相互轉換的器件,就可以用來表示一位二進制數。二進制數的表示是最簡單而且是最可靠的,另外二進制的運算規則也是最簡單的。因此,迄今為止,所有計算機都是以二進制進行算術運算和邏輯運算的。但是在使用二進制編寫程序時既繁鎖又容易出錯,所以人們在編寫程序時又經常用到十進制、十六進制或八進制。下面分別予以介紹。任何一種數制都有兩個要素,即基數和權。基數為數制中所使用的數碼的個數。當基數為R 時,該數制可使用的數碼為0~(R-1)。例如在二進制中基數為2,可使用0 和1 兩個數碼。在進行運算時按逢R 進一,借1當R的規則進行。權是數制中某一數位上單位數的大小,它是一個指數,底是基數R,冪是數碼的位置號,數碼的位置號從0 開始。將一個數中某一位的數碼與該位的權相乘,即為該位數碼的數值。
標簽: 單片機
上傳時間: 2013-11-16
上傳用戶:mahone
MCS-51單片機的系統擴展技術:在MCS-51單片機的的內部雖已集成了很多資源,但這類單片機屬于一種“通用”的單片機,單片機內部的各種資源都是折衷配置的,如片內程序存儲器、數據存儲器的容量都不大,并行I/O端口的數量也不很多,此外,在有些應用中,片內定時器、中斷、串行口等也顯得不足,還有一些功能是基本型MCS-51單片機所沒有的,比如A/D轉換,D/A轉換等等。實際應用中的要求是各種各樣的,如果用到了MCS-51單片機內部所沒有資源(如A/D,D/A等),或者單片機內部雖有,但卻不夠使用的資源,就要根據需要,對單片機進行擴展,以增加所需要的功能。MCS-51單片機所可能需要擴展的芯片種類非常多,但這里并不面面俱到,主要是通過對外擴程序存儲器、數據存儲器、I/O接口、A/D和D/A的介紹,使讀者熟悉單片機接口的一般方法。實際上,如果對于這些常規的擴展芯片能夠熟練地掌握和應用,并能理解其擴展的原理,拿到任何一塊需要擴展的芯片,只要有這塊芯片的數據手冊或接口時序之類的資料,就能自行設計芯片的接口電路部份。1. MCS-51單片機擴展的原理MCS-51單片機被設計成具有通用計算機那樣的外部總線結構,所以用MCS-51單片機進行擴展很方便,下面首先了解片外總線的工作原理。
上傳時間: 2014-04-28
上傳用戶:古谷仁美
MCP定時器的死區插入: 在雙極性PWM驅動系統中,上下橋臂的電力開關器件交替導通(如圖1-1的半橋電路)。圖1-1 電力開關半橋電路理想情況下,電力開關器件的開啟和關斷是不需要時間的,這時只要上下橋臂的驅動信號只要相反就可以;而實際的電力開關器件的開啟和關斷是需要時間的,而且關斷時間比開啟時間要長,這時就會出現一橋臂尚沒有完全關閉的情況下,另一橋臂就導通了,這就會出現上下橋臂同時導通的情況,致使電源短路,出現很大的直通電流,導致電力器件大量發熱,不但會造成電源浪費,還可能燒毀電力開關器件。因此,為避免出現上下橋臂直通的現象,就需要在一橋臂開始前,保證另一橋臂完全關斷,為此,在PWM驅動信號中插入死區保護時間,如圖1-2中的灰條所示(這個信號是電力器件在低電平導通,高電平關斷的情況)。
上傳時間: 2013-11-14
上傳用戶:dgann
AT89C2051是一個低電壓,高性能CMOS 8位單片機,片內含2k bytes的可反復擦寫的只讀Flash程序存儲器和128 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,功能強大AT89C2051單片機可為您提供許多高性價比的應用場合。AT89C2051是一個功能強大的單片機,但它只有20個引腳,15個雙向輸入/輸出(I/O)端口,其中P1是一個完整的8位雙向I/O口,兩個外中斷口,兩個16位可編程定時計數器,兩個全雙向串行通信口,一個模擬比較放大器。
上傳時間: 2014-04-16
上傳用戶:ippler8
《微機原理及應用》課程教案目 錄 下載WORD文檔前 言 下載WORD文檔第一章 51系列單片機概述 下載WORD文檔 第一節 概述 第二節 51系列單片機分類 思考題與習題 第二章 MCS-51系列單片機組成及工作原理 下載WORD文檔 第一節 MCS-51系列單片機組成 第二節 8051的內部數據存儲器(內部RAM) 第三節 8051的內部程序存儲器(內部ROM) 第四節 MCS-51系列單片機典型芯片的外部引腳功能 第五節 并行輸入/輸出口 第六節 CPU的時鐘電路和時序定時單位 第七節 單片機指令執行的過程 思考題與習題 第三章 指令系統 下載WORD文檔 第一節 指令格式和尋址方式 第二節 指令系統 思考題與習題 第四章 算法與結構程序設計 下載WORD文檔 第一節 算法 第二節 程序基本結構 第三節 結構化程序設計 第四節 匯編語言程序設計舉例 思考題與習題 第五章 中斷 下載WORD文檔 第一節 中斷技術概述 第二節 8051中斷系統 第三節 中斷控制 第四節 中斷響應 第五節 中斷系統應用舉例 思考題與習題 第六章 定時器/計數器 下載WORD文檔 第一節 概述 第二節 定時器/計數器基本結構 工作方式及應用 思考題與習題 第七章 8051單片機系統擴展與接口技術 下載WORD文檔 第一節 8051單片機系統擴展概述 第二節 單片機外部存儲器擴展 第三節 單片機輸入/輸出(I/O)口擴展 第四節 LED顯示器接口電路及顯示程序 第五節 單片機鍵盤接口技術 第六節 單片機與數模(D/A)及模數(A/D)轉換器的接口及應用 思考題與習題 第八章 8051單片機的異步串行通信技術 下載WORD文檔 第一節 概述 第二節 8051串行口基本結構 第三節 8051串行通信工作方式及應用 第四節 多機通信原理 下載WORD文檔 思考題與習題 第九章 單片機應用舉例 下載WORD文檔 第一節 單片機數據采集系統 第二節 電機轉速測量 第三節 步進電機控制系統 第四節 機器人三覺機械手信號處理及控制算法 思考題與習題 第十章 單片機與字符式液晶顯示模塊連接技術 下載WORD文檔 第一節 字符式液晶顯示模塊簡介 第二節 模塊指令系統 第三節 模塊與8051單片機的接口 第四節 模塊字符顯示舉例 第五節 自定義字符顯示 思考題與習題 附錄一 計算機數的運算基礎 下載WORD文檔 第一節 進位計數制及相互轉換 第二節 計算機中數和字符的表示附錄二 美國標準信息交換碼(ASCII)字符表附錄三 MCS-51指令表 下載WORD文檔
上傳時間: 2014-04-16
上傳用戶:hhkpj
輸入/輸出(I/O)接口是CPU與外設間信息交換的橋梁,是一個過渡性的電路,在單片機中和CPU集成在一塊芯片上。介紹輸入輸出口的內容中,著重講述SPCE061A單片機的較特殊的并行I/O結構,以及SPCE061A I/O口的特殊能力。單片機內部CPU與外設間所傳遞信息的性質、傳送方式、傳送速度和電平各不相同,所以CPU與外設之間不是簡單的直接相連,必須借助于I/O接口這個過渡電路才能協調起來。 并行I/O接口:CPU數據轉換為電平的最基本途徑;外設電平轉換為CPU識別的數據的最基本途徑;SPCE061A 并行I/O特性獨立的I/O口邏輯電平(VDDIO) 可接VDDIO范圍:3.3~5.5V。多種輸入方式 懸浮、上拉、下拉輸入方式,適應不同的外圍器件對接口要求。按位設置每一位I/O口 可按位設置每一位的輸入輸出方式、狀態。
上傳時間: 2013-11-19
上傳用戶:sssnaxie
51單片機動態LED顯示電路編程實例:上一節我們講述了單只LED與單片機的接口電路及編程實例,目的在于讓初學者了解LED在單片機中的應用原理,單只LED顯示在實際應用中并無多大用途,一般都是多位的LED顯示。現在我們作進一步學習,我們要講解的是8位LED的顯示原理及實際的編程方法。這里我們沒有采用多I/O口的8051系列單片機,而是采用了完全兼容C51指令系統的質優價廉的AT89C2051單片機,它的軟件編程與C51完全一致。 在多數的應用場合中,我們并不希望使用多I/O端口的單片機,原則上是使用盡量少引腳的器件。在沒有富余端口的情況下,怎樣通過擴展電路達到預期的目的呢?我們希望通過此例使設計人員在實際應用中了解一點電路擴展的原理,對實際的應用有所幫助。 此電路中,74LS273用于驅動LED的8位段碼,8位LED相應的"a"—"g"段連在一起,它們的公共端分別連至由74LS138(點擊芯片型號可瀏覽其詳細的技術手冊)譯碼選通后經74LS04反相驅動的輸出端。這樣當選通某一位LED時,相應的地址線(74LS04輸出端)輸出的是高電平,所以我們的LED選用共陽LED數碼管。 動態掃描的頻率有一定的要求,頻率太低,LED將出現閃爍現象。如頻率太高,由于每個LED點亮的時間太短,LED的亮度太低,肉眼無法看清,所以一般均取幾個ms左右為宜,這就要求在編寫程序時,選通某一位LED使其點亮并保持一定的時間,程序上常采用的是調用延時子程序。在C51指令中,延時子程序是相當簡單的,并且延時時間也很容易更改,可參見程序清單中的DELAY延時子程序。 為簡單起見,我們只是編寫了8位LED同步顯示"00000000"—"11111111"直到"99999999"數字,并且反復循環。程序很簡單,流程圖略去。
上傳時間: 2013-11-18
上傳用戶:皇族傳媒
介紹用PIC16C73 自帶的八位A/D 轉換器擴展為十二位A/D 轉換器,給出了具體的設計方案和程序流程。它是用以 PIC16C73 為MCU 構成的海水有機磷測控儀A/D 轉換部分的一種解決方案。為監測海洋生態環境,研制了用于海水有機磷農藥現場監測的生物傳感器。為測定生物傳感器的信號,使傳感器可用于船載及臺站的海洋生態環境現場自動監測,需要對整個的采樣和排液裝置進行控制以及對傳感器來的信號進行實時采集處理,形成有機磷的濃度傳給上位機。為此,開發了以PIC16C73 單片機為核心的小型測控儀器,很好的完成了上述功能。PIC1673 單片機自帶8 位的A/D 轉換器,但不能滿足系統對精度的要求,本設計在單片機自帶8 位A/D 基礎上加少量的硬件和軟件開銷,使其擴展為十二位A/D 轉換器,滿足了系統的要求。
上傳時間: 2013-10-30
上傳用戶:a296386173