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

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

綜述

  • Keil C51編譯器用戶手冊

    Keil C51編譯器用戶手冊 本文檔所述信息不屬于我公司的承諾范圍其內容的變化也不會另行通知本文檔所述軟件的出售必須經過授權或簽訂特別協議本文檔所述軟件的使用必須遵循協議約定在協議約定以外的任何媒體上復制本軟件將觸犯法律購買者可以備份為目的而做一份拷貝在未經書面許可之前本手冊的任何一部分都不允許為了購買者個人使用以外的目的而以任何形式和任何手段(電子的機械的)進行復制或傳播.

    標簽: Keil C51 編譯器 用戶手冊

    上傳時間: 2013-11-24

    上傳用戶:bs2005

  • PICmicro中檔單片機系列參考手冊

    PICmicro中檔單片機系列參考手冊:請注意以下有關Microchip 器件代碼保護功能的要點:• Microchip的產品均達到Microchip 數據手冊中所述的技術指標。• Microchip確信:在正常使用的情況下, Microchip 系列產品是當今市場上同類產品中最安全的產品之一。• 目前,仍存在著惡意、甚至是非法破壞代碼保護功能的行為。就我們所知,所有這些行為都不是以Microchip 數據手冊中規定的操作規范來使用Microchip 產品的。這樣做的人極可能侵犯了知識產權。• Microchip愿與那些注重代碼完整性的客戶合作。• Microchip或任何其它半導體廠商均無法保證其代碼的安全性。代碼保護并不意味著我們保證產品是“牢不可破”的。代碼保護功能處于持續發展中。Microchip 承諾將不斷改進產品的代碼保護功能。任何試圖破壞Microchip 代碼保護功能的行為均可視為違反了《數字器件千年版權法案(Digital Millennium Copyright Act)》。如果這種行為導致他人在未經授權的情況下,能訪問您的軟件或其它受版權保護的成果,您有權依據該法案提起訴訟,從而制止這種行為的。 Microchip 公司是The Embedded Control Solutions Company® (嵌入式控制系統解決方案公司),其產品主要滿足嵌入式控制市場的需求。我們是以下產品的領先供應商:• 8 位通用單片機(PICmicro® 單片機)• 專用和標準的非易失性存儲器件• 安防器件 (KEELOQ®)• 專用標準產品欲獲得您所感興趣的產品列表,請申請一份Microchip 產品線目錄。以往,8 位單片機的用戶只選擇傳統的MCU 類型,即ROM 器件,用于生產。Microchip 率先改變了這種傳統觀念,向人們展示了OTP (一次性編程)器件比ROM 器件在其壽命周期內具有更低的產品成本。Microchip 具備EPROM技術優勢,從而使EPROM成為PICmicro 單片機程序存儲器的不二選擇。Microchip 盡可能地縮小了EPROM 和ROM 存儲器技術之間的成本差距,并使顧客從中受益。其他MCU 供應商無法作到這一點,這從他們的 EPROM 和 ROM 版本之間的價格差異便可以看出。Microchip 的8 位單片機市場份額的增長證明了PICmicro® 單片機能夠滿足大多數人的需要。這也使PICmicro 單片機架構成為了當今通用市場上應用最廣泛的三大體系之一。Microchip 的低成本OTP 解決方案所帶來的效益是這一增長的助推劑。用戶能夠從以下各方面受益:• 快速的產品上市時間• 允許生產過程中對產品進行代碼修改• 無需掩膜產品所需的一次性工程費用(NRE)• 能夠輕松為產品進行連續編號• 無需額外增加硬件即可存儲校準數據• 可最大限度地增加PICmicro® 單片機的庫存• 由于在開發和生產中使用同一器件,從而降低了風險Microchip 的8 位 PICmicro 單片機具備很好的性價比,可成為任何傳統的8 位應用和某些4 位應用( 低檔系列)、專用邏輯的替代品以及低端DSP 應用( 高檔系列) 的選擇。這些特點及其良好的性價比使PICmicro 單片機在大多數應用場合極具吸引力。

    標簽: PICmicro 單片機 參考手冊

    上傳時間: 2014-03-03

    上傳用戶:ainimao

  • MSP430系列flash型超低功耗16位單片機

    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系列器件命名

    標簽: flash MSP 430 超低功耗

    上傳時間: 2014-04-28

    上傳用戶:sssnaxie

  • SPMC75F2413A單片機采用調試PWM方式產生正弦波

    采用調試PWM方式產生正弦波:系統說明SPMC75F2413A的MCP是專為電機控制而設計的定時模塊,可以根據用戶設定產生電機驅動所需的各種PWM波形,本例使用SPMC75F2413A的TMR3產生六路中心對稱SPWM(正弦脈寬調制),三相波形互差120度,其硬件結構如圖 1.1:圖 1.1 硬件結構其中PWMUN = !PWMU、PWMVN = !PWMV、PWMWN = !PWMW,由于死區保護時間的影響,這里所述的關系并不絕對成立。1.2 正弦波生成原理圖 1.2是三相SPWM生成原理,是基于三角波比較法得出的。如U相:當電壓比三角波的電壓高時PWM輸出高電平,反之輸出低點平。當三角波的頻率比輸入電壓頻率高得多時,PWM的占空比便隨輸入電壓的大小而線性變化,同時PWM的周期等于三角波的周期。

    標簽: 2413A F2413 SPMC 2413

    上傳時間: 2013-11-25

    上傳用戶:ljmwh2000

  • 基于MSP430行駛車輛檢測器的設計

    近年來,車輛檢測器作為交通信息采集的重要前端部分,越來越受到業內人士的關注。鑒于公路交通現代化管理和城市交通現代化管理的發展需要, 對于行駛車輛的動態檢測技術——車輛檢測器的研制在國內外均已引起較大重視。車輛檢測器以機動車輛為檢測目標,檢測車輛的通過或存在狀況,其作用是為智能交通控制系統提供足夠的信息以便進行最優的控制。目前,常用的行駛車輛檢測器主要有磁感應式檢測器,超聲波式檢測器,壓力開關檢測器,雷達檢測器,光電檢測器以及視頻檢測器等,而環形線圈電磁感應式車輛檢測器具有性能穩定、結構簡單、檢測電路易于實現、成本低、維護量少、適應面廣等優點,市場應用范圍最廣。目前我國實際用于高速公路和城市道路的車輛檢測器幾乎全部是從國外進口的,國產車輛檢測器存在著諸多問題, 如誤檢率高、靈敏度低、長時間工作穩定性差等。[1-2]在大量現場實驗基礎上, 本文提出一種新的解決方案, 將穩定性、靈敏性、高速性融為一體,解決了以上所述的諸多問題。

    標簽: MSP 430 車輛檢測器

    上傳時間: 2013-12-30

    上傳用戶:hanli8870

  • 離散傅里葉變換,(DFT)Direct Fouriet Tr

    離散傅里葉變換,(DFT)Direct Fouriet Transformer(PPT課件) 一、序列分類對一個序列長度未加以任何限制,則一個序列可分為:    無限長序列:n=-∞~∞或n=0~∞或n=-∞~ 0    有限長序列:0≤n≤N-1有限長序列在數字信號處理是很重要的一種序列。由于計算機容量的限制,只能對過程進行逐段分析。二、DFT引入由于有限長序列,引入DFT(離散付里葉變換)。DFT它是反映了“有限長”這一特點的一種有用工具。DFT變換除了作為有限長序列的一種付里葉表示,在理論上重要之外,而且由于存在著計算機DFT的有效快速算法--FFT,因而使離散付里葉變換(DFT)得以實現,它使DFT在各種數字信號處理的算法中起著核心的作用。三、本章主要討論 離散付里葉變換的推導離散付里葉變換的有關性質離散付里葉變換逼近連續時間信號的問題第二節 付里葉變換的幾種形式傅 里 葉 變 換 :  建 立 以 時 間 t 為 自 變 量 的 “ 信 號 ”   與 以 頻 率 f為 自 變 量 的 “ 頻 率 函 數 ”(頻譜) 之 間 的 某 種 變 換 關 系 . 所 以 “ 時 間 ” 或 “ 頻 率 ” 取 連 續 還 是 離 散 值 , 就 形 成 各 種 不 同 形 式 的 傅 里 葉 變 換 對 。, 在 深 入 討 論 離 散 傅 里 葉 變 換 D F T 之 前 , 先 概 述 四種 不 同 形式 的 傅 里 葉 變 換 對 . 一、四種不同傅里葉變換對傅 里 葉 級 數(FS):連 續 時 間 , 離 散 頻 率 的 傅 里 葉 變 換 。連 續 傅 里 葉 變 換(FT):連 續 時 間 , 連 續 頻 率 的 傅 里 葉 變 換 。序 列 的 傅 里 葉 變 換(DTFT):離 散 時 間 , 連 續 頻 率 的 傅 里 葉 變 換.離 散 傅 里 葉 變 換(DFT):離 散 時 間 , 離 散 頻 率 的 傅 里 葉 變 換1.傅 里 葉 級 數(FS)周期連續時間信號          非周期離散頻譜密度函數。 周期為Tp的周期性連續時間函數 x(t) 可展成傅里葉級數X(jkΩ0)  ,是離散非周期性頻譜 , 表 示為:例子通過以下 變 換 對  可 以 看 出 時 域 的 連 續 函 數 造 成 頻 域 是 非 周 期 的 頻 譜 函 數 , 而 頻 域 的 離 散 頻 譜 就 與 時 域 的 周 期 時 間 函 數 對 應 . (頻域采樣,時域周期延 拓)2.連 續 傅 里 葉 變 換(FT)非周期連續時間信號通過連續付里葉變換(FT)得到非周期連續頻譜密度函數。

    標簽: Fouriet Direct DFT Tr

    上傳時間: 2013-11-19

    上傳用戶:fujiura

  • 定時與計數技術

    第6章 定時與計數技術6.1  概  述1.定時  定義:提供的時間基準。  分類:內部定時、外部定時。2.計數  定時與計數本質上是一致的。  計數的信號隨機,定時的信號具有周期性。3.應用分時系統切換任務的時間基準、測速、計數6.1.2 定時方法1.軟件定時  通過軟件指令周期方法定時,如執行循環程序。  增加CPU負擔,通用性差,一般用于短延時。2.不可編程硬件定時  采用中小規模IC構成。  不增加CPU負擔,成本低,定時值不可改變。3.可編程硬件定時  采用可編程計數器完成,軟件可改變計數值。  可編程定時/計數器:實質上定時和計數本質上都是脈沖計數器,定時計的是內部基準時鐘源產生的脈沖,計數是計外部脈沖。6.1.3  定時/計數器基本原理1.內部邏輯CPU接口:  片選、低端地址線、讀寫控制線、數據線外設接口: 時鐘、控制、輸出內部邏輯:  端口地址譯碼器、各種寄存器2.工作過程  設初值、控制(計數)、輸出

    標簽: 定時 計數技術

    上傳時間: 2013-11-07

    上傳用戶:yuzsu

  • 匯編+保護模式+教程

    九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。IOPL的值在如下圖所示的標志寄存器中。 標  志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;對應I/O端口00H—3FH                        DB      10000000B      ;對應I/O端口40H—47H                        DB      01100000B      ;對用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH                        DB      0FFH           ;位圖結束字節TSSLen                  =       $TSSSEG                  ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常:                         in      al,21h  ;(1)正常執行                        in      al,47h  ;(2)引起異常                        out     20h,al  ;(3)正常實行                        out     4eh,al  ;(4)引起異常                        in      al,20h  ;(5)正常執行                        out     20h,eax ;(6)正常執行                        out     4ch,ax  ;(7)引起異常                        in      ax,46h  ;(8)引起異常                        in      eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。

    標簽: 匯編 保護模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

  • I2C總線高頻頭控制程序(Keil C51程序 基于芯片TS

    I2C總線高頻頭控制程序(Keil C51程序 基于芯片TSA5522系列) /*I2C總線高頻頭控制Keil C51程序(PLL芯片為TSA5522系列)                               *///--------------------------------------------------------------------------////                                源程序大公開                              ////                    (c) Copyright 2001-2003 xuwenjun                     ////                            All Rights Reserved                           ////                                    V1.00                                 ////--------------------------------------------------------------------------////標 題: I2C總線高頻頭控制程序(PLL芯片為TSA5522系列)                       ////文件名: xwj_fi1256.c                                                      ////版 本: V1.00                                                             ////修改人: 徐文軍                         E-mail:xuwenjun@21cn.com           ////日 期: 06-02-26 首次公開                                                 ////描 述: I2C總線高頻頭控制程序(PLL芯片為TSA5522系列)                       ////聲 明:                                                                   ////        以下代碼僅免費提供給學習用途,但引用或修改后必須在文件中聲明出處. ////        如用于商業用途請與作者聯系.    E-mail:xuwenjun@21cn.com           ////        有問題請mailto xuwenjun@21cn.com   歡迎與我交流!                  ////--------------------------------------------------------------------------////老版本: 無                             老版本文件名:                      ////創建人: 徐文軍                         E-mail:xuwenjun@21cn.com           ////日 期: 06-02-26                                                          ////描 述:                                                                   ////--------------------------------------------------------------------------//                                                                                                /* 頻率單位為KHz     */#define FUENCY 38900                                                        /* 中頻頻率          */#define PLLdataH(f) ((f+FUENCY)*16/1000/256)        /* 頻率數據高 第1字節*/#define PLLdataL(f) ((f+FUENCY)*16/1000%256)        /* 頻率數據低 第2字節*/#define PLLCON1 0x8e                                                        /* 控制字1    第3字節*/                                                                                                /* 控制字2    第4字節*/#define PLLCON2(f) (((f)<(168000))?(0xa0):(((f)<(450000))?(0x90):(0x30)))#define PLLdata3(fchan) PLLdataH (fchan),PLLdataL (fchan),PLLCON2 (fchan)

    標簽: Keil I2C C51 程序

    上傳時間: 2013-11-10

    上傳用戶:nanfeicui

  • pic單片機資料

    pic單片機資料 請注意以下有關Microchip 器件代碼保護功能的要點:• Microchip的產品均達到Microchip 數據手冊中所述的技術指標。• Microchip確信:在正常使用的情況下, Microchip 系列產品是當今市場上同類產品中最安全的產品之一。• 目前,仍存在著惡意、甚至是非法破壞代碼保護功能的行為。就我們所知,所有這些行為都不是以Microchip 數據手冊中規定的操作規范來使用Microchip 產品的。這樣做的人極可能侵犯了知識產權。• Microchip愿與那些注重代碼完整性的客戶合作。• Microchip或任何其它半導體廠商均無法保證其代碼的安全性。代碼保護并不意味著我們保證產品是“牢不可破”的。代碼保護功能處于持續發展中。Microchip 承諾將不斷改進產品的代碼保護功能。任何試圖破壞Microchip 代碼保護功能的行為均可視為違反了《數字器件千年版權法案(Digital Millennium Copyright Act)》。如果這種行為導致他人在未經授權的情況下,能訪問您的軟件或其它受版權保護的成果,您有權依據該法案提起訴訟,從而制止這種行為。

    標簽: pic 單片機資料

    上傳時間: 2013-10-19

    上傳用戶:nunnzhy

主站蜘蛛池模板: 辉县市| 常德市| 黑河市| 资阳市| 南木林县| 江源县| 富川| 福清市| 海淀区| 思南县| 赤城县| 丹东市| 合作市| 金坛市| 红安县| 普定县| 同仁县| 台江县| 旌德县| 长乐市| 循化| 马山县| 渝北区| 遂平县| 邵武市| 娱乐| 常德市| 甘德县| 乌兰县| 清原| 大厂| 平遥县| 大邑县| 闽侯县| 双峰县| 高平市| 大港区| 昭觉县| 当阳市| 密山市| 贵溪市|