單片機C語言應用程序設計針對目前最通用的單片機8051和最流行的程序設計語言——C語言,以KEII。公司8051單片機開發套件講解單片機的C語言應用程序設計。該套件的編譯器有支持經典8051及8051派生產品的版本,統稱為Cx51。Windows集成開發環境μVision2把μVisionl用的模擬調試器dScope與集成環境無縫結合起來,使用更方便,支持的單片機品種更多。 本書的特點是取材于原文資料,總結實際教學和應用經驗,實例較多,實用性強。本書中C語言是針對8051特有結構描述的,這樣,即使無編程基礎的人,也可通過本書學習單片機的c編程。單片機C語言應用程序設計目錄第1章 單片機基礎知識 1.1 8051單片機的特點 1.2 8051的內部知識 1.3 8051的系統擴展 習題一第2章 C與8051 2.1 8051的編程語言 2.2 Cx51編譯器 2.3 KEIL 8051開發工具 2.4 KEIL Cx51編程實例 2.5 Cx51程序結構 習題二第3章 Cx51 數據與運算 3.1 數據與數據類型 3.2 常量與變量 3.3 Cx51數據存儲類型與8051存儲器結構 3.4 8051特殊功能寄存器(SFR)及其Cx51定義 3.5 8051并行接口及其Cx51定義 3.6 位變量(BIT)及其Cx51定義 3.7 Cx51運算符、表達式及其規則 習題三第4章 Cx51 流程控制語句 4.1 C語言程序的基本結構及其流程圖 4.2 選擇語句 4.3 循環語句 習題四第5章 Cx51 構造數據類型 5.1 數組 5.2 指針 5.3 結構 5.4 共用體 5.5 枚舉 習題五第6章 Cx51 函數第7章 模塊化程序設計第8章 8051內部資源的C編輯第9章 8051擴展資源的C編輯第10章 8051輸出控制的C編程第11章 8051數據采集的C編程第12章 8051機間通信的C編程第13章 8051人機交互的C編程附錄A μVision2集成開發環境使用附錄B KEIL Cx51 上機制南
上傳時間: 2013-10-21
上傳用戶:行者Xin
MSP430系列flash型超低功耗16位單片機MSP430系列單片機在超低功耗和功能集成等方面有明顯的特點。該系列單片機自問世以來,頗受用戶關注。在2000年該系列單片機又出現了幾個FLASH型的成員,它們除了仍然具備適合應用在自動信號采集系統、電池供電便攜式裝置、超長時間連續工作的設備等領域的特點外,更具有開發方便、可以現場編程等優點。這些技術特點正是應用工程師特別感興趣的。《MSP430系列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
基于單片機PWM控制逆變電源的設計:設計了一種基于AT89C51 控制SA4828 的逆變電源,它采用IGBT 作為功率器件, IR2110 作為IGBT 的驅動芯片,并采用恒 U/F 的控制策略。關鍵詞:單片機 脈寬調制 逆變電源 本論文主要目的是設計一種全數字化三相PWM 逆變電源。三相SPWM 發生器是逆變電源的核心部分,它的性能好壞,直接關系到整個逆變電源的工作狀況。鑒于以80C196MC或TMS320LF240 為核心組成的控制電路,能實現電源的全數字化控制,但系統較復雜,軟件工作量大,研制周期長。在本設計中,我們選用了AT89C51 控制MITEL 公司的SA4828芯片作為波形發生器。 二、系統結構功率流程:市電輸入經輸入保護電路濾除噪聲后,進行整流、濾波變成直流電壓,然后這個直流電壓輸入到橋式逆變電路。PWM 發生器在單片機的控制下,通過驅動電路對輸出脈沖進行調制就可改變輸出電壓和頻率,再經輸出變壓器隔離后供給負載。主電路中根據磁路集成原理,將變壓器和濾波電感集成為一個磁性元件,再在變壓器的次級并以適當的電容,組成濾波網絡以獲得正弦波形輸出。整個電路分為五大部分:整流濾波、全橋逆變電路、驅動電路以及將單片機控制PWM 產生器的控制電路和保護電路。另外在輸入和輸出端還有輸入濾波和輸出濾波電路。
上傳時間: 2013-11-07
上傳用戶:xyipie
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
上傳用戶:古谷仁美
SPMC65系列單片機編程指南(中文版):SPMC65X系列是由凌陽公司設計開發的8位微控制器。每款芯片都獨具特色,同時凌陽公司還開發了一款仿真芯片ECMC653,專門用于SPMC65X系列的仿真。采用 SPMC65 CPU 核,凌陽公司新開發了功能強大的8位SPMC65系列CPU。該系列CPU 具有可編程的通用I/O端口、不同大小的ROM 和RAM 區、8位/16位定時/計數器、強大的CCP (Capture/Compare/PWM)功能模塊和看門狗復位電路等。并采用先進的微米制造工藝,保證了產品高的電磁兼容性和可靠性。除此之外,部分SPMC65X系列芯片具備高吸入電流和慢速輸出的端口、豐富的外部中斷源、低電壓復位、ADC、PWM、標準通訊接口和多種時鐘選擇。SPMC65X系列芯片適用于通用工控場合、計算機外圍控制和家電等。ECMC653采用8位SPMC65 CPU 核,具有928字節的RAM 和16k字節的ROM。同時還集成了1個時基、1個看門狗定時器、6個16位定時/計數器和9通道的ADC。為了降低整個仿真板的成本,該芯片還配有一個OTP ROM 的串行可編程接口。此外,為了幫助用戶加快程序的調試,并發現程序中隱藏的錯誤,該芯片內部專門有一RAM區域用于記錄程序最近一段時間執行的指令,用戶可以從中了解到程序是否正確執行。
上傳時間: 2013-11-01
上傳用戶:Jesse_嘉偉
SPCE061A單片機硬件結構 從第一章中SPCE061A的結構圖可以看出SPCE061A的結構比較簡單,在芯片內部集成了ICE仿真電路接口、FLASH程序存儲器、SRAM數據存儲器、通用IO端口、定時器計數器、中斷控制、CPU時鐘、模-數轉換器AD、DAC輸出、通用異步串行輸入輸出接口、串行輸入輸出接口、低電壓監測低電壓復位等若干部分。各個部分之間存在著直接或間接的聯系,在本章中我們將詳細的介紹每個部分結構及應用。2.1 μ’nSP™的內核結構μ’nSP™的內核如0所示其結構。它由總線、算術邏輯運算單元、寄存器組、中斷系統及堆棧等部分組成,右邊文字為各部分簡要說明。算術邏輯運算單元ALUμ’nSP™的ALU在運算能力上很有特色,它不僅能做16位基本的算術邏輯運算,也能做帶移位操作的16位算術邏輯運算,同時還能做用于數字信號處理的16位×16位的乘法運算和內積運算。1. 16位算術邏輯運算不失一般性,μ’nSP™與大多數CPU類似,提供了基本的算術運算與邏輯操作指令,加、減、比較、取補、異或、或、與、測試、寫入、讀出等16位算術邏輯運算及數據傳送操作。2. 帶移位操作的16位算邏運算對圖2.1稍加留意,就會發現μ’nSP™的ALU前面串接有一個移位器SHIFTER,也就是說,操作數在經過ALU的算邏操作前可先進行移位處理,然后再經ALU完成算邏運算操作。移位包括:算術右移、邏輯左移、邏輯右移、循環左移以及循環右移。所以,μ’nSP™的指令系統里專有一組復合式的‘移位算邏操作’指令;此一條指令完成移位和算術邏輯操作兩項功能。程序設計者可利用這些復合式的指令,撰寫更精簡的程序代碼,進而增加程序代碼密集度 (Code Density)。在微控制器應用中,如何增加程序代碼密集度是非常重要的議題;提高程序代碼密集度意味著:減少程序代碼的大小,進而減少ROM或FLASH的需求,以此降低系統成本與增加執行效能。
上傳時間: 2013-10-10
上傳用戶:星仔
深入淺出AVR單片機思路清晰,以AVR單片機為載體,介紹了初學單片機所必須掌握的專業知識。書中語言嚴謹但不乏幽默風趣,配以大量的照片、圖示和實例程序,使讀者在愉悅中完成專業知識的學習,并培養了學習嵌入式系統的興趣。本書在講述AVR單片機的同時,更注重于對讀者學習和設計能力的啟發、培養,幫助他們養成“從實踐中來,到實踐中去”的科學方法論,為進一步的學習創造了基礎。 本書講述淺顯、內容豐富、編排合理、實例詳盡。首先介紹了如何閱讀器件資料的方法,然后熟悉ICCAVR集成開發環境并搭建實驗開發裝置,接著從實際應用出發,啟發式地介紹AVR單片機的常用資源和對應軟件方法,最后較為全面地補充了從事嵌入式系統開發要擴展的軟件知識。 第1篇 Are you ready? 第1章 學會閱讀Datasheet 1.1 如何閱讀PDF文件,如何獲得Datasheet文件 1.2 Datasheet告訴我們些什么 1.3 如何看懂AVR的Datasheet 1.4 如何得到幫助 1.5 匯編語言執行時間的計算方法 1.6 ATmega48/88/168常用熔絲的作用及其配置方法 1.7 對誤燒寫為外部時鐘模式的解鎖方法 實例1 閱讀74HC595 Datasheet 第2章 深入開發環境 2.1 認識ICC編譯環境 2.2 事半功倍的代碼生成器 2.3 ICC之不得不說的故事 2.4 AVR最小系統和下載線DIY 實例2 AVR最小系統DIY第2篇 Let\'s go! 第3章 從跑馬燈開始 3.1 輸入/輸出界面 3.1.1 單片機的輸入/輸出設備——引腳 3.1.2 “芯”里有數——數碼管顯示 3.1.3 單片機的輸入/輸出設備——從按鍵到鍵盤 3.2 用ATmega48/88/168單片機端口驅動數碼管 3.3 操縱ATmega48/88/168單片機端口 3.4 端口內建上拉電阻的使用 3.5 端口位操作 實例3 跑馬燈 實例4 數碼管的顯示(上) 實例5 數碼管的顯示(下) 實例6 矩陣鍵盤 第4章 對不起接個電話 4.1 十萬火急——中斷 4.2 中斷的特性 4.3 使用中斷時的注意事項 4.4 ATmega48/88/168單片機有哪些中斷源 4.5 如何編寫一個中斷的服務程序代碼 4.6 ATmega48/88/168單片機中斷的開關控制 4.7 ATmega48/88/168中斷標志位 4.8 ATmega48/88/168中斷優先級 4.9 ATmega48/88/168單片機中斷向量 4.10 中斷與查詢之爭 4.11 用查詢方式響應外設中斷 4.12 中斷誤觸發 4.13 前后臺與原子操作 實例7 中斷喚醒的鍵盤掃描 實例8 旋轉編碼器 第5章 一秒究竟有多長 5.1 單片機與時間 5.2 軟件延時 5.3 不需要加載的“自由計時器” 5.4 通過重加載控制定時中斷周期 5.5 使用代碼生成器生成定時器1初始化代碼 5.6 定時器的其他工作模式 5.7 PWM波及其應用簡介 5.8 人類能看懂的電子時鐘——實時時鐘簡介 實例9 閃爍的燈 實例10 漸明漸暗的燈 實例11 復雜閃爍控制 第6章 電量低 6.1 從猜數游戲到A/D轉換器 6.2 ATmega48/88/168的A/D轉換器 6.3 ATmega48/88/168單片機中與A/D相關的引腳 6.4 ATmega48/88/168單片機中與A/D相關的寄存器 6.5 使用A/D時需要注意些什么 6.6 怎樣知道A/D轉換完成 6.7 讀取A/D的轉換結果 6.8 使用代碼生成器生成ADC初始化代碼 6.9 書寫具有工程結構的初始化代碼 6.10 電量計原理概述 …… 第7章 正在過收費站 第8章 包裝的學問 第9章 傻孩子求職記 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指針都是紙老虎 第13章 來自身邊的啟示 第14章 初識嵌入式系統
上傳時間: 2014-05-05
上傳用戶:佳期如夢
介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器,64×8的EEPROM的數據存儲器,8級深度的硬堆棧。 用PIC單片機設計的電子密碼鎖微芯公司生產的PIC8位COMS單片機,采用類RISC指令集和哈弗總線結構,以及先進的流水線時序,與傳統51單片機相比其在速度和性能方面更具優越性和先進性。PIC單片機的另一個優點是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設計更加簡單,節約設計成本,提高整機性能。因此PIC單片機已成為產品開發,尤其是產品設計和研制階段的首選控制器。本文介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器,64×8的EEPROM的數據存儲器,8級深度的硬堆棧。硬件設計 電路原理見圖1。Xx8位數據線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進制數據,經74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個139譯碼器動揚聲器。RB2接中功率三極管基極,驅動繼電器動作。有效密碼長度為4位,根據實際情況,可通過修改源程序增加密碼位數。產品初始密碼為3345,這是一隨機數,無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結束。輸入密碼并按#號確認之后,腳輸出RB2腳輸出高電平,繼電器閉合,執行一次開鎖動作。 若用戶輸入的密碼正確,揚聲器發出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發出短促的“滴”聲。連續3次輸入密碼錯誤之后,程序鎖死,揚聲器報警。直到CPU被復位或從新上電。軟件設計 軟件流程圖見圖3。CPU上電或復位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內沒有接受到用戶的任何輸入,CPU自動轉入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內部4個連續的EEPROM單元,掉電后該數據任有效。每執行一次開鎖指令,CPU將當前輸入密碼與該值比較,看是否真確,并給出相應的提示和控制。布 局 所有元件均使用SMD表貼封裝,縮小體積,便于產品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。
上傳時間: 2013-10-31
上傳用戶:uuuuuuu
用單片機AT89C51改造普通雙桶洗衣機:AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強,如能用來處理模擬量、進行簡單的模數轉換等。本文利用這一功能設計了一個數字電容表,可測量容量小于2微法的電容器的容量,采用3位半數字顯示,最大顯示值為1999,讀數單位統一采用毫微法(nf),量程分四檔,讀數分別乘以相應的倍率。電路工作原理 本數字電容表以電容器的充電規律作為測量依據,測試原理見圖1。電源電路圖。 壓E+經電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當充電時間t等于RC時間常數τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數字電容表就是以該電壓作為測試基準電壓,測量電容器充電達到該電壓的時間,便能知道電容器的容量。例如,設電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內部構造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結果存入P3.6口對應的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準電壓設定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變為1。以P3.6口的輸出電平為依據,用AT89C2051內部的定時器T0對充電時間進行計數,再將計數結果顯示出來即得出測量結果。整機電路見圖3。電路由單片機電路、電容充電測量電路和數碼顯示電路等 圖3 部分組成。AT89C2051內部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關S1選擇使用,電壓比較器的基準電壓由5V電源電壓經R6、RP1、R7分壓后得到,調節RP1可調整基準電壓。當P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數以10倍遞增。由于單片機內部P1.2口的上拉電阻經實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯關系,因此R2、R3、R4應由標準值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數碼管DS1-DS4、電阻R8-R14等組成數碼顯示電路。本機采用動態掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數碼管的動態掃描位驅動碼輸出。這里采用了共陰數碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅動數碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅動數碼管的各字段,當P3的某一端口輸出低電平時其對應的字段筆劃不點亮,而當其輸出高電平時,則對應的上拉電阻即能點亮相應的字段筆劃。
上傳時間: 2013-12-31
上傳用戶:ming529
多功能高集成外圍器件6. 1 多功能高集成外圍器件82371PCI的英文名稱:Peripheral Component Interconnect (外圍部件互聯PCI總線);82371是PCI總線組件。ISA是:Industry Standard Architecture(工業標準體系結構)IDE是 (Integrated Device Electronics)集成電路設備簡稱PIIX4PIIX4器件(芯片)的特點1、是一種支持Pentium和PentiumII微處理器的部件。2、82371對ISA橋來說,是一種多功能PCI總線。3、對可移動性和桌面深綠色環境均提供支持。4、電源管理邏輯。5、被集成化的IDE控制器。6、增強了性能的DMA控制器。(7)基于兩個82C59的中斷控制器。(8)基于82C54芯片的定時器。(9)USB(Universal Serial Bus)通用串行總線。(10)SMBus系統管理總線。(11)實時時鐘(12)順應Microsoft Win95所需的功能其芯片的邏輯框圖如圖6-1所示。 PIIX4芯片邏輯框圖6.1.1 概述PIIX4芯片是一個多功能的PCI器件,圖6-2 是82371在系統中扮演的角色。(續上圖)1. PCI與EIO之間的橋(PIIX4芯片)橋是不對程的,是各類不同標準總線與PCI總線連接,82371AB橋也可理解為一種總線轉換譯碼器和控制器,橋內包含復雜的協議總線信號和緩沖器。(1).在PCI系統內,當PIIX4操作時,它總是作為系統內各種模塊的主控設備,如USB和DMA控制器、IDE總線和分布式DMA的主控設備等,而且總是以ISA主控設備的名義出現。(2). 在向ISA總線或IDE總線進行傳送操作的傳送周期期間作為從屬設備使用,并對內部寄存器譯碼。PIIX4芯片(橋)的配置(1).可以把PIIX4芯片配置成整個ISA總線,或ISA總線的子集,也可擴展成EIO總線。在使用EIO總線時,可以把未使用的信號配置成通用的輸入和輸出。(2).PIIX4可直接驅動5個ISA插槽;(3).能提供字節-交換邏輯、I/O的恢復支持、等待狀態的生成以及SYSCLK的生成。(4).提供X-BUS鍵盤控制器芯片、BIOS芯片、實時時鐘芯片、二級微程序器等的選擇。2. IDE接口(總線主控設備的權利和同步DMA方式)IDE接口為4個IDE的設備提供支持,比如IDE接口的硬盤和CD-ROM等。注意:目前硬盤接口有5類:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口幾乎在PC機最多,因為便宜。SCSI多用于服務器和集群機。IDE的PIO IDE速率:14MB/s;而總線主控設備IDE的速率:33MB/s在PIIX4芯片的IDE系統內,配有兩個各次獨立的IDE信號通道。3. 具有兼容性的模塊—DMA、定時器/計數器、中斷控制器等(1)在PIIX4內的兩各82C37 DMA控制器經邏輯的組合,產生7個獨立的可編程通道。通道[0:3]是通過與8個二進位的硬件連線實現的。通過以字節為單位的計數進行傳送。而通道[5:7]是通過16個二進位的連線實現的,以字為單位的計數進行傳送。(2)DMA控制器還能通過PCI總線,處理舊的DMA的兩個不同的方法提供支持。(3)計數/定時器模塊在功能上與82C54等價。(4)中斷控制器與ISA兼容,其功能是兩個82C59的功能之和。
上傳時間: 2013-11-19
上傳用戶:3到15