摘 要:單片機多機通訊一般采用串行總線方式,但在通訊距離短,通訊數據量大,通訊速率高的場合也會用到多機并行通訊。本文介紹一種采用簡單邏輯電路實現單片機多機并行通訊的方法。關鍵詞:并行通訊,三態緩沖寄存器,雙端口存儲器,總線隔離1、 簡介本文介紹的單片機多機并行通訊系統,使用89C51作為主機,多片89C2051作為從機。(89C2051為20腳300MIL封裝,帶有2K FLASH E2PROM的單片機,除了少了兩個并口外,具備MCS-51系列單片機所有功能。因為其體積小,功能強,必將在單片機應用領域內廣泛使用)。這種并行通訊方法適用于在多站點,多層次的檢測和控制系統中充當通信控制器的角色;也適合于用作單片機串行口擴充電路。
上傳時間: 2013-10-31
上傳用戶:hxy200501
pic單片機實用教程(提高篇)以介紹PIC16F87X型號單片機為主,并適當兼顧PIC全系列,共分9章,內容包括:存儲器;I/O端口的復位功能;定時器/計數器TMR1;定時器TMR2;輸入捕捉/輸出比較/脈寬調制CCP;模/數轉換器ADC;通用同步/異步收發器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特點:通俗易懂、可讀性強、系統全面、學練結合、學用并重、實例豐富、習題齊全。<br>本書作為Microchip公司大學計劃選擇用書,可廣泛適用于初步具備電子技術基礎和計算機知識基礎的學生、教師、單片機愛好者、電子制作愛好者、電器維修人員、電子產品開發設計者、工程技術人員閱讀。本教程全書共分2篇,即基礎篇和提高篇,分2冊出版,以適應不同課時和不同專業的需要,也為教師和讀者增加了一種可選方案。 第1章 EEPROM數據存儲器和FIASH程序存儲器1.1 背景知識1.1.1 通用型半導體存儲器的種類和特點1.1.2 PIC單片機內部的程序存儲器1.1.3 PIC單片機內部的EEPROM數據存儲器1.1.4 PIC16F87X內部EEPROM和FIASH操作方法1.2 與EEPROM相關的寄存器1.3 片內EEPROM數據存儲器結構和操作原理1.3.1 從EEPROM中讀取數據1.3.2 向EEPROM中燒寫數據1.4 與FLASH相關的寄存器1.5 片內FLASH程序存儲器結構和操作原理1.5.1 讀取FLASH程序存儲器1.5.2 燒寫FLASH程序存儲器1.6 寫操作的安全保障措施1.6.1 寫入校驗方法1.6.2 預防意外寫操作的保障措施1.7 EEPROM和FLASH應用舉例1.7.1 EEPROM的應用1.7.2 FIASH的應用思考題與練習題第2章 輸入/輸出端口的復合功能2.1 RA端口2.1.1 與RA端口相關的寄存器2.1.2 電路結構和工作原理2.1.3 編程方法2.2 RB端口2.2.1 與RB端口相關的寄存器2.2.2 電路結構和工作原理2.2.3 編程方法2.3 RC端口2.3.1 與RC端口相關的寄存器2.3.2 電路結構和工作原理2.3.3 編程方法2.4 RD端口2.4.1 與RD端口相關的寄存器2.4.2 電路結構和工作原理2.4.3 編程方法2.5 RE端口2.5.1 與RE端口相關的寄存器2.5.2 電路結構和工作原理2.5.3 編程方法2.6 PSP并行從動端口2.6.1 與PSP端口相關的寄存器2.6.2 電路結構和工作原理2.7 應用舉例思考題與練習題第3章 定時器/計數器TMR13.1 定時器/計數器TMR1模塊的特性3.2 定時器/計數器TMR1模塊相關的寄存器3.3 定時器/計數器TMR1模塊的電路結構3.4 定時器/計數器TMR1模塊的工作原理3.4.1 禁止TMR1工作3.4.2 定時器工作方式3.4.3 計數器工作方式3.4.4 TMR1寄存器的賦值與復位3.5 定時器/計數器TMR1模塊的應用舉例思考題與練習題第4章 定時器TMR24.1 定時器TMR2模塊的特性4.2 定時器TMR2模塊相關的寄存器4.3 定時器TMR2模塊的電路結構4.4 定時器TMR2模塊的工作原理4.4.1 禁止TMR2工作4.4.2 定時器工作方式4.4.3 寄存器TMR2和PR2以及分頻器的復位4.4.4 TMR2模塊的初始化編程4.5 定時器TMR2模塊的應用舉例思考題與練習題第5章 輸入捕捉/輸出比較/脈寬調制CCP5.1 輸入捕捉工作模式5.1.1 輸入捕捉摸式相關的寄存器5.1.2 輸入捕捉模式的電路結構5.1.3 輸入捕捉摸式的工作原理5.1.4 輸入捕捉摸式的應用舉例5.2 輸出比較工作模式5.2.1 輸出比較模式相關的寄存器5.2.2 輸出比較模式的電路結構5.2.3 輸出比較模式的工作原理5.2.4 輸出比較模式的應用舉例5.3 脈寬調制輸出工作模式5.3.1 脈寬調制模式相關的寄存器5.3.2 脈寬調制模式的電路結構5.3.3 脈寬調制模式的工作原理5.3.4 脈定調制模式的應用舉例5.4 兩個CCP模塊之間相互關系思考題與練習題第6章 模/數轉換器ADC6.1 背景知識6.1.1 ADC種類與特點6.1.2 ADC器件的工作原理6.2 PIC16F87X片內ADC模塊6.2.1 ADC模塊相關的寄存器6.2.2 ADC模塊結構和操作原理6.2.3 ADC模塊操作時間要求6.2.4 特殊情況下的A/D轉換6.2.5 ADC模塊的轉換精度和分辨率6.2.6 ADC模塊的內部動作流程和傳遞函數6.2.7 ADC模塊的操作編程6.3 PIC16F87X片內ADC模塊的應用舉例思考題與練習題第7章 通用同步/異步收發器USART7.1 串行通信的基本概念7.1.1 串行通信的兩種基本方式7.1.2 串行通信中數據傳送方向7.1.3 串行通信中的控制方式7.1.4 串行通信中的碼型、編碼方式和幀結構7.1.5 串行通信中的檢錯和糾錯方式7.1.6 串行通信組網方式7.1.7 串行通信接口電路和參數7.1.8 串行通信的傳輸速率7.2 PIC16F87X片內通用同步/異步收發器USART模塊7.2.1 與USART模塊相關的寄存器7.2.2 USART波特率發生器BRG7.2.3 USART模塊的異步工作方式7.2.4 USART模塊的同步主控工作方式7.2.5 USART模塊的同步從動工作方式7.3 通用同步/異步收發器USART的應用舉例思考題與練習題第8章 主控同步串行端口MSSP——SPI模式8.1 SPI接口的背景知識8.1.1 SPI接口信號描述8.1.2 基于SPI的系統構成方式8.1.3 SPI接口工作原理8.1.4 兼容的MicroWire接口8.2 PIC16F87X的SPI接口8.2.1 SPI接口相關的寄存器8.2.2 SPI接口的結構和操作原理8.2.3 SPI接口的主控方式8.2.4 SPI接口的從動方式8.3 SPI接口的應用舉例思考題與練習題第9章 主控同步串行端口MSSP——I(平方)C模式9.1 I(平方)C總線的背景知識9.1.1 名詞術語9.1.2 I(平方)C總線的技術特點9.1.3 I(平方)C總線的基本工作原理9.1.4 I(平方)C總線信號時序分析9.1.5 信號傳送格式9.1.6 尋址約定9.1.7 技術參數9.1.8 I(平方)C器件與I(平方)C總線的接線方式9.1.9 相兼容的SMBus總線9.2 與I(平方)C總線相關的寄存器9.3 典型信號時序的產生方法9.3.1 波特率發生器9.3.2 啟動信號9.3.3 重啟動信號9.3.4 應答信號9.3.5 停止信號9.4 被控器通信方式9.4.1 硬件結構9.4.2 被主控器尋址9.4.3 被控器接收——被控接收器9.4.4 被控器發送——被控發送器9.4.5 廣播式尋址9.5 主控器通信方式9.5.1 硬件結構9.5.2 主控器發送——主控發送器9.5.3 主控器接收——主控接收器9.6 多主通信方式下的總線沖突和總線仲裁9.6.1 發送和應答過程中的總線沖突9.6.2 啟動過程中的總線沖突9.6.3 重啟動過程中的總線沖突9.6.4 停止過程中的總線沖突9.7 I(平方)C總線的應用舉例思考題與練習題附錄A 包含文件P16F877.INC附錄B 新版宏匯編器MPASM偽指令總表參考文獻
上傳時間: 2013-12-14
上傳用戶:xiaoyuer
單片機應用技術選編(1) 第一章 單片機系統綜合應用技術 11.1 且使用 8098單片機的幾點體會 2 1.2 單片機的冷啟動與熱啟動 31.3 大容量動態存儲器在單片機系統中的應用111.4 MCS-51單片機系統中動態 RAM的刷新技巧141.5 MCS-51單片機系統中外RAM空間超64KB的擴展方法161.6 8031單片機P0口和P2口的應用開發 181.7 74LS164在 8031單片機中的兩種用法261.8 用于 8031單片機的快速I/O接口281.9 MCS-51定時器定時常數初值的精確設定法301.10 8253的翻轉問題及 MC6840的替代方法321.11 MCS-51單片機外部中斷源的擴展設計351.12 MCS-51單片機多外中斷擴展方法401.13 用優先權編碼器74LS348擴展51系列單片機的外中斷源421.14 用優先權編碼器74LS148擴展51系列單片機的外中斷源471.15 8031單片機與 BG5119A漢字庫的接口方法521.16 可背插 SRAM的日歷時鐘 DS1216及其應用551.17 實時日歷時鐘集成電路MSM5832及其時序601.18 實時日歷時鐘集成電路MSM5832的接口技術631.19 實時時鐘/日歷芯片MC146818及其應用671.20 與 SICE仿真器通訊的IBM-PC機通訊程序的改進741.21 代碼形式參數匯編子程序的應用821.22 單片機應用系統中的查表程序設計861.23 用狀態綜合法設計鍵盤監控程序901.24 單片機系統程序的加密技術961.25 MCS-96單片機程序保密的幾種方法1001.26 GAL輸出宏單元原理及使用105 1.27 通用陣列邏輯 GAL應用于步進電機控制實例110 第二章 傳感器與前向通道接口技術1172.1 集成溫度傳感器 LM134及其應用1182.2 AD590集成溫度一電流傳感器原理及應用1242.3 集成溫度傳感器 AD590的應用1292.4 GS-800和 GS-130可燃氣體傳感器1332.5 集成化霍爾開關傳感器1352.6 一種新穎實用的氧氣/頻率轉換電路1392.7 MCS-51單片機與數字式溫度傳感器的接口設計1422.8 數字式溫度傳感器 SWC與 8031的接口及應用1452.9 低成本高精度壓力傳感器微機接口設計1472.10 峰值檢測電路原理及應用1512.11 用 LF398制作的實用峰值和谷值保持電路1532.12 AD637集成真有效值轉換器1562.13 傳感器信號調理模塊 ZB311622.14 2B31模塊在稱重智能儀表中的應用1662.15 傳感器信號調理模塊 2B30/2B31及其應用1692.16 高精度光纖位移測量系統的電路設計1752.17 集成電壓一電流轉換器 XTR100的工作原理及應用1792.18 傳感器信號變送器 F693及其應用1852.19 一種用兩片 VFC32構成的隔離放大器電路1912.20 實用線性隔離放大器1922.21 電橋放大電路中 7650的一些應用問題1942.22 A/D轉換器 ICL7109的應用研究1962.23 5G14433模數轉換器的啟停控制2002.24 ADC1130模數轉換器及其使用2042.25 16位 A/D轉換器 ADC1143及其與 80C31單片機的接口2082.26 串行 I/O D/A A/D轉換器與單片機的接口2132.27 單片機應用系統中的數字化傳感器接口技術2162.28 ADVFC32 A/D轉換接口技術2202.29 V/F和 F/V轉換器 TD650原理與應用2242.30 AD650與 MC-51單片機的接口技術2302.31 利用VCO電路與單片機接口實現A/D轉換2352.32 LM2907/2917系列F/V變換器在汽車檢測中的應用2382.33 單信號多通道輸入法改善 A/D轉換器性能2412.34 用多片 A們轉換芯片提高 A/D轉換速度2452.35 實時數控增益調整與浮點 ADC電路2492.36 電荷耦合器件的單片機驅動2532.37 電荷耦合器件的結構原理與單片機的軟件定時驅動2582.38 利用模數轉換器提高轉換信號的線性度2622.39 利用微型機解決轉換中的非線性問題2682.40 利用非線性曲線存儲實現線性化的方法2702.41 輸出無非線性誤差的可變電壓源單臂電橋274 第三章 控制系統與后向通道接口技術2793.1 DAC1231與單片機 8031的接口技術2803.2 單路及多路 D八的光電隔離接口技術2843.3 光電隔離高壓驅動器2903.4 TRAIC型光耦在 8031后向通道接口的應用分析2913.5 GD-L型光控晶閘管輸出光耦合器2963.6 用于晶閘管過零觸發的幾種方式3003.7 固態繼電器3043.8 固態繼電器在交流電子開關中的應用3083.9 JCG型參數固態繼電器3123.10 JCG型參數固態繼電器的應用315 3.11 介紹幾種適用于印刷電路板的超小型電磁繼電器3193.12 用TWH8751集成電路構成微機控制的三步進電機驅動電源3223.13 3-4相步進電機控制器 5G87133253.14 5G0602報警電路及應用3283.15 兩種新型溫控光控兀的應用330 第四章 人機對話通道接口技術3334.1 單片機鍵盤接口設計3344.2 由電話機集成電路構成的單片機鍵盤接口電路3364.3 用 GAL設計的一種編碼鍵盤接口3384.4 用 CMOS電路構成的非編碼觸摸鍵盤3424.5 設計薄膜開關應注意的一些問題3454.6 觸摸式電子開關集成電路 5G673及其應用3504.7 8279用于撥碼盤及顯示器的接口設計3544.8 LED數碼管的構造與特點3584.9 LED數碼管的集成驅動器及配套器件3624.10 8279芯片的顯示接口分析及32位數碼管顯示驅動電路設計366 4.11 用三端可調穩壓塊代替LED顯示器的限流電阻3704.12 液晶顯示器件的構造與特點3714.13 LCD七段顯示器與單片機的接口3744.14 液晶顯示器與單片機的接口技術3764.15 可編程LCD控制驅動器PPD72253814.16 微機總線兼容的四位 LCD驅動電路 TSC7211AM3874.17 使用8255的雙極性歸零脈沖驅動液晶顯示器接口3914.18 DMC16230型 LCD顯示模塊的接口技術3954.19 點陣式液晶顯示器原理及應用4034.20 實用液晶顯示電路4094.21 8031控制的 CRT顯示控制接口4144.22 用 8031控制多臺彩色顯示器的實現方法4194.23 高級語言處理器--T6668的結構與典型電路4234.24 延長 T6668語言電路錄放時間的方法4294.25 T6668高級語音開發站4324.26 語言處理器 T6668在電話報警系統中的應用4354.27 新型語音處理器YYH16439 第五章 網絡、通訊控制與多機系統4415.1 IBM-PC/XT和單片機通訊系統的設計4425.2 IBM-PC/XT微機與單片機的兩種通訊接口4485.3 MCS-51單片機與 IBMPC微機的串行通訊4525.4 中央控制端與 MCS-51單片機間的數據通訊4595.5 IBMPC機與 MCS-51單片機的快速數據通訊4665.6 8031單片機與 PC-1500計算機的通訊4735.7 多片 MCS-51系統的一種串行通訊方式4775.8 多單片機處理系統并行通訊的實現4815.9 半雙工遠距離電流環多機通訊接口電路4855.10 多微機系統共享 RAM電路4905.11 串行通訊中的波特率設置4925.12 在MCS-51單片機的串行通訊中實現波特率的自動整定4965.13 J274和 J275在微機分布式測控系統中的應用5005.14 單電纜傳送雙向數據5045.15 新穎的多路遙控兀編譯碼器5055.16 DTMF在單片機無線數據通訊中的應用5085.17 MCS-8031單片機在紅外遙控裝置中的應用5155.18 一種實用光纖數字遙測系統5185.19 智能儀表通訊系統中一種冗余通道的設計5245.20 EIARS-232-C接口使用中的幾個問題528 第六章 電源、電源變換與電源監視5316.1 電源擴展電路5326.2 一種簡單的直流三倍壓電路533 6.3 直流電源變換集成電路5356.4 直流電壓變換器ICL7660的應用5376.5 一種廉價高精密基準電壓源5406.6 精密可調基準電壓源及其應用5416.7 引腳可編程精密基準電壓源AD584及其應用5496.8 幾種新型恒流源集成電路5536.9 CW334三端可調恒流源及應用5576.10 電源電壓監視用芯片TL7705CP簡介5606.11 電源電壓監視用芯片TL7700簡介5646.12 WMS7705B電源監視用芯片簡介5676.13 具有HMOS結構的MCS-51系列單片機提供后備電源的方法570 第七章 系統抗于擾技術5757.1 微型計算機系統的抗干擾措施5767.2 計算機應用系統抗干擾問題5797.3 微機在工業應用中的抗干擾措施5867.4 利用電源監視TL7705芯片的抗電源于擾新方法5917.5 利用電源監視芯片WMS7705的抗電源干擾新方法5947.6 具有浪涌抑制能力的 TVP 6017.7 瞬變電壓抑制M極管TVP的特性及應用6047.8 單片機實時控制軟件抗干擾編程方法的探討6077.9 一種簡單實用的微機死機自復位抗干擾技術6107.10 單片機程序的監視保護6127.11 軟件 WATCHDOG系統615 7.12 一種實用的"看門狗"電路6187.13 高電壓下測量系統的抗干擾措施619 第八章 應用實例6218.1 單片機在多功能函數發生器中的應用6228.2 單片機波形發生器6298.3 單片機控制的調幅波發生器6338.4 用 8031單片機解調時統信號6368.5 具有 114DB動態范圍的浮點數據采集系統6418.6 電熱恒溫箱單片微機控制系統6468.7 智能 I一、C丑測試儀的原理及設計6528.8 采用 LMS算法的單片機數字交流電橋6568.9 單片微機的數字相位測試儀6598.10 單片機的氣體流量測量6628.11 單片機的相關流量儀6688.12 723型可見分光光度計6758.13 多功能微電腦電子秤6798.14 智能路面回彈檢測儀6838.15 使用 CCD的單片機動態布面檢測系統6878.16 使用 CCD的單片機激光衍射測徑系統6908.17 使用 CCD的單片機動態線徑測量儀6958.18 使用CCD的單片機中型熱軋圓鋼直徑檢測儀7018.19 用 MCS-51單片微機實現織布機的監測7058.20 單片機在工頻參量測試中的應用7098.21 單片機 8098在直線電機控制中的應用715?
上傳時間: 2014-12-28
上傳用戶:liufei
九.輸入/輸出保護為了支持多任務,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
PLC 以 其 可靠性高、抗干擾能力強、配套齊全、功能完善、適應性強等特點,廣泛應用于各種控制領域。PLC作為通用工業控制計算機,是面向工礦企業的工控設備,使用梯形圖符號進行編程,與繼電器電路相當接近,被廣大工程技術人員接受。但是在實際應用中,如何編程能夠提高PLC程序運行速度是一個值得我們思考研究的問題。1 PLC工作原理PLC 與 計 算機的工作原理基本相同,即在系統程序的管理下,通過運行應用程序完成用戶任務。但兩者的工作方式有所不同。計算機一般采用等待命令的工作方式,而PLC在確定了工作任務并裝人了專用程序后成為一種專用機,它采用循環掃描工作方式,系統工作任務管理及應用程序執行都是用循環掃描方式完成的。PLC 有 兩 種基本的工作狀態,即運行(RUN)與停止(STOP)狀態。在這兩種狀態下,PLC的掃描過程及所要完成的任務是不盡相同的,如圖1所示。 PLC在RUN工作狀態時,執行一次掃描操作所的時間稱為掃描周期,其典型值通常為1一100nis,不同PLC廠家的產品則略有不同。掃描周期由內部處理時間、輸A/ 輸出處理執行時間、指令執行時間等三部分組成。通常在一個掃描過程中,執行指令的時間占了絕大部分,而執行指令的時間與用戶程序的長短有關。用戶 程 序 是根據控制要求由用戶編制,由許多條PLC指令所組成。不同的指令所對應的程序步不同,以三菱FX2N系列的PLC為例,PLC對每一個程序步操作處理時間為:基本指令占0.741s/步,功能指令占幾百微米/步。完成一個控制任務可以有多種編制程序的方法,因此,選擇合理、巧妙的編程方法既可以大大提高程序運行速度,又可以保證可靠性。 提高PLC程序運行速度的幾種編程方法2.1 用數據傳送給位元件組合的方法來控制輸出在 PL C應 用編程中,最后都會有一段輸出控制程序,一般都是用邏輯取及輸出指令來編寫,如圖2所示。在圖2所示的程序中,邏輯取的程序步為1,輸出的程序步為2,執行上述程序共需3個程序步。通常情況下,PLC要控制的輸出都不會是少量的,比如,有8個輸出,在條件滿足時要同時輸出。此時,執行圖2所示的程序共需17個程序步。若我們通過位元件的組合并采用數據傳送的方法來完成圖2所示的程序,就會大大減少程序步驟。在三 菱 PLC中,只處理ON/OFF狀態的元件(如X,Y,M和S),稱為位元件。但將位元件組合起來也可以處理數據。位元件組合由Kn加首元件號來表示。位元件每4bit為一組組合成單元。如KYO中的n是組數,當n=1時,K,Yo 對應的是Y3一Yo。當n二2時,KZYo對應的是Y7一Yo。通過位元件組合,就可以用處理數據的方式來處理位元件,圖2程序所示的功能可用圖3所示的傳送數據的方式來完成。
上傳時間: 2013-11-11
上傳用戶:幾何公差
《數字信號處理實踐方法(第二版)》根據實際工程應用和具體實例,詳細介紹了數字信號處理(DSP)領域內的基本概念和相關技術。全書共分為14章,首先講解了DSP的基本概念及其應用,并從實際的例子出發,闡述了DSP的一些基本內容,如信號的抽樣、量化及其在實時DSP上的內涵。然后,作者介紹了離散變換(DFT和FFT),離散時間信號與系統分析的工具(z變換),以及DSP的基本運算(相關和卷積),并分析了數字濾波器設計的實際問題。《數字信號處理實踐方法(第二版)》還介紹了多抽樣率數字信號處理、自適應數字濾波器、譜估計及其分析等現代數字信號處理理論,最后討論了通用和專用數字信號處理器、定點DSP系統有限字長效應分析及DSP的應用和設計實例。另外,書中還提供了有關范例和實驗的MATLAB實現方法。 《數字信號處理實踐方法(第二版)》可作為通信與電子信息類專業高年級本科生和研究生的教材或教學參考書,而且對于相關學科的工程技術人員也具有很好的參考價值。
上傳時間: 2013-12-30
上傳用戶:assef
提出了一種在TI公司高性能數字信號處理器TMS320DM3730上進行H.264編碼器(即x264編碼器)移植與優化的方法,詳細描述了在CCS4.2開發平臺上進行x264編碼器移植工作的基本原理和需要注意的問題。為了提高編碼速度,針對DM3730處理器的結構特點,對x264編碼器進行了優化,主要方法包括編譯器優化、內存優化、C語言代碼優化及匯編代碼優化。對x264編碼器進行的CIF格式編碼測試結果表明,在均值信噪比略微降低的前提下,編碼速度得到了顯著提高,因此獲得了更優的編碼效率。
上傳時間: 2013-10-30
上傳用戶:evil
簡要介紹了DSP的發展歷程、技術應用、基本特點以及在我國市場的前景情況,并詳細闡述了DSP結構的主要特點和基本功能,介紹了DSP的工作原理和運算方法,對DSP的數值計算測試方法進行了深入的研究和探索,著重論述了DSP的數值表示方法、核心運算功能測試算法以及各種復雜指令的應用,對測試過程中主要的關鍵和難點進行闡述。
上傳時間: 2013-10-31
上傳用戶:ddddddd
TimeQuest就一定要搞定完整版,學習TimeQuest很好的資料
標簽: TimeQuest
上傳時間: 2013-11-07
上傳用戶:laozhanshi111
1.2 FPGA的設計方法與要求。
上傳時間: 2014-12-28
上傳用戶:JIMMYCB001