基于單片機PWM控制逆變電源的設計:設計了一種基于AT89C51 控制SA4828 的逆變電源,它采用IGBT 作為功率器件, IR2110 作為IGBT 的驅動芯片,并采用恒 U/F 的控制策略。關鍵詞:單片機 脈寬調制 逆變電源 本論文主要目的是設計一種全數(shù)字化三相PWM 逆變電源。三相SPWM 發(fā)生器是逆變電源的核心部分,它的性能好壞,直接關系到整個逆變電源的工作狀況。鑒于以80C196MC或TMS320LF240 為核心組成的控制電路,能實現(xiàn)電源的全數(shù)字化控制,但系統(tǒng)較復雜,軟件工作量大,研制周期長。在本設計中,我們選用了AT89C51 控制MITEL 公司的SA4828芯片作為波形發(fā)生器。 二、系統(tǒng)結構功率流程:市電輸入經(jīng)輸入保護電路濾除噪聲后,進行整流、濾波變成直流電壓,然后這個直流電壓輸入到橋式逆變電路。PWM 發(fā)生器在單片機的控制下,通過驅動電路對輸出脈沖進行調制就可改變輸出電壓和頻率,再經(jīng)輸出變壓器隔離后供給負載。主電路中根據(jù)磁路集成原理,將變壓器和濾波電感集成為一個磁性元件,再在變壓器的次級并以適當?shù)碾娙荩M成濾波網(wǎng)絡以獲得正弦波形輸出。整個電路分為五大部分:整流濾波、全橋逆變電路、驅動電路以及將單片機控制PWM 產生器的控制電路和保護電路。另外在輸入和輸出端還有輸入濾波和輸出濾波電路。
上傳時間: 2013-11-07
上傳用戶:xyipie
高壓雙管反激變換器的設計:介紹一種雙管反激的電路拓撲,分析了其工作原理,給出了一些關鍵技術參數(shù)的計算公式,設計并研制成功的30W 380V AC5 0H z/510V DC/+15.1 V DC(1A )、+5.2VDC(2A)輔助開關電源具有功率密度高、變換效率高、可靠性高等優(yōu)良的綜合性能。該變換器在高電壓輸人情況下有重要的應用價值。【關 鍵 詞 】變換器,輔助開關電源,雙管反激 [Abstract】 A n e wt opologyfo rd oubles witchfl ybackc onverteris in troduced.Th eo perationp rincipleis a nalyzeda nds ome for mulas for calculating key parameters for the topology are presented. The designed and produced auxiliary switching power supply,i. e. 30W 380V AC5 0H z/5 10V DC/+15.1 V DC《1A )、+5.2 V DC《2A ),hase xcellentc omprehensivep erformances sucha sh ighp owerd ensity, hi ghc onversione fficiencya ndh ighr eliability.Th isc onverterh asim portanta pplicationv aluef orh igh input voltag [Keywords ]converter,au xiliary switchingp owers upply,do ubles witchf lybac
上傳時間: 2013-11-01
上傳用戶:Ants
利用TPM2定時器產生一通道語音信號輸出,語音數(shù)據(jù)為PCM格式:PCM的概念脈沖編碼調制(Pulse Code Modulation,PCM)是概念上最簡單、理論上最完善的編碼系統(tǒng),是最早研制成功、使用最為廣泛的編碼系統(tǒng),但也是數(shù)據(jù)量最大的編碼系統(tǒng)。PCM的編碼原理比較直觀和簡單,它的原理框圖如圖1-1所示。在這個編碼框圖中,它的輸入是模擬聲音信號,它的輸出是PCM樣本。圖中的“防失真濾波器”是一個低通濾波器,用來濾除聲音頻帶以外的信號;“波形編碼器”可暫時理解為“采樣器”,“量化器”可理解為“量化階大小(step-size)”生成器或者稱為“量化間隔”生成器。
上傳時間: 2013-11-21
上傳用戶:DXM35
MCP定時器產生中心對稱PWM輸出:PWM波是一種脈寬可調的脈沖波,用于交、直流電機的電壓控制。PWM一共有兩種調整方法,一是定頻調寬、另一種是定寬調頻。其中定頻調寬是種最常見的脈寬調制方式,它使脈沖波的頻率保持不變,只調整脈沖寬度。同時定頻調寬的PWM波形也分為兩種,一種是單邊的PWM,另一種是中心對稱的雙邊PWM。中心對稱的PWM主要應用在需要對稱PWM波形的場合,如半橋、全橋的雙極性驅動等。中心對稱的PWM的生成原理如圖1-2所示:定時計數(shù)器工作在連續(xù)增減計數(shù)方式,在計數(shù)初值設置為0且比較值小于周期值的條件下,當增計數(shù)過程中計數(shù)值和比較值匹配時置位輸出,而在周期匹配時會改計數(shù)方向為減計數(shù),當減計數(shù)過程中計數(shù)值和比較值匹配時復位輸出,當減計數(shù)到零時會改計數(shù)方向為增計數(shù),開始下一個循環(huán)。因此中心對稱的PWM的周期為設定周期的二倍,占空比為:%100))((×−TPRNTPR(N為比較匹配數(shù)據(jù),TPR為周期寄存器的值)。比較值的改變會影響PWM的兩邊的波形,并且兩邊相對高電平的中心對稱,這便是中心對稱雙邊PWM波形的特點。如果比較值為零,那么PWM將一直輸出高電平;如比較值大于等于周期值,則PWM會一直輸出低電平,占空比為0。
上傳時間: 2013-11-13
上傳用戶:sammi
MCP定時器產生邊沿PWM輸出:PWM波是一種脈寬可調的脈沖波,用于交、直流電機的電壓控制。PWM一共有兩種調整方法,一是定頻調寬、另一種是定寬調頻。其中定頻調寬是種最常見的脈寬調制方式,它使脈沖波的頻率保持不變,只調整脈沖寬度。同時定頻調寬的PWM波形也分為兩種,一種是單邊的PWM,另一種是中心對稱的雙邊PWM。單邊的PWM的生成原理如圖1-2:定時計數(shù)器工作在增計數(shù)方式,在計數(shù)初值設置為0且比較值小于周期值的條件下,當計數(shù)值和比較值匹配時置位輸出,而在周期匹配時復位輸出,同時清零計數(shù)器,開始下一個循環(huán)。因此單邊PWM的占空比為:%100))((×−TPRNTPR(N為比較匹配數(shù)據(jù),TPR為周期寄存器的值)。比較值的改變只影響PWM的單邊波形,這便是單邊PWM波形的特點。如果比較值為零,那么PWM將一直輸出高電平;如比較值同周期值相等,則PWM會輸出一個時鐘周期的低電平,占空比近似為0;當比較值大于周期值,那么PWM將一直輸出低電平。
上傳時間: 2013-11-07
上傳用戶:moerwang
微型51/AVR 編程器套件裝配說明書 請您在動手裝配這個編程器之前,務必先看完本說明書,避免走彎路。 1.收到套件后請對照元器件列表檢查一下,元件、配件是否齊全? Used Part Type Designator ==== ================ ========== 1 1k R6 1 1uf 50V C11 5 2k2 R2 R3 R4 R5 R11 1 10K*8 RN1 2 11.0592MHZ Q1 Q2 1 12V,0.5W D2 2 15k R7 R8 2 21k R9 R10 4 33p C6 C7 C8 C9 1 47uf 25V C10 1 74HC164 IC6 2 78L05 IC4 IC5 1 100uf 25V C12 1 220R R1 1 AT89C51 IC2 1 B40C800(W02) D1 2 BS170 T1 T2 1 BS250 T3 1 DB9/F J2 1 J1X2 J1 1 LED GN5 D3 1 LM317L IC1 1 TLC2272 IC7 1 ZIF40 IC3 5 1uf C1 C2 C3 C4 C5 另外,套件配有1.5米串行電纜一根和配套的PCB一塊,不含電源。編程器使用的15V交流電源或12V直流電源需要自己配套。2.裝配要點:先焊接阻容元件,3個集成電路插座(IC2,IC7,IC6)其次是晶振, 全橋,穩(wěn)壓IC 等,然后焊接J2,最后焊接T1,T2,T3三只場效應管。焊接場效應管時務必按照以下方法:拔去電烙鐵的電源,使用電烙鐵余溫去焊接三只場效應管,否則靜電很容易損壞管子。這是裝配成功的關鍵。這三只管子有問題,最典型的現(xiàn)象是不能聯(lián)機。由于電源插座封裝比較特殊,國內無法配套上,已改用電源線接線柱,可直接焊接在PCB板焊盤上,如下圖1所示(在下圖中兩個紅色圓圈內指示的焊盤),然后在連接到套件中配套的電源插座上。最近有朋友反映用15V交流比較麻煩,還要另外配變壓器。如果要使用12V的直流電,無需將全橋焊上,將兩個接線柱分別焊接在全橋的正負輸出位置的焊盤上即可,如下圖2所示,藍色圓圈內指示的焊盤,連接電源的時候要注意正負極,不要接錯了。方形焊盤是正極。40腳ZIF插座焊接前,應該將BR1飛線焊接好。注意:由于焊盤比較小,注意焊接溫度,不要高溫長時間反復焊接,會導致焊盤脫落。
上傳時間: 2013-12-31
上傳用戶:caiguoqing
串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現(xiàn)編程的讀,寫,擦等細節(jié)//AT89C2051的特殊處:給XTAL一個脈沖,地址計數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環(huán)讀,直到讀出與寫入的數(shù)相同 { nTimeOut++; if(nTimeOut>1000)//超時了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數(shù)指針,讓主程序可以調用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時間: 2013-11-12
上傳用戶:gut1234567
單片機應用技術選編(3) 目錄 第一章 單片機的綜合應用技術1.1 8098單片機存儲器的擴展技術1.2 87C196KC單片機的DMA功能1.3 MCS?96系列單片機高精度接口設計1.4 利用PC機的8096軟件開發(fā)系統(tǒng)1.5 EPROM模擬器及其應用1.6 MCS?51智能反匯編軟件的設計與實現(xiàn)1.7 MCS?51系列軟件設計與調試中一個值得注意的問題1.8 PL/M語言在微機開發(fā)系統(tǒng)中的應用特性1.9 MCS?51單片機開發(fā)系統(tǒng)中的斷點產生1.10 C語言實型數(shù)與單片機浮點數(shù)之間數(shù)據(jù)格式的轉換1.11 微機控制系統(tǒng)初始化問題探討1.12 MCS?51中斷系統(tǒng)中的復位問題1.13 工業(yè)控制軟件的編程原則與編程技巧1.14 CMOS微處理器的功耗特性及其功耗控制原理和應用1.15 基于PLL技術的A/D、D/A轉換器的設計1.16 智能儀器監(jiān)控程序的模塊化設計1.17 用軟件邏輯開關實現(xiàn)單片機的地址重疊使用1.18 8259A可編程中斷控制器與8031單片機接口電路及編程1.19 NSC810及其在各種微處理機中的應用1.20 MC146818在使用中的幾個問題1.21 交流伺服系統(tǒng)中采用8155兼作雙口信箱存儲器的雙微機結構1.22 實用漢字庫芯片的制作 第二章 新一代存儲器及邏輯器件2.1 新一代非易失性記憶元件--閃爍存儲器2.2 Flash存儲器及應用2.3 隨機靜態(tài)存儲器HM628128及應用2.4 非揮發(fā)性隨機存儲器NOVRAM2.5 ASIC的設計方法和設計工具2.6 GAL器件的編程方法及其應用2.7 第三代可編程邏輯器件--高密EPLD輯器件EPLDFPGA設計轉換 第三章 數(shù)據(jù)采集、前向通道與測量技術 3.1 溫度傳感器通道接口技術 3.2 LM135系列精密溫度傳感器的原理和應用 3.3 儀表放大器AD626的應用 3.4 5G7650使用中應注意的問題 3.5 用集成運算放大器構成電荷放大器組件 3.6 普通光電耦合器的線性應用 3.7 高線性光耦合型隔離放大器的研制 3.8 一種隔離型16位單片機高精度模擬量接口3.9 單片16位A/D轉換器AD7701及其與8031單片機的串行接口3.10 雙積分型A/D轉換器與MCS?51系列單片機接口的新方法3.11 8031單片機與AD574A/D轉換器的最簡接口3.12 8098單片機A/D轉換接口及其程序設計3.13 提高A/D轉換器分辨率的實用方案3.14 用CD4051提高8098單片機內10位A/D轉換器分辨率的方法3.15 單片機實現(xiàn)16位高速積分式A/D轉換器3.16 434位A/D轉換器MAX133(134)的原理及應用3.17 AD574A應用中應注意的問題 3.18 CC14433使用中應注意的問題 3.19 高精度寬范圍數(shù)據(jù)采集系統(tǒng)的溫度補償途徑 3.20 縮短ICL7135A/D采樣程序時間的一種方法 3.21 用單片機實現(xiàn)的數(shù)字式自動增益控制 3.22 自動量程轉換電路 3.23 雙積分型A/D的自動量程切換電路 3.24 常用雙積分型A/D轉換器自換程功能的擴展3.25 具有自動量程轉換功能的單片機A/D接口3.26 混合型數(shù)據(jù)采集器SDM857的功能與應用3.27 高速數(shù)據(jù)采集系統(tǒng)的傳輸接口3.28 SJ2000方向鑒別位移脈寬頻率檢測多用途專用集成電路3.29 多路高速高精度F/D專用集成電路3.30 數(shù)控帶通濾波器的實現(xiàn)及其典型應用 第四章 控制系統(tǒng)與后向通道接口技術4.1 模糊邏輯與模糊控制4.2 自動控制技術的新發(fā)展--模糊控制技術4.3 模糊控制表的確定原則4.4 變結構模糊控制系統(tǒng)的實驗研究4.5 新型集成模糊數(shù)據(jù)相關器NLX1124.6 功率固態(tài)繼電器的應用4.7 雙向功率MOS固態(tài)繼電器4.8 SSR小型固態(tài)繼電器與PSSR功率參數(shù)固態(tài)繼電器4.9 JGD型多功能固態(tài)繼電器的原理和應用4.10 光電耦合器在晶閘管觸發(fā)電路中的應用4.11 一種廉價的12位D/A轉換器AD667及接口4.12 利用單片機構成高精度PWM式12位D/A4.13 三相高頻PWM模塊SLE45204.14 專用集成電路TCA785及其應用4.15 單片溫度控制器LM3911的應用4.16 工業(yè)測控系統(tǒng)軟件設計的若干問題研究 第五章 人機對話通道接口技術5.1 廉價實用的8×8鍵盤5.2 單片機遙控鍵盤接口5.3 對8279鍵盤顯示接口的改進5.4 用單片機8031的七根I/O線實現(xiàn)對鍵盤與顯示器的控制5.5 通用8位LED數(shù)碼管驅動電路ICM7218B5.6 利用條圖顯示驅動器LM3914組成100段LED顯示器的方法5.7 液晶顯示器的多極驅動方式5.8 點陣式液晶顯示屏的構造與應用5.9 點陣式液晶顯示器圖形程序設計5.10 DMF5001N點陣式液晶顯示器和8098單片機的接口技術5.11 8098單片機與液晶顯示控制器HD61830接口5.12 利用PL/M語言對點陣式液晶顯示器進行漢字程序設計5.13 語音合成器TMS 5220的開發(fā)與應用5.14 制作T6668語音系統(tǒng)的一些技術問題5.15 單片機、單板機在屏顯系統(tǒng)中的應用 第六章 多機通訊網(wǎng)絡與遙控技術6.1 用雙UART構成的可尋址遙測點裝置--兼談如何組成系統(tǒng)6.2 IBM?PC微機與8098單片機的多機通訊6.3 80C196單片機與IBM?PC機的串行通訊6.4 IBM?PC與MCS?51多機通訊的研究6.5 半雙工方式傳送的單片機多機通信接口電路及軟件設計6.6 單片機與IBM/PC機通訊的新型接口及編程6.7 用光耦實現(xiàn)一點對多點的總線式通訊電路6.8 用EPROM作為通訊變換器實現(xiàn)多機通訊6.9 ICL232單電源雙RS?232發(fā)送/接收器及其應用6.10 DTMF信號發(fā)送/接收電路芯片MT8880及應用6.11 通用紅外線遙控系統(tǒng)6.12 8031單片機在遙控解碼方面的應用 第七章 電源、電壓變換及電源監(jiān)視7.1 用于微機控制系統(tǒng)的高可靠性供電方法7.2 80C31單片機防掉電和抗干擾電源的設計7.3 可編程基準電壓源7.4 電源電壓監(jiān)視器件M81953B7.5 檢出電壓可任意設定的電源電壓監(jiān)測器7.6 低壓降(LDO?Low Drop?Out)穩(wěn)壓器7.7 LM317三端可調穩(wěn)壓器應用二例7.8 三端集成穩(wěn)壓器的擴流應用 第八章 可靠性與抗干擾技術8.1 數(shù)字電路的可靠性設計實踐與體會8.2 單片機容錯系統(tǒng)的設計與實現(xiàn)8.3 微機測控系統(tǒng)的接地、屏蔽和電源供給8.4 ATE的抗干擾及接地技術8.5 微處理器監(jiān)控電路MAX690A/MAX692A8.6 電測儀表電路的實用抗干擾技術8.7 工業(yè)鍍鋅電阻爐溫度控制機的抗干擾措施8.8 一種簡單的抗干擾控制算法 ? 第九章 綜合應用實例9.1 蔬菜灌溉相關參數(shù)的自動檢測9.2 MH?214溶解氧測定儀9.3 COP840C單片機在液晶線控空調電腦控制器中的應用9.4 單片機在電飯煲中的應用9.5 用PIC單片機制作電扇自然風發(fā)生器 第十章 文章摘要 一、 單片機的綜合應用技術1.1 摩托羅拉8位單片機的應用和開發(fā)1.2 NS公司的COP800系列8位單片機1.3 M68HC11與MCS?51單片機功能比較1.4 8098單片機8M存儲空間的擴展技術1.5 80C196KC單片機的外部設備事件服務器1.6 一種多進程實時控制系統(tǒng)的軟件設計1.7 開發(fā)單片機的結構化高級語言PL/M?961.8 應用軟件開發(fā)中的菜單接口技術1.9 單片機用戶系統(tǒng)EPROM中用戶程序的剖析方法1.10 BJS?98硬件、軟件典型實驗1.11 FORTH語言系統(tǒng)的開發(fā)應用1.12 在Transputer系統(tǒng)上用并行C語言編程的特點1.13 一種軟件擴展8031內部計數(shù)器簡易方法1.14 MCS 51系列單片機功能測試方法研究1.15 用CD 4520B設計對稱輸出分頻器的方法1.16 多路模擬開關CC 4051功能擴展方法1.17 條形碼技術及其應用系統(tǒng)的設計與實現(xiàn)? 二、 新一代存儲器及邏輯器件2.1 一種多功能存儲器M6M 72561J2.2 串行E2PROM及其在智能儀器中的應用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM編程卡2.5 電子盤的設計與實現(xiàn)2.6 NS GAL器件的封裝標簽、類型代碼和編程結構間的關系 三、數(shù)據(jù)采集、前向通道與測量技術3.1 儀器用精密運放CA3193的應用3.2 集成電壓?電流轉換器XTR100的應用3.3 瞬時浮點放大器及應用3.4 隔離放大器289J及其應用3.5 ICS?300系列新型加速度傳感器3.6 一種實用的壓力傳感器接口電路3.7 霍爾傳感器的應用3.8 一種對多個傳感器進行調理的方法3.9 兩線制壓力變送器3.10 小信號雙線變送器XTR101的使用3.11 兩線長距離頻率傳輸壓力變送器的設計3.12 測溫元件AD590及其應用3.13 熱敏電阻應用動態(tài)3.14 一種組合式A/D、D/A轉換器的設計3.15 一種復合式A/D轉換器3.16 TLC549串行輸出ADC及其應用3.17 提高A/D轉換精度的方法--雙通道A/D轉換3.18 模數(shù)轉換器ICL7135的0~3.9999V顯示3.19 微型光耦合器3.20 一種高精度的分壓器電路3.21 利用單片機軟件作熱電偶非線性補償3.22 三線制RTD測量電路及應用中要注意的問題3.23 微伏信號高精度檢測中極易被忽略的問題3.24 寬范圍等分辨率精密測量法3.25 傳感器在線校準系統(tǒng)3.26 一種高精度的熱敏電阻測溫電路3.27 超聲波專用集成電路LM1812的原理與應用3.28 旋轉變壓器數(shù)字化檢測及其在8098單片機控制伺服系統(tǒng)中的應用3.29 單片集成兩端式感溫電流源AD590在溫度測控系統(tǒng)中的應用?3.30 數(shù)字示波器和單片機構成的自動測試系統(tǒng)3.31 霍爾效應式功率測量研究 四、 控制系統(tǒng)與后向通道接口技術4.1 模糊邏輯與模糊控制(實用模糊控制講座之一)4.2 紅綠燈模糊控制器(實用模糊控制講座之二)4.3 國外模糊技術新產品4.4 交流串級調速雙環(huán)模糊PI單片機控制系統(tǒng)4.5 時序控制專用集成電路LT156及其應用4.6 電池充電控制集成電路4.7 雙向晶閘管4.8 雙向可控硅的自觸發(fā)電路及其應用4.9 微處理器晶閘管頻率自適應觸發(fā)器4.10 F18系列晶閘管模塊介紹4.11 集成電路UAA4002的原理及應用4.12 IGBT及其驅動電路4.13 TWH8751應用集錦4.14 結構可變式計算機工業(yè)控制系統(tǒng)設計4.15 單片機控制的音響編輯器 五、 人機對話通道接口技術5.1 5×7點陣LED智能顯示器的應用5.2 基于8031串行口的LED電子廣告牌5.3 點陣液晶顯示控制器與計算機的接口技術5.4 單片機控制可編程液晶顯示系統(tǒng)5.5 大規(guī)模語言集成電路應用綜述5.6 最新可編程語言集成電路MSSIO61的應用5.7 用PC打印機接口擴展并行接口 六、 多機系統(tǒng)、網(wǎng)絡與遙控技術6.1 用8098單片機構成的分布式測溫系統(tǒng)6.2 平衡接口EIA?422和EIA485設計指南6.3 I2C BUS及其系統(tǒng)設計6.4 摩托羅拉可尋址異步接受/發(fā)送器6.5 用5V供電的RS232C接口芯片6.6 四通道紅外遙控器6.7 TA7333P和TA7657P的功能及應用 七、 電源、電壓變換及電源監(jiān)視7.1 單片機控制的可控硅三相電源調壓穩(wěn)壓技術7.2 集成開關電源控制器MC34063的原理及應用7.3 LM299精密基準電壓源7.4 集成過壓保護器的應用7.5 3V供電的革命7.6 HMOS微機的超低電源電壓運行技術 八、 可靠性與抗干擾設計8.1 淺談艦船電磁兼容與可靠性 九、 綜合應用實例9.1 8098單片機交流電氣參數(shù)測試系統(tǒng)的設計和應用9.2 主軸回轉誤差補償控制器9.3 FWK?A型大功率發(fā)射臺微機控制系統(tǒng)9.4 高性能壓控振蕩型精密波形發(fā)生器ICL8038及應用9.5 單片機COP 840C在洗碗機中的應用
上傳時間: 2013-11-10
上傳用戶:lijinchuan
單片機應用技術選編(1) 第一章 單片機系統(tǒng)綜合應用技術 11.1 且使用 8098單片機的幾點體會 2 1.2 單片機的冷啟動與熱啟動 31.3 大容量動態(tài)存儲器在單片機系統(tǒng)中的應用111.4 MCS-51單片機系統(tǒng)中動態(tài) RAM的刷新技巧141.5 MCS-51單片機系統(tǒng)中外RAM空間超64KB的擴展方法161.6 8031單片機P0口和P2口的應用開發(fā) 181.7 74LS164在 8031單片機中的兩種用法261.8 用于 8031單片機的快速I/O接口281.9 MCS-51定時器定時常數(shù)初值的精確設定法301.10 8253的翻轉問題及 MC6840的替代方法321.11 MCS-51單片機外部中斷源的擴展設計351.12 MCS-51單片機多外中斷擴展方法401.13 用優(yōu)先權編碼器74LS348擴展51系列單片機的外中斷源421.14 用優(yōu)先權編碼器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 代碼形式參數(shù)匯編子程序的應用821.22 單片機應用系統(tǒng)中的查表程序設計861.23 用狀態(tài)綜合法設計鍵盤監(jiān)控程序901.24 單片機系統(tǒng)程序的加密技術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單片機與數(shù)字式溫度傳感器的接口設計1422.8 數(shù)字式溫度傳感器 SWC與 8031的接口及應用1452.9 低成本高精度壓力傳感器微機接口設計1472.10 峰值檢測電路原理及應用1512.11 用 LF398制作的實用峰值和谷值保持電路1532.12 AD637集成真有效值轉換器1562.13 傳感器信號調理模塊 ZB311622.14 2B31模塊在稱重智能儀表中的應用1662.15 傳感器信號調理模塊 2B30/2B31及其應用1692.16 高精度光纖位移測量系統(tǒng)的電路設計1752.17 集成電壓一電流轉換器 XTR100的工作原理及應用1792.18 傳感器信號變送器 F693及其應用1852.19 一種用兩片 VFC32構成的隔離放大器電路1912.20 實用線性隔離放大器1922.21 電橋放大電路中 7650的一些應用問題1942.22 A/D轉換器 ICL7109的應用研究1962.23 5G14433模數(shù)轉換器的啟停控制2002.24 ADC1130模數(shù)轉換器及其使用2042.25 16位 A/D轉換器 ADC1143及其與 80C31單片機的接口2082.26 串行 I/O D/A A/D轉換器與單片機的接口2132.27 單片機應用系統(tǒng)中的數(shù)字化傳感器接口技術2162.28 ADVFC32 A/D轉換接口技術2202.29 V/F和 F/V轉換器 TD650原理與應用2242.30 AD650與 MC-51單片機的接口技術2302.31 利用VCO電路與單片機接口實現(xiàn)A/D轉換2352.32 LM2907/2917系列F/V變換器在汽車檢測中的應用2382.33 單信號多通道輸入法改善 A/D轉換器性能2412.34 用多片 A們轉換芯片提高 A/D轉換速度2452.35 實時數(shù)控增益調整與浮點 ADC電路2492.36 電荷耦合器件的單片機驅動2532.37 電荷耦合器件的結構原理與單片機的軟件定時驅動2582.38 利用模數(shù)轉換器提高轉換信號的線性度2622.39 利用微型機解決轉換中的非線性問題2682.40 利用非線性曲線存儲實現(xiàn)線性化的方法2702.41 輸出無非線性誤差的可變電壓源單臂電橋274 第三章 控制系統(tǒng)與后向通道接口技術2793.1 DAC1231與單片機 8031的接口技術2803.2 單路及多路 D八的光電隔離接口技術2843.3 光電隔離高壓驅動器2903.4 TRAIC型光耦在 8031后向通道接口的應用分析2913.5 GD-L型光控晶閘管輸出光耦合器2963.6 用于晶閘管過零觸發(fā)的幾種方式3003.7 固態(tài)繼電器3043.8 固態(tài)繼電器在交流電子開關中的應用3083.9 JCG型參數(shù)固態(tài)繼電器3123.10 JCG型參數(shù)固態(tài)繼電器的應用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數(shù)碼管的構造與特點3584.9 LED數(shù)碼管的集成驅動器及配套器件3624.10 8279芯片的顯示接口分析及32位數(shù)碼管顯示驅動電路設計366 4.11 用三端可調穩(wěn)壓塊代替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控制多臺彩色顯示器的實現(xiàn)方法4194.23 高級語言處理器--T6668的結構與典型電路4234.24 延長 T6668語言電路錄放時間的方法4294.25 T6668高級語音開發(fā)站4324.26 語言處理器 T6668在電話報警系統(tǒng)中的應用4354.27 新型語音處理器YYH16439 第五章 網(wǎng)絡、通訊控制與多機系統(tǒng)4415.1 IBM-PC/XT和單片機通訊系統(tǒng)的設計4425.2 IBM-PC/XT微機與單片機的兩種通訊接口4485.3 MCS-51單片機與 IBMPC微機的串行通訊4525.4 中央控制端與 MCS-51單片機間的數(shù)據(jù)通訊4595.5 IBMPC機與 MCS-51單片機的快速數(shù)據(jù)通訊4665.6 8031單片機與 PC-1500計算機的通訊4735.7 多片 MCS-51系統(tǒng)的一種串行通訊方式4775.8 多單片機處理系統(tǒng)并行通訊的實現(xiàn)4815.9 半雙工遠距離電流環(huán)多機通訊接口電路4855.10 多微機系統(tǒng)共享 RAM電路4905.11 串行通訊中的波特率設置4925.12 在MCS-51單片機的串行通訊中實現(xiàn)波特率的自動整定4965.13 J274和 J275在微機分布式測控系統(tǒng)中的應用5005.14 單電纜傳送雙向數(shù)據(jù)5045.15 新穎的多路遙控兀編譯碼器5055.16 DTMF在單片機無線數(shù)據(jù)通訊中的應用5085.17 MCS-8031單片機在紅外遙控裝置中的應用5155.18 一種實用光纖數(shù)字遙測系統(tǒng)5185.19 智能儀表通訊系統(tǒng)中一種冗余通道的設計5245.20 EIARS-232-C接口使用中的幾個問題528 第六章 電源、電源變換與電源監(jiān)視5316.1 電源擴展電路5326.2 一種簡單的直流三倍壓電路533 6.3 直流電源變換集成電路5356.4 直流電壓變換器ICL7660的應用5376.5 一種廉價高精密基準電壓源5406.6 精密可調基準電壓源及其應用5416.7 引腳可編程精密基準電壓源AD584及其應用5496.8 幾種新型恒流源集成電路5536.9 CW334三端可調恒流源及應用5576.10 電源電壓監(jiān)視用芯片TL7705CP簡介5606.11 電源電壓監(jiān)視用芯片TL7700簡介5646.12 WMS7705B電源監(jiān)視用芯片簡介5676.13 具有HMOS結構的MCS-51系列單片機提供后備電源的方法570 第七章 系統(tǒng)抗于擾技術5757.1 微型計算機系統(tǒng)的抗干擾措施5767.2 計算機應用系統(tǒng)抗干擾問題5797.3 微機在工業(yè)應用中的抗干擾措施5867.4 利用電源監(jiān)視TL7705芯片的抗電源于擾新方法5917.5 利用電源監(jiān)視芯片WMS7705的抗電源干擾新方法5947.6 具有浪涌抑制能力的 TVP 6017.7 瞬變電壓抑制M極管TVP的特性及應用6047.8 單片機實時控制軟件抗干擾編程方法的探討6077.9 一種簡單實用的微機死機自復位抗干擾技術6107.10 單片機程序的監(jiān)視保護6127.11 軟件 WATCHDOG系統(tǒng)615 7.12 一種實用的"看門狗"電路6187.13 高電壓下測量系統(tǒng)的抗干擾措施619 第八章 應用實例6218.1 單片機在多功能函數(shù)發(fā)生器中的應用6228.2 單片機波形發(fā)生器6298.3 單片機控制的調幅波發(fā)生器6338.4 用 8031單片機解調時統(tǒng)信號6368.5 具有 114DB動態(tài)范圍的浮點數(shù)據(jù)采集系統(tǒng)6418.6 電熱恒溫箱單片微機控制系統(tǒng)6468.7 智能 I一、C丑測試儀的原理及設計6528.8 采用 LMS算法的單片機數(shù)字交流電橋6568.9 單片微機的數(shù)字相位測試儀6598.10 單片機的氣體流量測量6628.11 單片機的相關流量儀6688.12 723型可見分光光度計6758.13 多功能微電腦電子秤6798.14 智能路面回彈檢測儀6838.15 使用 CCD的單片機動態(tài)布面檢測系統(tǒng)6878.16 使用 CCD的單片機激光衍射測徑系統(tǒng)6908.17 使用 CCD的單片機動態(tài)線徑測量儀6958.18 使用CCD的單片機中型熱軋圓鋼直徑檢測儀7018.19 用 MCS-51單片微機實現(xiàn)織布機的監(jiān)測7058.20 單片機在工頻參量測試中的應用7098.21 單片機 8098在直線電機控制中的應用715?
上傳時間: 2014-12-28
上傳用戶:liufei
九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現(xiàn)任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與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許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權級執(zhí)行的程序所訪問。I/O許可位圖在任務狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執(zhí)行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執(zhí)行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發(fā)生沖突,從而避免任務甲和任務乙使用使用獨享設備時發(fā)生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執(zhí)行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執(zhí)行的程序訪問。如果在I/O外層特權級執(zhí)行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節(jié)進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數(shù)目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節(jié)內。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節(jié),所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務的狀態(tài)。 1.I/O訪問許可檢查細節(jié)保護模式下處理器在執(zhí)行I/O指令時進行許可檢查的細節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節(jié)在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結果不為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 ;位圖結束字節(jié)TSSLen = $TSSSEG ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執(zhí)行 out 20h,eax ;(6)正常執(zhí)行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細節(jié)可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發(fā)生字節(jié)越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現(xiàn)任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規(guī)定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy