量熱儀是能源生產和能耗企業必備的重要測量儀器,其測量精度和效率直接影響著經濟效益。為了提高量熱儀的測量精度,整個量熱系統的測溫精度、準確性、穩定性等諸多方面都需要得到改善和提高。本文給出了采用單片機及鉑電阻PT1000 為核心器件的高精度恒溫式自動量熱儀設計。燃料的價值就在于燃燒過程中能夠發熱,因此燃燒熱量就成為評估燃料質量最重要的指標,而燃燒熱量通常是由量熱儀來測量的。因此,量熱儀是能源生產和能耗企業必備的重要儀器,其測量精度和效率直接影響著經濟效益。量熱儀可分別用于電力、煤炭、焦炭、石油、化工、水泥、軍工、糧食、飼料、木材、木炭以及科研等行業測量固體、液體等可燃物資的發熱量。由于其應用范圍很廣,因此研制出更高測量精度和效率的量熱儀具有很好的發展前景及經濟效益。我國是產煤大國,而衡量煤炭質量的最重要指標之一是其燃燒發熱量。因而,目前國內普遍采用以發熱量作為動力煤計價的主要依據。由于煤炭的發熱量主要是利用量熱儀來測定,因此,目前恒溫式自動量熱儀在包括煤炭生產以及用煤單位如電力等系統廣泛應用。但由于其在測溫過程中不可避免地會受到客觀和人為干擾,準確性受到一定影響。為了解決這一問題并根據現有量熱儀存在的其它缺點,本文所設計的量熱儀采用了以單片機為控制單元,選用更高精度的鉑電阻PT1000 作為溫度傳感器,精心設計相關電路,增加信號處理單元,采用LabVIEW 設計操作界面等,不僅提升了量熱儀的測量精度,而且具有良好的性價比。
上傳時間: 2013-12-29
上傳用戶:lvzhr
本文簡單介紹了MCGS 組態軟件和SPCE061A 單片機的特點,即北京昆侖通態自動化軟件科技有限公司的工控組態軟件MCGS(Monitor and Control Generated System )和臺灣凌陽科技推出的16 位微控制器SPCE061A,重點介紹了如何一步步開發SPCE061A 單片機的驅動程序,并簡單介紹了下位機程序的設計,最后給出了測試情況。計算機技術的飛速發展為工業自動化開辟了廣闊的發展空間,人們可以快捷地開發和組建高效的控制系統。筆者設計的液體點滴監控模型,可以對液體點滴情況實現遠程監控和現場監控,終端和上位機均可人工設定所需的液體點滴速度并動態顯示。在這方面,MCGS 工控組態軟件提供了強有力的支持,它是一套Windows 環境下快速構造和生成上位機監控系統的組態軟件系統,可快速構造和生成數據采集、報警處理、流程控制、動畫顯示、報表輸出等界面,實現各種工程曲線的繪制、報表輸出、遠程通信等功能 [1]。MCGS 作為一種方便有效的通用工控軟件,它提供了國內外各種常用的工控設備的驅動程序。但在實際應用中,因為所用設備的特殊性,允許用戶根據需要來定制設備驅動程序。MCGS 用Active DLL 構件實現設備驅動程序,通過規范的OLE 接口掛接到MCGS 中,使其構成一個整體。鑒于Visual Basic 語言的通用性和簡單性,使用VB 來開發單片機驅動,MCGS 的實現方法和原理與標準的Active DLL 完全一致,但MCGS 規定了一套接口規范,只有遵守這些接口規范的Active DLL 才能用作MCGS 的設備驅動構件。利用具有語音和 DSP 功能的SPCE061A 單片機作為液體點滴監控模型的核心控制器,SPCE061A 是臺灣凌陽科技推出的16 位微控制器,提供了豐富的軟、硬件資源,開發靈活方便。除此之外SPCE061A 的最高時鐘頻率可達到49MHz,具有運算速度高的優勢,這為語音的錄制和播放提供了條件[4]。
上傳時間: 2013-12-19
上傳用戶:leesuper
交通燈控制器的設計與實現一、實驗目的1. 了解交通燈管理的基本工作原理。2. 熟悉8253計數器/定時器、8259A中斷控制器和8255A并行接口的工作方式及應用編程。3. 掌握多位LED顯示的方法。 二、 實驗內容與要求設計一個用于十字路口的交通燈控制器。1.基本要求: 1) 東西和南北方向各有一組紅,黃,綠燈用于指揮交通,紅,黃,綠的持續時間分別為25s,5s,20s。2) 當有緊急情況(如消防車)時,兩個方向均為紅燈亮,計時停止,當特殊情況結束后,控制器恢復原來狀態,正常工作。3) 一組數碼管,以倒計時方式顯示兩個方向允許通行或禁止通行的時間。2.提高部分:1) 實時修改交通燈的持續時間。2) 根據不同時段對主要交通方向的信號進行調整。3) 可以使用LCD顯示提示信息。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單 5.設計結果和體會(包括遇到的問題及解決的方法) 四、總體設計交通燈的工作過程如下:設十字路口的1、3為南,北方向,2、4為東西方向,初始態為4個路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車,2個路口的LED數碼管開始倒計時25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時2、4路口的綠燈亮,2、4路口方向開始通車,2個路口的LED數碼管重新開始倒計時25秒。延遲20秒時間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復上述過程。當有緊急情況時,2個方向都紅燈亮,倒計時停止,車輛禁止通行,當緊急情況結束后,控制器恢復以前的狀態繼續工作。 在設計中采用6個發光二極管來模擬2個路口的黃紅綠燈,每個路口用2個數碼管來顯示通行或禁止剩余的時間。緊急情況用一個單脈沖發生單元申請中斷來模擬,緊急情況結束后,再發一個中斷來恢復以前的狀態。 根據前面的介紹,本設計硬件由定時模塊、發光二極管模塊、數碼管顯示模塊和緊急中斷模塊組成。定時模塊采用硬件定時和軟件定時相結合的方法,用8253定時/計數器定時100ms,再用軟件計時實現所需的定時。發光二極管模塊由8255控制發光二極管來實現。數碼管顯示模塊由實驗平臺上的LED顯示模塊實現。緊急中斷模塊是由單脈沖發生單元和8279中斷控制器組成。 程序主要是由定時子程序、發光二極管顯示子程序、數碼管顯示子程序和中斷服務程序組成。包括對8253、8255以及8259等可編程器件的編程。 五、硬件設計 本課題的設計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內部已經連接,用戶在使用時只要設計模塊間電路的連接,因此,硬件電路的設計及實現相對簡單。完整系統的硬件連接如圖1所示。硬件電路由定時模塊、發光二極管模塊、數碼管顯示模塊和緊急中斷模塊組成。 定時模塊是由8253的計數器0來實現定時100ms。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來控制計數器的起停。OUT0接8259的IRQ2,定時完成申請中斷,進入中斷服務程序。 發光二極管顯示模塊由8255輸出來控制發光二極管的亮滅。8255輸出為低電平時,對應的發光二極管就點亮,否則就熄滅。8255的接口電路如圖2所示。交通燈的對應關系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈 實驗平臺上提供一組六個LED數碼管。插孔CS1用于數碼管段選的輸出選通,插孔CS2用于數碼管位選信號的輸出選通。本設計用4個數碼管來倒計時。 緊急中斷模塊是由單脈沖發生單元和8259中斷控制器,單脈沖發生單元主要用來請求中斷,然后做出緊急情況處理。
標簽: 交通燈控制器
上傳時間: 2013-10-07
上傳用戶:小小小熊
當拿到一張CASE單時,首先得確定的是能用什么母體才能實現此功能,然后才能展開對外圍硬件電路的設計,因此首先得了解每個母體的基本功能及特點,下面大至的介紹一下本公司常用的IC:單芯片解決方案• SN8P1900 系列– 高精度 16-Bit 模數轉換器– 可編程運算放大器 (PGIA)• 信號放大低漂移: 2V• 放大倍數可編程: 1/16/64/128 倍– 升壓- 穩壓調節器 (Charge-Pump Regulator)• 電源輸入: 2.4V ~ 5V• 穩壓輸出: e.g. 3.8V at SN8P1909– 內置液晶驅動電路 (LCD Driver)– 單芯片解決方案 • 耳溫槍 SN8P1909 LQFP 80 Pins• 5000 解析度量測器 SN8P1908 LQFP 64 Pins• 體重計 SN8P1907 SSOP 48 Pins單芯片解決方案• SN8P1820 系列– 精確的12-Bit 模數轉換器– 可編程運算放大器 (PGIA)• Gain Stage One: Low Offset 5V, Gain: 16/32/64/128• Gain Stage One: Low Offset 2mV, Gain: 1.3 ~ 2.5– 升壓- 穩壓調節器• 電源輸入: 2.4V ~ 5V• 穩壓輸出: e.g. 3.8V at SN8P1829– 內置可編程運算放大電路– 內置液晶驅動電路 – 單芯片解決方案 • 電子醫療器 SN8P1829 LQFP 80 Pins 高速/低功耗/高可靠性微控制器• 最新SN8P2000 系列– SN8P2500/2600/2700 系列– 高度抗交流雜訊能力• 標準瞬間電壓脈沖群測試 (EFT): IEC 1000-4-4• 雜訊直接灌入芯片電源輸入端• 只需添加1顆 2.2F/50V 旁路電容• 測試指標穩超 4000V (歐規)– 高可靠性復位電路保證系統正常運行• 支持外部復位和內部上電復位• 內置1.8V 低電壓偵測可靠復位電路• 內置看門狗計時器保證程序跳飛可靠復位– 高抗靜電/栓鎖效應能力– 芯片工作溫度有所提高: -200C ~ 700C 工規芯片溫度: -400C ~ 850C 高速/低功耗/高可靠性微控制器• 最新 SN8P2000 系列– SN8P2500/2600/2700 系列– 1T 精簡指令級結構• 1T: 一個外部振蕩周期執行一條指令• 工作速度可達16 MIPS / 16 MHz Crystal– 工作消耗電流 < 2mA at 1-MIPS/5V– 睡眠模式下消耗電流 < 1A / 5V額外功能• 高速脈寬調制輸出 (PWM)– 8-Bit PWM up to 23 KHz at 12 MHz System Clock– 6-Bit PWM up to 93 KHz at 12 MHz System Clock– 4-Bit PWM up to 375 KHz at 12 MHz System Clock• 內置高速16 MHz RC振蕩器 (SN8P2501A)• 電壓變化喚醒功能• 可編程控制沿觸發/中斷功能– 上升沿 / 下降沿 / 雙沿觸發• 串行編程接口
上傳時間: 2013-10-21
上傳用戶:jiahao131
8.1 模擬接口概述單片機的外部設備不一定都是數字式的,也經常會和模擬式的設備連接。 例如單片機來控制溫度、壓力時,溫度和壓力都是連續變化的,都是模擬量,在單片機與外部環境通信的時候,就需要有一種轉換器來把模擬信號變為數字信號,以便能夠輸送給單片機進行處理。而單片機送出的控制信號,也必須經過變換器變成模擬信號,才能為控制電路所接受。這種變換器就稱為數模(D/A)轉換器和模數(A/D)轉換器。CPU與模擬外設之間的接口電路稱為模擬接口。在這一章里將介紹單片機與 A/D及D/A轉換器接口,以及有關的應用。 8.2 DAC及其接口一、DAC介紹:1.DAC結構:DAC芯片上集成有D/A轉換電路和輔助電路。2.DAC的參數:描述D/A轉換器性能的參數很多,主要有以下幾個:分辨率(Resolution) 偏移誤差(OffsetError) 線性度(Linearity) 精度(Accuracy) 轉換速度(ConvemionRate) 溫度靈敏度(TemperatureSensitivity) 二、典型DAC芯片及其接口一、DAC介紹:1.DAC結構:DAC芯片上集成有D/A轉換電路和輔助電路。2.DAC的參數:描述D/A轉換器性能的參數很多,主要有以下幾個:分辨率(Resolution) 偏移誤差(OffsetError) 線性度(Linearity) 精度(Accuracy) 轉換速度(ConvemionRate) 溫度靈敏度(TemperatureSensitivity) 8.3 ADC及其接口DAC 0832的結構DAC 0832的引腳DAC 0832的接口DAC 0832的應用DAC0832是CMOS工藝,雙列直插式20引腳。① VCC電源可以在5-15V內變化。典型使用時用15V電源。② AGND為模擬量地線,DGND為數字量地線,使用時,這兩個接地端應始終連在一起。③ 參考電壓VREF接外部的標準電源,VREF一般可在+10V到—10V范圍內選用。
標簽: 模擬接口
上傳時間: 2013-10-10
上傳用戶:ukuk
單片機綜合應用技術 1.1 單片機技術的發展與單片機應用的廣泛選擇 1.2 帶A/D轉換的8位微控制器PIC12C67X?? 1.3 SPI串行總線在8031單片機應用系統中的實現?? 1.4 單總線技術在測控系統中的應用?? 1.5 多任務機制在單片機系統中的應用?? 1.6 軟件實現的8031單片微機中斷多優先級研究?? 1.7 單片機匯編語言程序設計的變量取值表技術?? 1.8 單片機的代碼優化方法?? 1.9 由微機復位引出的問題?? 1.10 一種快速CRC差錯校驗技術?? 1.11 基于單片機的Chebyshev神經網絡硬件設計?? 1.12 二維條形碼(PDF417)及其應用?? 1.13 EDA技術的應用?? 1.14 CPLD/FPGA在電子設計中的應用前景?? 1.15 現場可編程模擬ASIC與電子系統設計?? 1.16 用單片PLD器件ispLSI1016實現數顯頻率計
標簽: 單片機
上傳時間: 2014-05-05
上傳用戶:daxigua
C51單片機是我們生活中最常用的系列,MCS-51系列單片機有4個并行口(P0,P1,P2,P3口),但對一個稍微復雜的應用系統來說,真正可供用戶使用的并行口,只有P1口可用,況且常常因擴展I2C和SPI的器件需占用某些P1口,迫使用戶不得不擴展并行口以滿足實際的需要。習慣上,常用的并行口接口芯片有8255、8155,這兩種芯片功能比較齊全,可以使用在相對比較復雜的系統中,但如是對一般的系統而言,這些功能往往閑置不用。那么就可以選用一些本來閑置不用的口線作為選通信號來進行并行口的擴展,這樣就能充分利用單片機有限的I/O資源,在本設計中是將P1口擴展成一個或幾個8位并行口,在每一個八位口上接入8個發光二極管做為輸出,二極管是做開關量來使用的,在這里設計了跑馬燈和流水燈程序,做到對開關量的開斷控制;配合開關量的控制筆者設計了一個共陽LED數碼管,用來顯示當前發光二極管發亮的序號,做到更加直觀的雙重控制效果,然后再將P0口通過D/A轉換器和一放大器輸出一個模擬信號,其結果可以通過示波器看出。這樣整個系統即有了數字信號輸出和模擬信號輸出,也有數碼管顯示功能,實用性能大提高了。2、 基于89C51的系統硬件設計2.1 并行口的擴展的電路設計 眾所周知,C51系列的單片機都有四個I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我們通常僅僅使用P1口作為并行口,而令其余口(P2、P3)處于閑置狀態,所以這次設計,我們就是使用閑置不用的P3口做為選能信號線來將P1口進行并行口擴展。 (1) 種方式的并行口擴展優點 連線簡單; 不占用存儲器空間; (2) 編程也方便靈活。但也有很大的缺點 并行口擴展能力有限,(如使用74LS573(74LS373)且不進行驅動處理,則最多可擴展4個同樣類型的并行輸出端口,當然還需要與之對應的四個選通信號。) 如擴展較多,選通信號占用并行口位數太多,例如欲擴展8個并行輸出端口,則需要8個選能信號,此時,僅選能信號就占用了一個8位并行口,這對在I/O端口線有限的單片機系統中,如此浪費資源的現象是不能容忍的。在本次的設計中,采用芯片74HC573(帶三態輸出的八進制透明D型鎖存器)對P1口進行了一個8位并行口的擴展,選通信號選用P3口的P3.3引腳。原理圖如圖1所示:
上傳時間: 2013-11-18
上傳用戶:dbs012280
九.輸入/輸出保護為了支持多任務,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
包括了新型70MHz帶通濾波器設計,40MHz帶通濾波器設計實例 凡是有能力對信號頻譜進行處理的裝置都可以稱為濾波器。在通信設備和各類系統中,濾波器應用極為廣泛,濾波器的優劣直接決定產品的好壞,所以對濾波器的研究和生產一直備為關注。由于計算機技術、集成工藝和材料工業的發展,濾波器的發展也上了一個新臺階,并且朝高精度、低功耗、小體積方向發展。本文主要以中心頻率為70MHz 帶通濾波器為例,介紹如何采用Bessel函數[1]進行帶通濾波器的設計,同時借助Pspice軟件[2,3]強大的電路仿真功能對濾波器的波特圖和群延遲進行仿真,以觀測其效果。2 方案選擇帶通濾波器技術指標要求:帶寬3dB 為4MHz,離中心頻率± 4MHz 處最小衰減為14dB。在整個通帶內時延不變。雖然目前最常用的濾波器設計方法是巴特沃斯、切比雪夫、橢圓函數等幾種形式,但這些方法在設計70MHz 濾波器時,要通過變換以實現其帶通,并且它們所設計的濾波器的群延遲特性在通帶內呈現凹形波形,故在實際使用(如在廣播,移動通信中的中頻濾波,二次濾波)中要進行群延遲均衡,使設計步驟繁瑣且使濾波電路復雜。采用Bessel 函數設計的帶通濾設器具有最窄過渡帶;在通帶內時延均衡,電路所用的階數最少;在實際的應用中電路容易調整;由于所有的節點諧振在相同的頻率上,調諧比較簡單;從經濟性和制造容易程度來考慮,電容耦合電路最合適,而用Bessel 函數設計的濾波器正是電容耦合電路,故采用Bessel 函數進行濾波器的設計。
上傳時間: 2013-10-27
上傳用戶:bakdesec
薄膜晶體管液晶顯示器(TFT-LCD)具有重量輕、平板化、低功耗、無輻射、顯示品質優良等特點,其應用領域正在逐步擴大,已經從音像制品、筆記本電腦等顯示器發展到臺式計算機、工程工作站(EWS)用監視器。對液晶顯示器的要求也正在向高分辨率、高彩色化發展。 由于CRT顯示器和液晶屏具有不同的顯示特性,兩者的顯示信號參數也不同,因此在計算機(或MCU)和液晶屏之間設計液晶顯示器的驅動電路是必需的,其主要功能是通過調制輸出到LCD電極上的電位信號、峰值、頻率等參數來建立交流驅動電場。 本文實現了將VGA接口信號轉換到模擬液晶屏上顯示的驅動電路,采用ADI公司的高性能DSP芯片ADSP-21160來實現驅動電路的主要功能。
上傳時間: 2013-10-30
上傳用戶:hongmo