單片機(jī)系統(tǒng)軟件抗干擾方法:在提高硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活、節(jié)省硬件資源、可靠性好越來越受到重視。下面以MCS-51單片機(jī)系統(tǒng)為例,對(duì)微機(jī)系統(tǒng)軟件抗干擾方法進(jìn)行研究。1、軟件抗干擾方法的研究在工程實(shí)踐中,軟件抗干擾研究的內(nèi)容主要是: 消除模擬輸入信號(hào)的嗓聲(如數(shù)字濾波技術(shù)); 程序運(yùn)行混亂時(shí)使程序重入正軌的方法。本文針對(duì)后者提出了幾種有效的軟件抗干擾方法。1.1 指令冗余CPU取指令過程是先取操作碼,再取操作數(shù)。當(dāng)PC受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道“亂飛”,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。若“飛”到了三字節(jié)指令,出錯(cuò)機(jī)率更大。在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個(gè)字節(jié)以上的NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。此外,對(duì)系統(tǒng)流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。1.2 攔截技術(shù)所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。通常用軟件陷阱來攔截亂飛的程序。因此先要合理設(shè)計(jì)陷阱,其次要將陷阱安排在適當(dāng)?shù)奈恢谩?.2.1 軟件陷阱的設(shè)計(jì)當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無法起作用。通過軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出錯(cuò)處理。軟件陷阱是指用來將捕獲的亂飛程序引向復(fù)位入口地址0000H的指令。通常在EPROM中非程序區(qū)填入以下指令作為軟件陷阱:
標(biāo)簽: 單片機(jī) 系統(tǒng)軟件 抗干擾
上傳時(shí)間: 2013-10-29
上傳用戶:大三三
HI-TECH PICC C 的使用說明. 這里我們只講述了PICC C 與標(biāo)準(zhǔn)C 的不同,它不是一本C 語言的教程, 并且我們假定你有C 語言的基礎(chǔ). 為了對(duì)PIC 單片機(jī)有更好的支持,PICC 在標(biāo)準(zhǔn)C 的基礎(chǔ)上作了一些擴(kuò)充: 定義I/O 函數(shù),以便在你的硬件系統(tǒng)中使用<stdio.h>中定義的函數(shù)。 用C 語言編寫中斷服務(wù)程序 用C 語言編寫I/O 操作程序 C 語言與匯編語言間的接口1-1 與標(biāo)準(zhǔn)C 的不同PICC 只在一處與標(biāo)準(zhǔn)C 不同:函數(shù)的重入。因?yàn)镻IC 單片機(jī)的寄存器及堆棧有限,所以PICC 不支持可重入函數(shù)。1-2 支持的PIC 芯片PICC 支持很多PIC 單片機(jī),支持PIC 單片機(jī)的類型在LIB 目錄下的picinfo.ini文件中有定義。1-3 PICC 包含一些標(biāo)準(zhǔn)庫1-4 PICC 編譯器可以輸出一些格式的目標(biāo)文件,缺省設(shè)置為輸出Bytecraft 的'COD'格式和 Intel 的'HEX'格式。你可以用表1-1 中的命令來指定輸出格式。
上傳時(shí)間: 2013-10-10
上傳用戶:781354052
PCF8563 是低功耗的CMOS 實(shí)時(shí)時(shí)鐘日歷芯片.它提供一個(gè)可編程時(shí)鐘輸出一個(gè)中斷輸出和掉電檢測器.所有的地址和數(shù)據(jù)通過I2C 總線接口串行傳遞最大總線速度為400Kbits/s 每次讀寫數(shù)據(jù)后內(nèi)嵌的字地址寄存器會(huì)自動(dòng)產(chǎn)生增量.2 特性 低工作電流典型值為0.25 A VDD=3.0V Tamb=25 時(shí); 世紀(jì)標(biāo)志; 大工作電壓范圍1.0 5.5V; 低休眠電流典型值為0.25 A(VDD=3.0V,Tamb=25 ); 400KHz 的I2C 總線接口VDD=1.8 5.5V 時(shí); 可編程時(shí)鐘輸出頻率為32.768KHz 1024Hz 32Hz 1Hz; 報(bào)警和定時(shí)器; 內(nèi)部集成的振蕩器電容片內(nèi)電源復(fù)位功能掉電檢測器; I2C 總線從地址讀0A3H 寫0A2H; 開漏中斷引腳
標(biāo)簽: 8563 PCF 實(shí)時(shí)時(shí)鐘 芯片
上傳時(shí)間: 2013-12-16
上傳用戶:liuchee
AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)詳細(xì)介紹ATMEL公司開發(fā)的AVR高速嵌入式單片機(jī)的結(jié)構(gòu);講述AVR單片機(jī)的開發(fā)工具和集成開發(fā)環(huán)境(IDE),包括Studio調(diào)試工具、AVR單片機(jī)匯編器和單片機(jī)串行下載編程;學(xué)習(xí)指令系統(tǒng)時(shí),每條指令均有實(shí)例,邊學(xué)習(xí)邊調(diào)試,使學(xué)習(xí)者看得見指令流向及操作結(jié)果,真正理解每條指令的功能及使用注意事項(xiàng);介紹AVR系列多種單片機(jī)功能特點(diǎn)、實(shí)用程序設(shè)計(jì)及應(yīng)用實(shí)例;作為提高篇,講述簡單易學(xué)、適用AVR單片機(jī)的高級(jí)語言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機(jī)原理與應(yīng)用(修訂版) 目錄 第一章ATMEL單片機(jī)簡介1.1ATMEL公司產(chǎn)品的特點(diǎn)11.2AT90系列單片機(jī)簡介21.3AT91M系列單片機(jī)簡介2第二章AVR單片機(jī)系統(tǒng)結(jié)構(gòu)2.1AVR單片機(jī)總體結(jié)構(gòu)42.2AVR單片機(jī)中央處理器CPU62.2.1結(jié)構(gòu)概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運(yùn)算邏輯單元92.3AVR單片機(jī)存儲(chǔ)器組織102.3.1可下載的Flash程序存儲(chǔ)器102.3.2內(nèi)部和外部的SRAM數(shù)據(jù)存儲(chǔ)器102.3.3EEPROM數(shù)據(jù)存儲(chǔ)器112.3.4存儲(chǔ)器訪問和指令執(zhí)行時(shí)序112.3.5I/O存儲(chǔ)器132.4AVR單片機(jī)系統(tǒng)復(fù)位162.4.1復(fù)位源172.4.2加電復(fù)位182.4.3外部復(fù)位192.4.4看門狗復(fù)位192.5AVR單片機(jī)中斷系統(tǒng)202.5.1中斷處理202.5.2外部中斷232.5.3中斷應(yīng)答時(shí)間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機(jī)的省電方式242.6.1休眠狀態(tài)242.6.2空閑模式242.6.3掉電模式252.7AVR單片機(jī)定時(shí)器/計(jì)數(shù)器252.7.1定時(shí)器/計(jì)數(shù)器預(yù)定比例器252.7.28位定時(shí)器/計(jì)數(shù)器0252.7.316位定時(shí)器/計(jì)數(shù)器1272.7.4看門狗定時(shí)器332.8AVR單片機(jī)EEPROM讀/寫訪問342.9AVR單片機(jī)串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機(jī)模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態(tài)寄存器ACSR462.11AVR單片機(jī)I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機(jī)存儲(chǔ)器編程612.12.1編程存儲(chǔ)器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機(jī)開發(fā)工具3.1AVR實(shí)時(shí)在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機(jī)開發(fā)下載實(shí)驗(yàn)器SL?AVR703.4AVR集成開發(fā)環(huán)境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態(tài)開發(fā)實(shí)驗(yàn)系統(tǒng)793.6SL?AVR*.ASM源文件說明81第四章AVR單片機(jī)指令系統(tǒng)4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達(dá)式874.2尋址方式894.3數(shù)據(jù)操作和指令類型924.3.1數(shù)據(jù)操作924.3.2指令類型924.3.3指令集名詞924.4算術(shù)和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補(bǔ)指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉(zhuǎn)移指令1114.5.1無條件轉(zhuǎn)移指令1114.5.2條件轉(zhuǎn)移指令1144.6數(shù)據(jù)傳送指令1354.6.1直接數(shù)據(jù)傳送指令1354.6.2間接數(shù)據(jù)傳送指令1374.6.3從程序存儲(chǔ)器直接取數(shù)據(jù)指令1444.6.4I/O口數(shù)據(jù)傳送指令1454.6.5堆棧操作指令1464.7位指令和位測試指令1474.7.1帶進(jìn)位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長間接調(diào)用子程序1624.8.2EIJMP--擴(kuò)展間接跳轉(zhuǎn)1634.8.3ELPM--擴(kuò)展裝載程序存儲(chǔ)器1644.8.4ESPM--擴(kuò)展存儲(chǔ)程序存儲(chǔ)器1644.8.5FMUL--小數(shù)乘法1664.8.6FMULS--有符號(hào)數(shù)乘法1664.8.7FMULSU--有符號(hào)小數(shù)和無符號(hào)小數(shù)乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號(hào)數(shù)乘法1694.8.10MULSU--有符號(hào)數(shù)與無符號(hào)數(shù)乘法1694.8.11SPM--存儲(chǔ)程序存儲(chǔ)器170 第五章AVR單片機(jī)AT90系列5.1AT90S12001725.1.1特點(diǎn)1725.1.2描述1735.1.3引腳配置1745.1.4結(jié)構(gòu)縱覽1755.2AT90S23131835.2.1特點(diǎn)1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點(diǎn)1865.3.2描述1875.3.3引腳配置1895.3.4開發(fā)實(shí)驗(yàn)工具1905.4AT90S2333/44331915.4.1特點(diǎn)1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點(diǎn)1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點(diǎn)1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結(jié)構(gòu)2015.6.6定時(shí)器/計(jì)數(shù)器2125.6.7看門狗定時(shí)器 2175.6.8EEPROM讀/寫2175.6.9串行外設(shè)接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數(shù)轉(zhuǎn)換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點(diǎn)2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點(diǎn)2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點(diǎn)2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點(diǎn)2405.10.2描述2415.10.3引腳配置2435.10.4開發(fā)實(shí)驗(yàn)工具2455.11ATmega1612465.11.1特點(diǎn)2465.11.2描述2475.11.3引腳配置2475.12AVR單片機(jī)替代MCS51單片機(jī)249第六章實(shí)用程序設(shè)計(jì)6.1程序設(shè)計(jì)方法2506.1.1程序設(shè)計(jì)步驟2506.1.2程序設(shè)計(jì)技術(shù)2506.2應(yīng)用程序舉例2516.2.1內(nèi)部寄存器和位定義文件2516.2.2訪問內(nèi)部 EEPROM2546.2.3數(shù)據(jù)塊傳送2546.2.4乘法和除法運(yùn)算應(yīng)用一2556.2.5乘法和除法運(yùn)算應(yīng)用二2556.2.616位運(yùn)算2556.2.7BCD運(yùn)算2556.2.8冒泡分類算法2556.2.9設(shè)置和使用模擬比較器2556.2.10半雙工中斷方式UART應(yīng)用一2556.2.11半雙工中斷方式UART應(yīng)用二2566.2.128位精度A/D轉(zhuǎn)換器2566.2.13裝載程序存儲(chǔ)器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲(chǔ)的檢查2566.2.164×4鍵區(qū)休眠觸發(fā)方式2576.2.17多工法驅(qū)動(dòng)LED和4×4鍵區(qū)掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能12596.2.22驗(yàn)證SLAVR實(shí)驗(yàn)器及AT90S1200的口功能22596.2.23驗(yàn)證SLAVR實(shí)驗(yàn)器及具有DIP40封裝的口功能第七章AVR單片機(jī)的應(yīng)用7.1通用延時(shí)子程序2607.2簡單I/O口輸出實(shí)驗(yàn)2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實(shí)現(xiàn)字符8的循環(huán)移位顯示程序2757.3.4電腦放音機(jī)2777.3.5鍵盤掃描程序2857.3.6十進(jìn)制計(jì)數(shù)顯示2867.3.7廉價(jià)的A/D轉(zhuǎn)換器2897.3.8高精度廉價(jià)的A/D轉(zhuǎn)換器2947.3.9星星燈2977.3.10按鈕猜數(shù)程序2987.3.11漢字的輸入3047.4復(fù)雜實(shí)用程序3067.4.110位A/D轉(zhuǎn)換3067.4.2步進(jìn)電機(jī)控制程序3097.4.3測脈沖寬度3127.4.4LCD顯示8字循環(huán)3187.4.5LED電腦時(shí)鐘3247.4.6測頻率3307.4.7測轉(zhuǎn)速3327.4.8AT90S8535的A/D轉(zhuǎn)換334第八章BASCOMAVR的應(yīng)用8.1基于高級(jí)語言BASCOMAVR的單片機(jī)開發(fā)平臺(tái)3408.2BASCOMAVR軟件平臺(tái)的安裝與使用3418.3AVR I/O口的應(yīng)用3458.3.1LED發(fā)光二極管的控制3458.3.2簡易手控廣告燈3468.3.3簡易電腦音樂放音機(jī)3478.4LCD顯示器3498.4.1標(biāo)準(zhǔn)LCD顯示器的應(yīng)用3498.4.2簡單游戲機(jī)--按鈕猜數(shù)3518.5串口通信UART3528.5.1AVR系統(tǒng)與PC的簡易通信3538.5.2PC控制的簡易廣告燈3548.6單總線接口和溫度計(jì)3568.7I2C總線接口和簡易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴(kuò)展名3659.1.3附注和擴(kuò)充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對(duì)安裝完成的軟件進(jìn)行注冊(cè)3679.3ICC AVR導(dǎo)游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環(huán)境3709.4.1編譯一個(gè)單獨(dú)的文件3709.4.2創(chuàng)建一個(gè)新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應(yīng)用構(gòu)筑向?qū)?719.4.6狀態(tài)窗口3719.4.7終端仿真3719.5C庫函數(shù)與啟動(dòng)文件3729.5.1啟動(dòng)文件3729.5.2常用庫函數(shù)3729.5.3字符類型庫3739.5.4浮點(diǎn)運(yùn)算庫3749.5.5標(biāo)準(zhǔn)輸入/輸出庫3759.5.6標(biāo)準(zhǔn)庫和內(nèi)存分配函數(shù)3769.5.7字符串函數(shù)3779.5.8變量參數(shù)函數(shù)3799.5.9堆棧檢查函數(shù)3799.6AVR硬件訪問的編程3809.6.1訪問AVR的底層硬件3809.6.2位操作3809.6.3程序存儲(chǔ)器和常量數(shù)據(jù)3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對(duì)內(nèi)存地址3849.6.9C任務(wù)3859.6.10中斷操作3869.6.11訪問UART3879.6.12訪問EEPROM3879.6.13訪問SPI3889.6.14相對(duì)轉(zhuǎn)移/調(diào)用的地址范圍3889.6.15C的運(yùn)行結(jié)構(gòu)3889.6.16匯編界面和調(diào)用規(guī)則3899.6.17函數(shù)返回非整型值3909.6.18程序和數(shù)據(jù)區(qū)的使用3909.6.19編程區(qū)域3919.6.20調(diào)試3919.7應(yīng)用舉例*3929.7.1讀/寫口3929.7.2延時(shí)函數(shù)3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環(huán)移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機(jī)簡介398附錄2AT94K系列現(xiàn)場可編程系統(tǒng)標(biāo)準(zhǔn)集成電路401附錄3指令集綜合404附錄4AVR單片機(jī)選型表408參 考 文 獻(xiàn)412
上傳時(shí)間: 2013-11-08
上傳用戶:xcy122677
單片機(jī)應(yīng)用技術(shù)選編(3) 目錄 第一章 單片機(jī)的綜合應(yīng)用技術(shù)1.1 8098單片機(jī)存儲(chǔ)器的擴(kuò)展技術(shù)1.2 87C196KC單片機(jī)的DMA功能1.3 MCS?96系列單片機(jī)高精度接口設(shè)計(jì)1.4 利用PC機(jī)的8096軟件開發(fā)系統(tǒng)1.5 EPROM模擬器及其應(yīng)用1.6 MCS?51智能反匯編軟件的設(shè)計(jì)與實(shí)現(xiàn)1.7 MCS?51系列軟件設(shè)計(jì)與調(diào)試中一個(gè)值得注意的問題1.8 PL/M語言在微機(jī)開發(fā)系統(tǒng)中的應(yīng)用特性1.9 MCS?51單片機(jī)開發(fā)系統(tǒng)中的斷點(diǎn)產(chǎn)生1.10 C語言實(shí)型數(shù)與單片機(jī)浮點(diǎn)數(shù)之間數(shù)據(jù)格式的轉(zhuǎn)換1.11 微機(jī)控制系統(tǒng)初始化問題探討1.12 MCS?51中斷系統(tǒng)中的復(fù)位問題1.13 工業(yè)控制軟件的編程原則與編程技巧1.14 CMOS微處理器的功耗特性及其功耗控制原理和應(yīng)用1.15 基于PLL技術(shù)的A/D、D/A轉(zhuǎn)換器的設(shè)計(jì)1.16 智能儀器監(jiān)控程序的模塊化設(shè)計(jì)1.17 用軟件邏輯開關(guān)實(shí)現(xiàn)單片機(jī)的地址重疊使用1.18 8259A可編程中斷控制器與8031單片機(jī)接口電路及編程1.19 NSC810及其在各種微處理機(jī)中的應(yīng)用1.20 MC146818在使用中的幾個(gè)問題1.21 交流伺服系統(tǒng)中采用8155兼作雙口信箱存儲(chǔ)器的雙微機(jī)結(jié)構(gòu)1.22 實(shí)用漢字庫芯片的制作 第二章 新一代存儲(chǔ)器及邏輯器件2.1 新一代非易失性記憶元件--閃爍存儲(chǔ)器2.2 Flash存儲(chǔ)器及應(yīng)用2.3 隨機(jī)靜態(tài)存儲(chǔ)器HM628128及應(yīng)用2.4 非揮發(fā)性隨機(jī)存儲(chǔ)器NOVRAM2.5 ASIC的設(shè)計(jì)方法和設(shè)計(jì)工具2.6 GAL器件的編程方法及其應(yīng)用2.7 第三代可編程邏輯器件--高密EPLD輯器件EPLDFPGA設(shè)計(jì)轉(zhuǎn)換 第三章 數(shù)據(jù)采集、前向通道與測量技術(shù) 3.1 溫度傳感器通道接口技術(shù) 3.2 LM135系列精密溫度傳感器的原理和應(yīng)用 3.3 儀表放大器AD626的應(yīng)用 3.4 5G7650使用中應(yīng)注意的問題 3.5 用集成運(yùn)算放大器構(gòu)成電荷放大器組件 3.6 普通光電耦合器的線性應(yīng)用 3.7 高線性光耦合型隔離放大器的研制 3.8 一種隔離型16位單片機(jī)高精度模擬量接口3.9 單片16位A/D轉(zhuǎn)換器AD7701及其與8031單片機(jī)的串行接口3.10 雙積分型A/D轉(zhuǎn)換器與MCS?51系列單片機(jī)接口的新方法3.11 8031單片機(jī)與AD574A/D轉(zhuǎn)換器的最簡接口3.12 8098單片機(jī)A/D轉(zhuǎn)換接口及其程序設(shè)計(jì)3.13 提高A/D轉(zhuǎn)換器分辨率的實(shí)用方案3.14 用CD4051提高8098單片機(jī)內(nèi)10位A/D轉(zhuǎn)換器分辨率的方法3.15 單片機(jī)實(shí)現(xiàn)16位高速積分式A/D轉(zhuǎn)換器3.16 434位A/D轉(zhuǎn)換器MAX133(134)的原理及應(yīng)用3.17 AD574A應(yīng)用中應(yīng)注意的問題 3.18 CC14433使用中應(yīng)注意的問題 3.19 高精度寬范圍數(shù)據(jù)采集系統(tǒng)的溫度補(bǔ)償途徑 3.20 縮短ICL7135A/D采樣程序時(shí)間的一種方法 3.21 用單片機(jī)實(shí)現(xiàn)的數(shù)字式自動(dòng)增益控制 3.22 自動(dòng)量程轉(zhuǎn)換電路 3.23 雙積分型A/D的自動(dòng)量程切換電路 3.24 常用雙積分型A/D轉(zhuǎn)換器自換程功能的擴(kuò)展3.25 具有自動(dòng)量程轉(zhuǎn)換功能的單片機(jī)A/D接口3.26 混合型數(shù)據(jù)采集器SDM857的功能與應(yīng)用3.27 高速數(shù)據(jù)采集系統(tǒng)的傳輸接口3.28 SJ2000方向鑒別位移脈寬頻率檢測多用途專用集成電路3.29 多路高速高精度F/D專用集成電路3.30 數(shù)控帶通濾波器的實(shí)現(xiàn)及其典型應(yīng)用 第四章 控制系統(tǒng)與后向通道接口技術(shù)4.1 模糊邏輯與模糊控制4.2 自動(dòng)控制技術(shù)的新發(fā)展--模糊控制技術(shù)4.3 模糊控制表的確定原則4.4 變結(jié)構(gòu)模糊控制系統(tǒng)的實(shí)驗(yàn)研究4.5 新型集成模糊數(shù)據(jù)相關(guān)器NLX1124.6 功率固態(tài)繼電器的應(yīng)用4.7 雙向功率MOS固態(tài)繼電器4.8 SSR小型固態(tài)繼電器與PSSR功率參數(shù)固態(tài)繼電器4.9 JGD型多功能固態(tài)繼電器的原理和應(yīng)用4.10 光電耦合器在晶閘管觸發(fā)電路中的應(yīng)用4.11 一種廉價(jià)的12位D/A轉(zhuǎn)換器AD667及接口4.12 利用單片機(jī)構(gòu)成高精度PWM式12位D/A4.13 三相高頻PWM模塊SLE45204.14 專用集成電路TCA785及其應(yīng)用4.15 單片溫度控制器LM3911的應(yīng)用4.16 工業(yè)測控系統(tǒng)軟件設(shè)計(jì)的若干問題研究 第五章 人機(jī)對(duì)話通道接口技術(shù)5.1 廉價(jià)實(shí)用的8×8鍵盤5.2 單片機(jī)遙控鍵盤接口5.3 對(duì)8279鍵盤顯示接口的改進(jìn)5.4 用單片機(jī)8031的七根I/O線實(shí)現(xiàn)對(duì)鍵盤與顯示器的控制5.5 通用8位LED數(shù)碼管驅(qū)動(dòng)電路ICM7218B5.6 利用條圖顯示驅(qū)動(dòng)器LM3914組成100段LED顯示器的方法5.7 液晶顯示器的多極驅(qū)動(dòng)方式5.8 點(diǎn)陣式液晶顯示屏的構(gòu)造與應(yīng)用5.9 點(diǎn)陣式液晶顯示器圖形程序設(shè)計(jì)5.10 DMF5001N點(diǎn)陣式液晶顯示器和8098單片機(jī)的接口技術(shù)5.11 8098單片機(jī)與液晶顯示控制器HD61830接口5.12 利用PL/M語言對(duì)點(diǎn)陣式液晶顯示器進(jìn)行漢字程序設(shè)計(jì)5.13 語音合成器TMS 5220的開發(fā)與應(yīng)用5.14 制作T6668語音系統(tǒng)的一些技術(shù)問題5.15 單片機(jī)、單板機(jī)在屏顯系統(tǒng)中的應(yīng)用 第六章 多機(jī)通訊網(wǎng)絡(luò)與遙控技術(shù)6.1 用雙UART構(gòu)成的可尋址遙測點(diǎn)裝置--兼談如何組成系統(tǒng)6.2 IBM?PC微機(jī)與8098單片機(jī)的多機(jī)通訊6.3 80C196單片機(jī)與IBM?PC機(jī)的串行通訊6.4 IBM?PC與MCS?51多機(jī)通訊的研究6.5 半雙工方式傳送的單片機(jī)多機(jī)通信接口電路及軟件設(shè)計(jì)6.6 單片機(jī)與IBM/PC機(jī)通訊的新型接口及編程6.7 用光耦實(shí)現(xiàn)一點(diǎn)對(duì)多點(diǎn)的總線式通訊電路6.8 用EPROM作為通訊變換器實(shí)現(xiàn)多機(jī)通訊6.9 ICL232單電源雙RS?232發(fā)送/接收器及其應(yīng)用6.10 DTMF信號(hào)發(fā)送/接收電路芯片MT8880及應(yīng)用6.11 通用紅外線遙控系統(tǒng)6.12 8031單片機(jī)在遙控解碼方面的應(yīng)用 第七章 電源、電壓變換及電源監(jiān)視7.1 用于微機(jī)控制系統(tǒng)的高可靠性供電方法7.2 80C31單片機(jī)防掉電和抗干擾電源的設(shè)計(jì)7.3 可編程基準(zhǔn)電壓源7.4 電源電壓監(jiān)視器件M81953B7.5 檢出電壓可任意設(shè)定的電源電壓監(jiān)測器7.6 低壓降(LDO?Low Drop?Out)穩(wěn)壓器7.7 LM317三端可調(diào)穩(wěn)壓器應(yīng)用二例7.8 三端集成穩(wěn)壓器的擴(kuò)流應(yīng)用 第八章 可靠性與抗干擾技術(shù)8.1 數(shù)字電路的可靠性設(shè)計(jì)實(shí)踐與體會(huì)8.2 單片機(jī)容錯(cuò)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)8.3 微機(jī)測控系統(tǒng)的接地、屏蔽和電源供給8.4 ATE的抗干擾及接地技術(shù)8.5 微處理器監(jiān)控電路MAX690A/MAX692A8.6 電測儀表電路的實(shí)用抗干擾技術(shù)8.7 工業(yè)鍍鋅電阻爐溫度控制機(jī)的抗干擾措施8.8 一種簡單的抗干擾控制算法 ? 第九章 綜合應(yīng)用實(shí)例9.1 蔬菜灌溉相關(guān)參數(shù)的自動(dòng)檢測9.2 MH?214溶解氧測定儀9.3 COP840C單片機(jī)在液晶線控空調(diào)電腦控制器中的應(yīng)用9.4 單片機(jī)在電飯煲中的應(yīng)用9.5 用PIC單片機(jī)制作電扇自然風(fēng)發(fā)生器 第十章 文章摘要 一、 單片機(jī)的綜合應(yīng)用技術(shù)1.1 摩托羅拉8位單片機(jī)的應(yīng)用和開發(fā)1.2 NS公司的COP800系列8位單片機(jī)1.3 M68HC11與MCS?51單片機(jī)功能比較1.4 8098單片機(jī)8M存儲(chǔ)空間的擴(kuò)展技術(shù)1.5 80C196KC單片機(jī)的外部設(shè)備事件服務(wù)器1.6 一種多進(jìn)程實(shí)時(shí)控制系統(tǒng)的軟件設(shè)計(jì)1.7 開發(fā)單片機(jī)的結(jié)構(gòu)化高級(jí)語言PL/M?961.8 應(yīng)用軟件開發(fā)中的菜單接口技術(shù)1.9 單片機(jī)用戶系統(tǒng)EPROM中用戶程序的剖析方法1.10 BJS?98硬件、軟件典型實(shí)驗(yàn)1.11 FORTH語言系統(tǒng)的開發(fā)應(yīng)用1.12 在Transputer系統(tǒng)上用并行C語言編程的特點(diǎn)1.13 一種軟件擴(kuò)展8031內(nèi)部計(jì)數(shù)器簡易方法1.14 MCS 51系列單片機(jī)功能測試方法研究1.15 用CD 4520B設(shè)計(jì)對(duì)稱輸出分頻器的方法1.16 多路模擬開關(guān)CC 4051功能擴(kuò)展方法1.17 條形碼技術(shù)及其應(yīng)用系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)? 二、 新一代存儲(chǔ)器及邏輯器件2.1 一種多功能存儲(chǔ)器M6M 72561J2.2 串行E2PROM及其在智能儀器中的應(yīng)用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM編程卡2.5 電子盤的設(shè)計(jì)與實(shí)現(xiàn)2.6 NS GAL器件的封裝標(biāo)簽、類型代碼和編程結(jié)構(gòu)間的關(guān)系 三、數(shù)據(jù)采集、前向通道與測量技術(shù)3.1 儀器用精密運(yùn)放CA3193的應(yīng)用3.2 集成電壓?電流轉(zhuǎn)換器XTR100的應(yīng)用3.3 瞬時(shí)浮點(diǎn)放大器及應(yīng)用3.4 隔離放大器289J及其應(yīng)用3.5 ICS?300系列新型加速度傳感器3.6 一種實(shí)用的壓力傳感器接口電路3.7 霍爾傳感器的應(yīng)用3.8 一種對(duì)多個(gè)傳感器進(jìn)行調(diào)理的方法3.9 兩線制壓力變送器3.10 小信號(hào)雙線變送器XTR101的使用3.11 兩線長距離頻率傳輸壓力變送器的設(shè)計(jì)3.12 測溫元件AD590及其應(yīng)用3.13 熱敏電阻應(yīng)用動(dòng)態(tài)3.14 一種組合式A/D、D/A轉(zhuǎn)換器的設(shè)計(jì)3.15 一種復(fù)合式A/D轉(zhuǎn)換器3.16 TLC549串行輸出ADC及其應(yīng)用3.17 提高A/D轉(zhuǎn)換精度的方法--雙通道A/D轉(zhuǎn)換3.18 模數(shù)轉(zhuǎn)換器ICL7135的0~3.9999V顯示3.19 微型光耦合器3.20 一種高精度的分壓器電路3.21 利用單片機(jī)軟件作熱電偶非線性補(bǔ)償3.22 三線制RTD測量電路及應(yīng)用中要注意的問題3.23 微伏信號(hào)高精度檢測中極易被忽略的問題3.24 寬范圍等分辨率精密測量法3.25 傳感器在線校準(zhǔn)系統(tǒng)3.26 一種高精度的熱敏電阻測溫電路3.27 超聲波專用集成電路LM1812的原理與應(yīng)用3.28 旋轉(zhuǎn)變壓器數(shù)字化檢測及其在8098單片機(jī)控制伺服系統(tǒng)中的應(yīng)用3.29 單片集成兩端式感溫電流源AD590在溫度測控系統(tǒng)中的應(yīng)用?3.30 數(shù)字示波器和單片機(jī)構(gòu)成的自動(dòng)測試系統(tǒng)3.31 霍爾效應(yīng)式功率測量研究 四、 控制系統(tǒng)與后向通道接口技術(shù)4.1 模糊邏輯與模糊控制(實(shí)用模糊控制講座之一)4.2 紅綠燈模糊控制器(實(shí)用模糊控制講座之二)4.3 國外模糊技術(shù)新產(chǎn)品4.4 交流串級(jí)調(diào)速雙環(huán)模糊PI單片機(jī)控制系統(tǒng)4.5 時(shí)序控制專用集成電路LT156及其應(yīng)用4.6 電池充電控制集成電路4.7 雙向晶閘管4.8 雙向可控硅的自觸發(fā)電路及其應(yīng)用4.9 微處理器晶閘管頻率自適應(yīng)觸發(fā)器4.10 F18系列晶閘管模塊介紹4.11 集成電路UAA4002的原理及應(yīng)用4.12 IGBT及其驅(qū)動(dòng)電路4.13 TWH8751應(yīng)用集錦4.14 結(jié)構(gòu)可變式計(jì)算機(jī)工業(yè)控制系統(tǒng)設(shè)計(jì)4.15 單片機(jī)控制的音響編輯器 五、 人機(jī)對(duì)話通道接口技術(shù)5.1 5×7點(diǎn)陣LED智能顯示器的應(yīng)用5.2 基于8031串行口的LED電子廣告牌5.3 點(diǎn)陣液晶顯示控制器與計(jì)算機(jī)的接口技術(shù)5.4 單片機(jī)控制可編程液晶顯示系統(tǒng)5.5 大規(guī)模語言集成電路應(yīng)用綜述5.6 最新可編程語言集成電路MSSIO61的應(yīng)用5.7 用PC打印機(jī)接口擴(kuò)展并行接口 六、 多機(jī)系統(tǒng)、網(wǎng)絡(luò)與遙控技術(shù)6.1 用8098單片機(jī)構(gòu)成的分布式測溫系統(tǒng)6.2 平衡接口EIA?422和EIA485設(shè)計(jì)指南6.3 I2C BUS及其系統(tǒng)設(shè)計(jì)6.4 摩托羅拉可尋址異步接受/發(fā)送器6.5 用5V供電的RS232C接口芯片6.6 四通道紅外遙控器6.7 TA7333P和TA7657P的功能及應(yīng)用 七、 電源、電壓變換及電源監(jiān)視7.1 單片機(jī)控制的可控硅三相電源調(diào)壓穩(wěn)壓技術(shù)7.2 集成開關(guān)電源控制器MC34063的原理及應(yīng)用7.3 LM299精密基準(zhǔn)電壓源7.4 集成過壓保護(hù)器的應(yīng)用7.5 3V供電的革命7.6 HMOS微機(jī)的超低電源電壓運(yùn)行技術(shù) 八、 可靠性與抗干擾設(shè)計(jì)8.1 淺談艦船電磁兼容與可靠性 九、 綜合應(yīng)用實(shí)例9.1 8098單片機(jī)交流電氣參數(shù)測試系統(tǒng)的設(shè)計(jì)和應(yīng)用9.2 主軸回轉(zhuǎn)誤差補(bǔ)償控制器9.3 FWK?A型大功率發(fā)射臺(tái)微機(jī)控制系統(tǒng)9.4 高性能壓控振蕩型精密波形發(fā)生器ICL8038及應(yīng)用9.5 單片機(jī)COP 840C在洗碗機(jī)中的應(yīng)用
標(biāo)簽: 單片機(jī) 應(yīng)用技術(shù)
上傳時(shí)間: 2013-11-10
上傳用戶:lijinchuan
九.輸入/輸出保護(hù)為了支持多任務(wù),80386不僅要有效地實(shí)現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護(hù)。 這里下載本文源代碼。 <一>輸入/輸出保護(hù)80386采用I/O特權(quán)級(jí)IPOL和I/O許可位圖的方法來控制輸入/輸出,實(shí)現(xiàn)輸入/輸出保護(hù)。 1.I/O敏感指令輸入輸出特權(quán)級(jí)(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級(jí)。IOPL的值在如下圖所示的標(biāo)志寄存器中。 標(biāo) 志寄存器 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空間中的哪些地址可以由在任何特權(quán)級(jí)執(zhí)行的程序所訪問。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護(hù)方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置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有關(guān),并且只有在滿足所列條件時(shí)才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當(dāng)前特權(quán)級(jí)不在I/O特權(quán)級(jí)外層時(shí),可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級(jí)在I/O特權(quán)級(jí)外層時(shí),執(zhí)行CLI和STI指令將引起通用保護(hù)異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯(cuò)碼為0的通用保護(hù)異常。 由于每個(gè)任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個(gè)任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實(shí)模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實(shí)際要求需要。因?yàn)檫@樣做會(huì)使得在特權(quán)級(jí)3執(zhí)行的應(yīng)用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實(shí)際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪問部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪問另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪問I/O地址時(shí)發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨(dú)享設(shè)備時(shí)發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進(jìn)制位串組成。位串中的每一位依次對(duì)應(yīng)一個(gè)I/O地址,位串的第0位對(duì)應(yīng)I/O地址0,位串的第n位對(duì)應(yīng)I/O地址n。如果位串中的第位為0,那么對(duì)應(yīng)的I/O地址m可以由在任何特權(quán)級(jí)執(zhí)行的程序訪問;否則對(duì)應(yīng)的I/O地址m只能由在IOPL特權(quán)級(jí)或更內(nèi)層特權(quán)級(jí)執(zhí)行的程序訪問。如果在I/O外層特權(quán)級(jí)執(zhí)行的程序訪問位串中位值為1的位所對(duì)應(yīng)的I/O地址,那么將引起通用保護(hù)異常。 I/O地址空間按字節(jié)進(jìn)行編址。一條I/O指令最多可涉及四個(gè)I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當(dāng)一條I/O指令涉及多個(gè)I/O地址時(shí),只有這多個(gè)I/O地址所對(duì)應(yīng)的I/O許可位圖中的位都為0時(shí),該I/O指令才能被正常執(zhí)行,如果對(duì)應(yīng)位中任一位為1,就會(huì)引起通用保護(hù)異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進(jìn)制位串最大長度是64K個(gè)位,即位圖的有效部分最大為8K字節(jié)。一個(gè)任務(wù)實(shí)際需要使用的I/O許可位圖大小通常要遠(yuǎn)小于這個(gè)數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲(chǔ)在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲(chǔ),所以位串所含的位數(shù)總被認(rèn)為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達(dá)8K字節(jié),所以開始偏移應(yīng)小于56K,但必須大于等于104,因?yàn)門SS中前104字節(jié)為TSS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪問許可檢查細(xì)節(jié)保護(hù)模式下處理器在執(zhí)行I/O指令時(shí)進(jìn)行許可檢查的細(xì)節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計(jì)算I/O地址對(duì)應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計(jì)算位偏移以形成屏蔽碼值,即計(jì)算I/O地址對(duì)應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯(cuò)碼為0的通用保護(hù)故障;(6)若不越界,則從位圖中讀對(duì)應(yīng)字節(jié)及下一個(gè)字節(jié);(7)把讀出的兩個(gè)字節(jié)與屏蔽碼進(jìn)行與運(yùn)算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯(cuò)碼為0的通用保護(hù)故障;(8)進(jìn)行I/O訪問。設(shè)某一任務(wù)的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對(duì)應(yīng)I/O端口00H—3FH DB 10000000B ;對(duì)應(yīng)I/O端口40H—47H DB 01100000B ;對(duì)用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對(duì)應(yīng)I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會(huì)引起通用保護(hù)異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實(shí)行 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許可檢查的細(xì)節(jié)可見,不論是否必要,當(dāng)進(jìn)行許可位檢查時(shí),80386總是從I/O許可位圖中讀取兩個(gè)字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個(gè)字節(jié)。例如,上面的第(8)條指令要對(duì)I/O位圖中的兩個(gè)位進(jìn)行檢查,其低位是某個(gè)字節(jié)的最高位,高位是下一個(gè)字節(jié)的最低位??梢娂词怪灰獧z查兩個(gè)位,也可能需要讀取兩個(gè)字節(jié)。另一方面,最多檢查四個(gè)連續(xù)的位,即最多也只需讀取兩個(gè)字節(jié)。所以每次要讀取兩個(gè)字節(jié)。這也是在判別是否越界時(shí)再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時(shí)產(chǎn)生越界,必須在I/O許可位圖的最后填加一個(gè)全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個(gè)位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開始偏移加8K時(shí),I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進(jìn)行。當(dāng)TSS的界限不大于I/O許可位圖開始偏移加8K時(shí),I/O許可位圖有效部分就不到8K字節(jié),于是對(duì)較小I/O地址訪問的許可檢查根據(jù)位圖進(jìn)行,而對(duì)較大I/O地址訪問的許可檢查總被認(rèn)為不可訪問而引起通用保護(hù)故障。因?yàn)檫@時(shí)會(huì)發(fā)生字節(jié)越界而引起通用保護(hù)異常,所以在這種情況下,可認(rèn)為不足的I/O許可位圖的高端部分全為1。利用這個(gè)特點(diǎn),可大大節(jié)約TSS中I/O許可位圖占用的存儲(chǔ)單元,也就大大減小了TSS段的長度。 <二>重要標(biāo)志保護(hù)輸入輸出的保護(hù)與存儲(chǔ)在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實(shí)現(xiàn)輸入輸出保護(hù)。類似地,對(duì)EFLAGS中的IF位也必須加以保護(hù),否則CLI和STI作為敏感指令對(duì)待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對(duì)EFLAGS中的這三個(gè)字段的處理比較特殊,只有在較高特權(quán)級(jí)執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級(jí)下對(duì)這三個(gè)字段的處理情況。 不同特權(quán)級(jí)對(duì)標(biāo)志寄存器特殊字段的處理 特權(quán)級(jí) VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級(jí)0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對(duì)于IOPL同級(jí)或更內(nèi)層特權(quán)級(jí)執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級(jí)不滿足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時(shí),如果試圖修改這些字段中的任何一個(gè)字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護(hù)的實(shí)例(實(shí)例九)下面給出一個(gè)用于演示輸入輸出保護(hù)的實(shí)例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務(wù)門調(diào)用任務(wù),實(shí)現(xiàn)任務(wù)嵌套。 1.演示步驟實(shí)例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實(shí)模式下做必要準(zhǔn)備后,切換到保護(hù)模式;(2)進(jìn)入保護(hù)模式的臨時(shí)代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進(jìn)入演示代碼段,演示代碼段的特權(quán)級(jí)是0;(4)通過任務(wù)門調(diào)用測試任務(wù)1。測試任務(wù)1能夠順利進(jìn)行;(5)通過任務(wù)門調(diào)用測試任務(wù)2。測試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護(hù)異常;(6)通過任務(wù)門調(diào)用測試任務(wù)3。測試任務(wù)3演示I/O敏感指令如何引起通用保護(hù)異常;(7)通過任務(wù)門調(diào)用測試任務(wù)4。測試任務(wù)4演示特權(quán)指令如何引起通用保護(hù)異常;(8)從演示代碼轉(zhuǎn)臨時(shí)代碼,準(zhǔn)備返回實(shí)模式;(9)返回實(shí)模式,并作結(jié)束處理。
上傳時(shí)間: 2013-12-11
上傳用戶:nunnzhy
影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的因素可大體分為外因和內(nèi)因兩部分1. 外因 射頻干擾它是以空間電磁場的形式傳遞在機(jī)器內(nèi)部的導(dǎo)體引線或零件引腳感生出相應(yīng)的干擾可通過電磁屏蔽和合理的布線/器件布局衰減該類干擾 電源線或電源內(nèi)部產(chǎn)生的干擾它是通過電源線或電源內(nèi)的部件耦合或直接傳導(dǎo)可通過電源濾波隔離等措施來衰減該類干擾2. 內(nèi)因 振蕩源的穩(wěn)定性主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類型溫度和電壓等參數(shù)影響 復(fù)位電路的可靠性
標(biāo)簽: 51單片機(jī) 復(fù)位電路 分
上傳時(shí)間: 2013-10-24
上傳用戶:AbuGe
一概述影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的因素可大體分為外因和內(nèi)因兩部分1. 外因 射頻干擾它是以空間電磁場的形式傳遞在機(jī)器內(nèi)部的導(dǎo)體引線或零件引腳感生出相應(yīng)的干擾可通過電磁屏蔽和合理的布線/器件布局衰減該類干擾 電源線或電源內(nèi)部產(chǎn)生的干擾它是通過電源線或電源內(nèi)的部件耦合或直接傳導(dǎo)可通過電源濾波隔離等措施來衰減該類干擾2. 內(nèi)因 振蕩源的穩(wěn)定性主要由起振時(shí)間頻率穩(wěn)定度和占空比穩(wěn)定度決定起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類型溫度和電壓等參數(shù)影響 復(fù)位電路的可靠性二 復(fù)位電路的可靠性設(shè)計(jì)1. 基本復(fù)位電路復(fù)位電路的基本功能是系統(tǒng)上電時(shí)提供復(fù)位信號(hào)直至系統(tǒng)電源穩(wěn)定后撤銷復(fù)位信號(hào)為可靠起見電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào)以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位圖1 所示的RC 復(fù)位電路可以實(shí)現(xiàn)上述基本功能圖3 為其輸入-輸出特性但解決不了電源毛刺A 點(diǎn)和電源緩慢下降電池電壓不足等問題而且調(diào)整RC 常數(shù)改變延時(shí)會(huì)令驅(qū)動(dòng)能力變差左邊的電路為高電平復(fù)位有效 右邊為低電平Sm 為手動(dòng)復(fù)位開關(guān) Ch 可避免高頻諧波對(duì)電的干擾
標(biāo)簽: 單片機(jī)復(fù)位 電路設(shè)計(jì)
上傳時(shí)間: 2014-01-18
上傳用戶:shanxiliuxu
如同今天的許多通用單片機(jī)(MCU)已經(jīng)把USB、CAN和以太網(wǎng)作為標(biāo)準(zhǔn)外設(shè)集成在芯片內(nèi)部一樣,越來越多的無線網(wǎng)絡(luò)芯片和無線網(wǎng)絡(luò)解決方案也在向集成SoC 方向發(fā)展,比如第一代產(chǎn)品,Nordic公司nRF905,Chipcon公司cc1010 他們集成了8051兼容的單片機(jī).這些無線單片機(jī)適合一般的點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)的私有網(wǎng)絡(luò)應(yīng)用,如單一產(chǎn)品的遙控器和抄表裝置等。無線通訊技術(shù)給智能裝置的互連互通提供了便捷的途徑,工業(yè)無線網(wǎng)絡(luò)作為面向工業(yè)和家庭自動(dòng)化的網(wǎng)絡(luò)技術(shù)也正在向著智能,標(biāo)準(zhǔn)和節(jié)能方向發(fā)展?! ∧壳霸诠I(yè)控制和消費(fèi)電子領(lǐng)域使用的無線網(wǎng)絡(luò)技術(shù)有ZigBee、無線局域網(wǎng)(Wi-Fi)、藍(lán)牙(Blutooth)、GPRS通用分組無線業(yè)務(wù)、 ISM、IrDA等, 未來還能有3G、超寬頻(UWB)、無線USB、Wimax等。 當(dāng)然還有大量的私有和專用無線網(wǎng)絡(luò)在工業(yè)控制和消費(fèi)電子裝置中使用,其中ZigBee、GPRS是在目前在國內(nèi)工業(yè)控制中討論和使用比較多的兩種,藍(lán)牙和無線局域網(wǎng)是在消費(fèi)電子產(chǎn)品如手機(jī)、耳機(jī)、打印機(jī)、照相機(jī)和家庭中小企業(yè)網(wǎng)絡(luò)中廣泛使用的無線協(xié)議(個(gè)別工業(yè)產(chǎn)品也有應(yīng)用,如無線視頻監(jiān)控和汽車音響系統(tǒng)),當(dāng)然私有無線網(wǎng)絡(luò)技術(shù)和產(chǎn)品在工業(yè)也有很多的應(yīng)用?! igBee是一個(gè)低功耗、短距離和低速的無線網(wǎng)絡(luò)技術(shù),工作在2.4GHz國際免執(zhí)照的頻率,在IEEE標(biāo)準(zhǔn)上它和無線局域網(wǎng)、藍(lán)牙同屬802家族中的無線個(gè)人區(qū)域網(wǎng)絡(luò), ZigBee是有兩部分組成,物理和鏈路層符合IEEE802.15.4, 網(wǎng)絡(luò)和應(yīng)用層符合ZigBee聯(lián)盟的規(guī)范。ZigBee聯(lián)盟是在2002年成立的非盈利組織,有包括TI、霍尼威爾、華為在內(nèi)兩百多家成員, ZigBee聯(lián)盟致力推廣兼容802.15.4和ZigBee協(xié)議的平臺(tái), 制定網(wǎng)絡(luò)層和應(yīng)用架構(gòu)的公共規(guī)范,希望在樓宇自動(dòng)化、居家控制、家用電器、工業(yè)自動(dòng)控制和電腦外設(shè)等多方面普及ZigBee標(biāo)準(zhǔn)?! PRS是在現(xiàn)有的GSM 網(wǎng)絡(luò)發(fā)展出來的分組數(shù)據(jù)承載業(yè)務(wù),它工作在標(biāo)準(zhǔn)的GSM頻率,由于是一個(gè)分組交換系統(tǒng),它適合工業(yè)上的突發(fā),少量的數(shù)據(jù)傳輸,還因?yàn)镚SM網(wǎng)絡(luò)覆蓋廣泛,永遠(yuǎn)在線的特點(diǎn),GPRS特點(diǎn)適合工業(yè)控制中的遠(yuǎn)程監(jiān)控和測量系統(tǒng)。在工業(yè)控制應(yīng)用中GPRS 芯片一般是以無線數(shù)傳模塊形式出現(xiàn)的,它通過RS232全雙工接口和單片機(jī)連接,軟件上這些模塊都內(nèi)置了GPRS,PPP和TCP/IP協(xié)議,單片機(jī)側(cè)通過AT指令集向模塊發(fā)出測試,連接和數(shù)據(jù)收發(fā)指令,GPRS模塊通過中國移動(dòng)cmnet進(jìn)入互聯(lián)網(wǎng)和其他終端或者服務(wù)器通訊。目前市場常見的模塊有西門子G24TC45、TC35i,飛思卡爾G24,索愛GR47/48, 還有Wavecom 的集成了ARM9核的GPRS SoC模塊WMP50/100。GPRS模塊有區(qū)分自帶TCP/IP協(xié)議和不帶協(xié)議兩種,一般來講,如果是單片機(jī)側(cè)有嵌入式操作系統(tǒng)和TCP/IP協(xié)議支持的話或者應(yīng)用的要求只是收發(fā)短信和語音功能的話,可以選擇不帶協(xié)議的模塊?! ∠冗M(jìn)的SoC技術(shù)正在無線應(yīng)用領(lǐng)域發(fā)揮重要的作用。德州儀器收購了Chipcon公司以后發(fā)布的CC2430 是市場上首款SoC的ZigBee單片機(jī), 見圖1,它把協(xié)議棧z-stack集成在芯片內(nèi)部的閃存里面, 具有穩(wěn)定可靠的CC2420收發(fā)器,增強(qiáng)性的8051內(nèi)核,8KRAM,外設(shè)有I/O 口,ADC,SPI,UART 和AES128 安全協(xié)處理器,三個(gè)版本分別是32/64/128K的閃存,以128K為例,扣除基本z-stack協(xié)議還有3/4的空間留給應(yīng)用代碼,即使完整的ZigBee協(xié)議,還有近1/2的空間留給應(yīng)用代碼,這樣的無線單片機(jī)除了處理通訊協(xié)議外,還可以完成一些監(jiān)控和顯示任務(wù)。這樣無線單片機(jī)都支持通過SPI或者UART與通用單片機(jī)或者嵌入式CPU結(jié)合。 2008年4月發(fā)表CC2480新一代單片ZibBee認(rèn)證處理器就展示出和TI MSP430 通用的低功耗單片機(jī)結(jié)合的例子。圖1 CC2430應(yīng)用電路 工業(yè)控制領(lǐng)域的另一個(gè)芯片巨頭——飛思卡爾的單片ZigBee處理器MC1321X的方案也非常類似,集成了HC08單片機(jī)核心, 16/32/64K 閃存,外設(shè)有GPIO, I2C和ADC, 軟件是Beestack 協(xié)議,只是最多4K RAM 對(duì)于更多的任務(wù)顯得小了些。但是憑借32位單片機(jī)Coldfire和系統(tǒng)軟件方面經(jīng)驗(yàn)和優(yōu)勢, 飛思卡爾在滿足用戶應(yīng)用的彈性需求方面作的更有特色,它率先能夠提供從低-中-高各個(gè)層面的解決方案,見圖2。
標(biāo)簽: 單片機(jī) 工業(yè)無線網(wǎng)絡(luò)
上傳時(shí)間: 2013-11-02
上傳用戶:momofiona
I2C總線高頻頭控制程序(Keil C51程序 基于芯片TSA5522系列) /*I2C總線高頻頭控制Keil C51程序(PLL芯片為TSA5522系列) *///--------------------------------------------------------------------------//// 源程序大公開 //// (c) Copyright 2001-2003 xuwenjun //// All Rights Reserved //// V1.00 ////--------------------------------------------------------------------------////標(biāo) 題: I2C總線高頻頭控制程序(PLL芯片為TSA5522系列) ////文件名: xwj_fi1256.c ////版 本: V1.00 ////修改人: 徐文軍 E-mail:xuwenjun@21cn.com ////日 期: 06-02-26 首次公開 ////描 述: I2C總線高頻頭控制程序(PLL芯片為TSA5522系列) ////聲 明: //// 以下代碼僅免費(fèi)提供給學(xué)習(xí)用途,但引用或修改后必須在文件中聲明出處. //// 如用于商業(yè)用途請(qǐng)與作者聯(lián)系. E-mail:xuwenjun@21cn.com //// 有問題請(qǐng)mailto xuwenjun@21cn.com 歡迎與我交流! ////--------------------------------------------------------------------------////老版本: 無 老版本文件名: ////創(chuàng)建人: 徐文軍 E-mail:xuwenjun@21cn.com ////日 期: 06-02-26 ////描 述: ////--------------------------------------------------------------------------// /* 頻率單位為KHz */#define FUENCY 38900 /* 中頻頻率 */#define PLLdataH(f) ((f+FUENCY)*16/1000/256) /* 頻率數(shù)據(jù)高 第1字節(jié)*/#define PLLdataL(f) ((f+FUENCY)*16/1000%256) /* 頻率數(shù)據(jù)低 第2字節(jié)*/#define PLLCON1 0x8e /* 控制字1 第3字節(jié)*/ /* 控制字2 第4字節(jié)*/#define PLLCON2(f) (((f)<(168000))?(0xa0):(((f)<(450000))?(0x90):(0x30)))#define PLLdata3(fchan) PLLdataH (fchan),PLLdataL (fchan),PLLCON2 (fchan)
上傳時(shí)間: 2013-11-10
上傳用戶:nanfeicui
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1