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

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

被動紅外

  • 用單片機AT89C51改造普通雙桶洗衣機

    用單片機AT89C51改造普通雙桶洗衣機:AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強,如能用來處理模擬量、進行簡單的模數(shù)轉(zhuǎn)換等。本文利用這一功能設計了一個數(shù)字電容表,可測量容量小于2微法的電容器的容量,采用3位半數(shù)字顯示,最大顯示值為1999,讀數(shù)單位統(tǒng)一采用毫微法(nf),量程分四檔,讀數(shù)分別乘以相應的倍率。電路工作原理  本數(shù)字電容表以電容器的充電規(guī)律作為測量依據(jù),測試原理見圖1。電源電路圖。 壓E+經(jīng)電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當充電時間t等于RC時間常數(shù)τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數(shù)字電容表就是以該電壓作為測試基準電壓,測量電容器充電達到該電壓的時間,便能知道電容器的容量。例如,設電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。  測量電路如圖2所示。A為AT89C2051內(nèi)部構(gòu)造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結(jié)果存入P3.6口對應的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準電壓設定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變?yōu)?。以P3.6口的輸出電平為依據(jù),用AT89C2051內(nèi)部的定時器T0對充電時間進行計數(shù),再將計數(shù)結(jié)果顯示出來即得出測量結(jié)果。整機電路見圖3。電路由單片機電路、電容充電測量電路和數(shù)碼顯示電路等 圖3 部分組成。AT89C2051內(nèi)部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關(guān)S1選擇使用,電壓比較器的基準電壓由5V電源電壓經(jīng)R6、RP1、R7分壓后得到,調(diào)節(jié)RP1可調(diào)整基準電壓。當P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數(shù)以10倍遞增。由于單片機內(nèi)部P1.2口的上拉電阻經(jīng)實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯(lián)關(guān)系,因此R2、R3、R4應由標準值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數(shù)碼管DS1-DS4、電阻R8-R14等組成數(shù)碼顯示電路。本機采用動態(tài)掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數(shù)碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數(shù)碼管的動態(tài)掃描位驅(qū)動碼輸出。這里采用了共陰數(shù)碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅(qū)動數(shù)碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅(qū)動數(shù)碼管的各字段,當P3的某一端口輸出低電平時其對應的字段筆劃不點亮,而當其輸出高電平時,則對應的上拉電阻即能點亮相應的字段筆劃。

    標簽: 89C C51 AT 89

    上傳時間: 2013-12-31

    上傳用戶:ming529

  • 用單片機制作多功能莫爾斯碼電路

    用單片機制作多功能莫爾斯碼電路:用單片機制作多功能莫爾斯碼電路莫爾斯電碼通信有著悠久的歷史,盡管它已被現(xiàn)代通信方式所取代,但在業(yè)余無線電通信和特殊的專業(yè)場合仍具有重要的地位,這是因為等幅電碼通信的抗干擾能力是其它任何一種通信方式都無法相比的。在短波波段用幾瓦的功率即可進行國際間的通信,收發(fā)射設備簡單易制成本低廉,所以深受業(yè)余無線電愛好者的喜愛,是業(yè)余無線電高手必備的技能。要想熟練掌握莫爾斯電碼的收發(fā)技術(shù)除了持之以恒的毅力外,還需要相關(guān)的設備。設計本電路的目的就是給愛好者提供一個實用和訓練的工具。  一、功能簡介    本電路可以配合自動鍵體和手動鍵體,產(chǎn)生莫爾斯碼控制信號,設有16種速度,從初學者到操作高手都能適用。監(jiān)聽音調(diào)也有16種,均可以通過功能鍵進行選擇。可以按程序中設定好的呼號自動呼叫,設有聽抄練習功能,聽抄練習有短碼和混合碼兩種模式,分別對10個數(shù)字和常用的38個混合碼模擬隨機取樣,產(chǎn)生分組報碼,供愛好者提高抄收水平之用,速度低4檔的聽抄練習是專為初學者所設,內(nèi)容是時間間隔較長的單字符。設有PTT開關(guān)鍵,可以決定是否控制發(fā)射機工作,不需要反復通斷控制線。無論當前處于呼叫狀態(tài)還是聽抄狀態(tài)只要電鍵接點接通則自動轉(zhuǎn)到人工發(fā)報程序。4分鐘內(nèi)不使用電路將自動關(guān)閉電源,只有按復位鍵才能重新開始工作。先按住聽抄練習鍵復位則進入短碼練習狀態(tài),其它功能不變。從開機到自動關(guān)機執(zhí)行每個功能都有不同的莫爾斯碼提示音。本電路具有較強的抗高低頻干擾的能力和使用方便的大電流開關(guān)接口,以適應不同的發(fā)射設備。    二、硬件電路原理硬件電路如圖1所示。設計電路的目的在于方便實用,以免在緊張的操作中失誤,所以除了聽抄練習鍵外其它鍵沒有定義復用功能。各鍵的作用在圖中已經(jīng)標出。PTT控制在每次復位時處于關(guān)閉狀態(tài),每按動一次PTT功能鍵則改變一次狀態(tài),這樣可以使用軟件開關(guān)控制發(fā)射。 PTT處于控制狀態(tài)時發(fā)光二極管隨控制信號閃亮。考慮到自制設備及淘汰軍用設備與高檔設備控制電流的不同,PTT開關(guān)管采用了2SC2073,可以承受500mA的電流,同時還增加了無極性PTT開關(guān)電路,無論外部被控制的端口直流極性如何加到VT3的極性始終不變,供有興趣的愛好者實驗。應該注意,如果被控制的負載是感性,則電感兩端必須并聯(lián)續(xù)流二極管,除自制設備外成品機在這方面一般沒有什么問題。手動鍵只有一個接點,接通后產(chǎn)生連續(xù)的音頻和發(fā)射控制信號。在本電路中手動鍵的輸入端是P1.5 ,程序不斷檢測P1.5電平,當按鍵按下時P1.5電平為0,程序轉(zhuǎn)入手動鍵子程序。 自動鍵的接點分別接到P1.3和P1.4 ,同樣當程序檢測到有接點閉合時便自動產(chǎn)生“點”或“劃”。音頻信號從P輸出,經(jīng)VT1放大后推動揚聲器發(fā)音。單片機的I/O口在輸入狀態(tài)下阻抗較高,容易受到高低頻信號干擾,所以在每個輸入端口和三極管的be端并聯(lián)電阻和高頻旁路電容,確保在較長的電鍵連線和大功率發(fā)射時電路工作穩(wěn)定。圖2是印刷電路版圖,尺寸為110mmX85mm,揚聲器用粘合劑直接粘接在電路版有銅箔的面。    三、軟件設計方法  “點”時間長度是莫爾斯電碼中的基本時間單位。按規(guī)定“劃”的時間長度不小于三個“點”,同字符中“點”與“劃”的間隔不小于一個“點”,字符之間不小于一個“劃”,詞與詞之間不應小于五個“點”。在本程序中用條件轉(zhuǎn)移指令來產(chǎn)生“點”時間長度。通過速度功能鍵功可以設置16種延時參數(shù)。用T0中斷產(chǎn)生監(jiān)聽音頻信號,并將中斷設為優(yōu)先級,保證在聽覺上純正悅耳。T1用于自動關(guān)機計時,如果不使用任何功能四分鐘后將向PCON 位寫1,單片機進入休眠狀態(tài),此時耗電量僅有幾個微安。自動鍵的“點”或“劃”以及手動鍵的連續(xù)發(fā)音都是子程序的反復調(diào)用。P1.2對地短接時自動呼叫可設定為另一內(nèi)容。為了便于熟悉匯編語言的讀者對發(fā)音內(nèi)容進行修改,這里介紹發(fā)音字符的編碼方法。莫爾斯碼的信息與計算機中二進制恰好相同,我們可以用0表示“點”,用1表示“劃”。提示音、自動呼叫、聽抄內(nèi)容等字符是預先按一定編碼方式存儲在程序中的常數(shù)。每個字符的莫爾斯碼一般是由1至6位“點”、“劃”組成,也就是發(fā)音次數(shù)最多6次。程序中每個字符占用1個字節(jié),字符時間間隔不占用字節(jié),但更長的延時或發(fā)音結(jié)束信息占用一個字節(jié)。我們用字節(jié)的低三位表示字節(jié)的性質(zhì),對于5次及5次以下發(fā)音的字符我們用存儲器的高5位存儲發(fā)音信息,發(fā)音順序由高位至低位,用低3位存儲發(fā)音次數(shù),發(fā)音時將數(shù)據(jù)送入累加器A,先得到發(fā)音次數(shù),然后使A左環(huán)移,對E0進行位尋址,判斷是發(fā)“點”還是“劃”,環(huán)移次數(shù)由發(fā)音次數(shù)決定。對于6次發(fā)音的字符不能完全按照上述編碼規(guī)則,否則會出現(xiàn)信息重疊,如果是6次發(fā)音且最后一次是“劃”我們把發(fā)音次數(shù)定義為111B,因為這時第6次位尋址得到的是1。如果第6次發(fā)音是“點”,那么這個字符的低三位定義為000B。字符間隔時間由程序自動產(chǎn)生,更長的時間隔或結(jié)束標志由字節(jié)低三位110B來定義,高半字節(jié)表示字符間隔的倍數(shù),例如26H表示再加兩倍時間間隔。如果字節(jié)為06H則表示讀字符程序結(jié)束,返回主程序。更詳細的內(nèi)容不再贅述,讀者可閱讀源程序。四、使用注意事項手動鍵的操作難度相對大一些,時間節(jié)拍全由人掌握,其特點是發(fā)出的電碼帶有“人情味”。自動鍵的“點”、“劃”靠電路產(chǎn)生,發(fā)音標準,容易操作,而且可以達到相當快的速度,長時間工作也不易疲勞。在干擾較大、信號微弱的條件下自動鍵碼的辨別程度好于手動鍵碼。初學者初次使用手動鍵練習發(fā)報要有老師指導,且不可我行我素,一旦養(yǎng)成不正確的手法則很難糾正。在電臺上時常聽到一些讓對方難以抄收的電碼,這可能會使對方反感而拒絕回答。使用自動鍵也應在一定的聽抄基礎上再去練習。在暫時找不老師的情況下可多練習聽力,這對于今后能夠發(fā)出標準正確的電碼非常有益。

    標簽: 用單片機 多功能 莫爾斯 電路

    上傳時間: 2013-10-31

    上傳用戶:sdq_123

  • PCB可測性設計布線規(guī)則之建議―從源頭改善可測率

    P C B 可測性設計布線規(guī)則之建議― ― 從源頭改善可測率PCB 設計除需考慮功能性與安全性等要求外,亦需考慮可生產(chǎn)與可測試。這里提供可測性設計建議供設計布線工程師參考。1. 每一個銅箔電路支點,至少需要一個可測試點。如無對應的測試點,將可導致與之相關(guān)的開短路不可檢出,并且與之相連的零件會因無測試點而不可測。2. 雙面治具會增加制作成本,且上針板的測試針定位準確度差。所以Layout 時應通過Via Hole 盡可能將測試點放置于同一面。這樣就只要做單面治具即可。3. 測試選點優(yōu)先級:A.測墊(Test Pad) B.通孔(Through Hole) C.零件腳(Component Lead) D.貫穿孔(Via Hole)(未Mask)。而對于零件腳,應以AI 零件腳及其它較細較短腳為優(yōu)先,較粗或較長的引腳接觸性誤判多。4. PCB 厚度至少要62mil(1.35mm),厚度少于此值之PCB 容易板彎變形,影響測點精準度,制作治具需特殊處理。5. 避免將測點置于SMT 之PAD 上,因SMT 零件會偏移,故不可靠,且易傷及零件。6. 避免使用過長零件腳(>170mil(4.3mm))或過大的孔(直徑>1.5mm)為測點。7. 對于電池(Battery)最好預留Jumper,在ICT 測試時能有效隔離電池的影響。8. 定位孔要求:(a) 定位孔(Tooling Hole)直徑最好為125mil(3.175mm)及其以上。(b) 每一片PCB 須有2 個定位孔和一個防呆孔(也可說成定位孔,用以預防將PCB反放而導致機器壓破板),且孔內(nèi)不能沾錫。(c) 選擇以對角線,距離最遠之2 孔為定位孔。(d) 各定位孔(含防呆孔)不應設計成中心對稱,即PCB 旋轉(zhuǎn)180 度角后仍能放入PCB,這樣,作業(yè)員易于反放而致機器壓破板)9. 測試點要求:(e) 兩測點或測點與預鉆孔之中心距不得小于50mil(1.27mm),否則有一測點無法植針。以大于100mil(2.54mm)為佳,其次是75mil(1.905mm)。(f) 測點應離其附近零件(位于同一面者)至少100mil,如為高于3mm 零件,則應至少間距120mil,方便治具制作。(g) 測點應平均分布于PCB 表面,避免局部密度過高,影響治具測試時測試針壓力平衡。(h) 測點直徑最好能不小于35mil(0.9mm),如在上針板,則最好不小于40mil(1.00mm),圓形、正方形均可。小于0.030”(30mil)之測點需額外加工,以導正目標。(i) 測點的Pad 及Via 不應有防焊漆(Solder Mask)。(j) 測點應離板邊或折邊至少100mil。(k) 錫點被實踐證實是最好的測試探針接觸點。因為錫的氧化物較輕且容易刺穿。以錫點作測試點,因接觸不良導致誤判的機會極少且可延長探針使用壽命。錫點尤其以PCB 光板制作時的噴錫點最佳。PCB 裸銅測點,高溫后已氧化,且其硬度高,所以探針接觸電阻變化而致測試誤判率很高。如果裸銅測點在SMT 時加上錫膏再經(jīng)回流焊固化為錫點,雖可大幅改善,但因助焊劑或吃錫不完全的緣故,仍會出現(xiàn)較多的接觸誤判。

    標簽: PCB 可測性設計 布線規(guī)則

    上傳時間: 2014-01-14

    上傳用戶:cylnpy

  • 8051單片機教程 (word版)

    8051單片機教程:一臺能夠工作的計算機要有這樣幾個部份構(gòu)成:CPU(進行運算、控制)、RAM(數(shù)據(jù)存儲)、ROM(程序存儲)、輸入/輸出設備(例如:串行口、并行輸出口等)。在個人計算機上這些部份被分成若干塊芯片,安裝一個稱之為主板的印刷線路板上。而在單片機中,這些部份,全部被做到一塊集成電路芯片中了,所以就稱為單片(單芯片)機,而且有一些單片機中除了上述部份外,還集成了其它部份如A/D,D/A等。 PC中的CPU一塊就要賣幾千塊錢,這么多東西做在一起,還不得買個天價!再說這塊芯片也得非常大了。 不,價格并不高,從幾元人民幣到幾十元人民幣,體積也不大,一般用40腳封裝,當然功能多一些單片機也有引腳比較多的,如68引腳,功能少的只有10多個或20多個引腳,有的甚至只8只引腳。為什么會這樣呢? 功能有強弱,打個比方,市場上面有的組合音響一套才賣幾百塊錢,可是有的一臺功放機就要賣好幾千。另外這種芯片的生產(chǎn)量很大,技術(shù)也很成熟,51系列的單片機已經(jīng)做了十幾年,所以價格就低了。 既然如此,單片機的功能肯定不強,干嗎要學它呢? 話不能這樣說,實際工作中并不是任何需要計算機的場合都要求計算機有很高的性能,一個控制電冰箱溫度的計算機難道要用PIII?應用的關(guān)鍵是看是否夠用,是否有很好的性能價格比。所以8051出來十多年,依然沒有被淘汰,還在不斷的發(fā)展中。 2、MCS51單片機和8051、8031、89C51等的關(guān)系我們平常老是講8051,又有什么8031,現(xiàn)在又有89C51,它們之間究竟是什么關(guān)系? MCS51是指由美國INTEL公司(對了,就是大名鼎鼎的INTEL)生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的基礎上進行功能的增、減、改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。INTEL公司將MCS51的核心技術(shù)授權(quán)給了很多其它公司,所以有很多公司在做以8051為核心的單片機,當然,功能或多或少有些改變,以滿足不同的需求,其中89C51就是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發(fā)生產(chǎn)的。以后我們將用89C51來完成一系列的實驗。

    標簽: 8051 word 單片機教程

    上傳時間: 2013-11-17

    上傳用戶:crazyer

  • 匯編+保護模式+教程

    九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現(xiàn)任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級。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空間中的哪些地址可以由在任何特權(quán)級執(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有關(guān),并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當特權(quán)級在I/O特權(quán)級外層時,執(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í)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權(quán)級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可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(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,所以構(gòu)成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數(shù)目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移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,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為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é)束字節(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é)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 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密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標志寄存器特殊字段的處理 特權(quán)級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務門調(diào)用任務,實現(xiàn)任務嵌套。 1.演示步驟實例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務門調(diào)用測試任務1。測試任務1能夠順利進行;(5)通過任務門調(diào)用測試任務2。測試任務2演示由于違反I/O許可位圖規(guī)定而導致通用保護異常;(6)通過任務門調(diào)用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調(diào)用測試任務4。測試任務4演示特權(quán)指令如何引起通用保護異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準備返回實模式;(9)返回實模式,并作結(jié)束處理。

    標簽: 匯編 保護模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

  • 單片機系統(tǒng)“PC”失控的軟件措施

    單片機系統(tǒng)“PC”失控的軟件措施Software Measure of GettingO uto fC ontrolfo r“PC"in S ingleC hipC omputerS ystem謐 加 春 王 曉 基 雷 小 華(江 西 理 工 大 學機 電 工 程 學 院 ,贛 州 34 10 00)摘要單片機系統(tǒng)在實際工業(yè)現(xiàn)場中可能遇到各種干擾和自身的隨機性故障。現(xiàn)場惡劣的環(huán)境有可能使計算機系統(tǒng)發(fā)生異常,計算機程序指針“PC”失控就是常見的故障之一,如果發(fā)生“PC”失控,將導致CPI工作混亂,釀成嚴重的事故。研究了“PC”失控的原因,并指出軟件抗干擾的幾種方法,有效保證單片機系統(tǒng)的正常工作。關(guān)鍵詞單片機“PC”失控抗干擾Abstract Inp racticalin dustrialfi elds,th ereis v ariousin terferencea fectingo perationo fsi nglec hipc omputersy stemsa ndt hec omputersy stems。fac噸random faults飾themselves. It is very common that the severe environment makes the computer systems abnormal. The program counter "PC"gettingo utof co ntorlis on eo fth ec ommonfa ults.If th isoc curs,C PUw ouldb eru nningo utof or deran din torducesse riousan cient.T hec ausesof " PC"geting out of control, studied in this paper and some countermeasures of anti-interference師software are given to ensure single chip computer systemworking properly.Keywords Single。飾computer Porgramc ounter"P C" Anti-interfeernc 在設 計 和 開發(fā)單片機系統(tǒng)時,一般難以周全地預計單片機系統(tǒng)在實際工業(yè)現(xiàn)場中可能遇到的各種干擾和自身的隨機性故障。因此,除了采取防止和抑制干擾的各項措施外,還應該借助于軟件措施克服某些干擾,系統(tǒng)還應具備迅速自行恢復的能力。本文介紹的應對單片機系統(tǒng)PC失控的軟件措施,設計靈活,節(jié)省硬件資源,能保證測控系統(tǒng)長期可靠地運行。MC S- 5 1單片機以其優(yōu)良的性能價格比大量應用于工業(yè)現(xiàn)場測試和控制領(lǐng)域。但是,現(xiàn)場惡劣的環(huán)境有可能使計算機系統(tǒng)發(fā)生異常,計算機程序指針PC失控就是常見的故障之一,一旦發(fā)生PC“走飛”,計算機系統(tǒng)就會出現(xiàn)工作混亂,釀成嚴重的事故。為 了 在 CP 失控時盡量減少由此帶來的不利影響,并盡快使系統(tǒng)恢復正常,需要采取一定的軟件措施和硬件措施。常見的硬件措施有“看門狗”電路。軟件措施設置的前提條件是:①在干擾作用下,微機系統(tǒng)硬件部分不會受到任何損壞,或者損壞部分設置有監(jiān)測狀態(tài)可供查詢;②程序區(qū)不會受到干擾侵害。單片機系統(tǒng)的程序和表格以及重要的參數(shù)均設置在ROM區(qū),不會因干擾的侵人而改變;③ RAM區(qū)中的重要數(shù)據(jù)不會被破壞,或者雖然被破壞,但是可以重新建立。

    標簽: 單片機系統(tǒng) 軟件

    上傳時間: 2013-11-02

    上傳用戶:bhqrd30

  • RS232串行接口電平轉(zhuǎn)接器

    RS-232-C 是PC 機常用的串行接口,由于信號電平值較高,易損壞接口電路的芯片,與TTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL 電路連接。本產(chǎn)品(轉(zhuǎn)接器),可以實現(xiàn)任意電平下(0.8~15)的UART串行接口到RS-232-C/E接口的無源電平轉(zhuǎn)接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特點?傳輸電纜長度如何考慮?答: 計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。 在串行通訊時,要求通訊雙方都采用一個標準接口,使不同 的設備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970 年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、 調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標準。它的全名是“數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通訊設備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標準”該標準規(guī)定采用一個25 個腳的 DB25 連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。(1) 接口的信號內(nèi)容實際上RS-232-C 的25 條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9 條引線。(2) 接口的電氣特性 在RS-232-C 中任何一條信號線的電壓均為負邏輯關(guān)系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +15V 。噪聲容限為2V。即 要求接收器能識別低至+3V 的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1”(3) 接口的物理結(jié)構(gòu) RS-232-C 接口連接器一般使用型號為DB-25 的25 芯插頭座,通常插頭在DCE 端,插座在DTE端. 一些設備與PC 機連接的RS-232-C 接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-9 的9 芯插頭座,傳輸線采用屏蔽雙絞線。(4) 傳輸電纜長度由RS-232C 標準規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應為50 英尺,其實這個4%的碼元畸變是很保守的,在實際應用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實際使用中最大距離會遠超過50 英尺,美國DEC 公司曾規(guī)定允許碼元畸變?yōu)?0%而得出附表2 的實驗結(jié)果。其中1 號電纜為屏蔽電纜,型號為DECP.NO.9107723 內(nèi)有三對雙絞線,每對由22# AWG 組成,其外覆以屏蔽網(wǎng)。2 號電纜為不帶屏蔽的電纜。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特點?答: 由于RS-232-C 接口標準出現(xiàn)較早,難免有不足之處,主要有以下四點:(1) 接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL 電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL 電路連接。(2) 傳輸速率較低,在異步傳輸時,波特率為20Kbps。(3) 接口使用一根信號線和一根信號返回線而構(gòu)成共地的傳輸形式, 這種共地傳輸容易產(chǎn)生共模干擾,所以抗噪聲干擾性弱。(4) 傳輸距離有限,最大傳輸距離標準值為50 英尺,實際上也只能 用在50 米左右。針對RS-232-C 的不足,于是就不斷出現(xiàn)了一些新的接口標準,RS-485 就是其中之一,它具有以下特點:1. RS-485 的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6) V 表示;邏輯“0”以兩線間的電壓差為-(2—6)V 表示。接口信號電平比RS-232-C 降低了,就不易損壞接口電路的芯片, 且該電平與TTL 電平兼容,可方便與TTL 電路連接。2. RS-485 的數(shù)據(jù)最高傳輸速率為10Mbps3. RS-485 接口是采用平衡驅(qū)動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。4. RS-485 接口的最大傳輸距離標準值為4000 英尺,實際上可達 3000 米,另外RS-232-C接口在總線上只允許連接1 個收發(fā)器, 即單站能力。而RS-485 接口在總線上是允許連接多達128 個收發(fā)器。即具有多站能力,這樣用戶可以利用單一的RS-485 接口方便地建立起設備網(wǎng)絡。因RS-485 接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優(yōu)點就使其成為首選的串行接口。 因為RS485 接口組成的半雙工網(wǎng)絡,一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。 RS485 接口連接器采用DB-9 的9 芯插頭座,與智能終端RS485接口采用DB-9(孔),與鍵盤連接的鍵盤接口RS485 采用DB-9(針)。3. 采用RS485 接口時,傳輸電纜的長度如何考慮?答: 在使用RS485 接口時,對于特定的傳輸線經(jīng),從發(fā)生器到負載其數(shù)據(jù)信號傳輸所允許的最大電纜長度是數(shù)據(jù)信號速率的函數(shù),這個 長度數(shù)據(jù)主要是受信號失真及噪聲等影響所限制。下圖所示的最大電纜長度與信號速率的關(guān)系曲線是使用24AWG 銅芯雙絞電話電纜(線 徑為0.51mm),線間旁路電容為52.5PF/M,終端負載電阻為100 歐 時所得出。(曲線引自GB11014-89 附錄A)。由圖中可知,當數(shù)據(jù)信 號速率降低到90Kbit/S 以下時,假定最大允許的信號損失為6dBV 時, 則電纜長度被限制在1200M。實際上,圖中的曲線是很保守的,在實 用時是完全可以取得比它大的電纜長度。 當使用不同線徑的電纜。則取得的最大電纜長度是不相同的。例 如:當數(shù)據(jù)信號速率為600Kbit/S 時,采用24AWG 電纜,由圖可知最 大電纜長度是200m,若采用19AWG 電纜(線徑為0。91mm)則電纜長 度將可以大于200m; 若采用28AWG 電纜(線徑為0。32mm)則電纜 長度只能小于200m。

    標簽: 232 RS 串行接口 電平

    上傳時間: 2013-10-11

    上傳用戶:時代電子小智

  • 初學ModelSimSE時被迷糊了幾天的若干概念[1].unlocked

    初學ModelSimSE時被迷糊了幾天的若干概念[1].unlocked

    標簽: ModelSimSE unlocked

    上傳時間: 2013-11-09

    上傳用戶:neu_liyan

  • 同軸電纜知識介紹

    同軸電纜知識介紹一、概述1、基帶同軸電纜同軸電纜以硬銅線為芯,外包一層絕緣材料。這層絕緣材料用密織的網(wǎng)狀導體環(huán)繞,網(wǎng)外又覆蓋一層保護性材料。有兩種廣泛使用的同軸電纜。一種是50歐姆電纜,用于數(shù)字傳輸,由于多用于基帶傳輸,也叫基帶同軸電纜;另一種是75歐姆電纜,用于模擬傳輸,即下一節(jié)要講的寬帶同軸電纜。這種區(qū)別是由歷史原因造成的,而不是由于技術(shù)原因或生產(chǎn)廠家。同軸電纜的這種結(jié)構(gòu),使它具有高帶寬和極好的噪聲抑制特性。同軸電纜的帶寬取決于電纜長度。1km的電纜可以達到1Gb/s~2Gb/s的數(shù)據(jù)傳輸速率。還可以使用更長的電纜,但是傳輸率要降低或使用中間放大器。目前,同軸電纜大量被光纖取代,但仍廣泛應用于有線電視和某些局域網(wǎng)。2、寬帶同軸電纜使用有限電視電纜進行模擬信號傳輸?shù)耐S電纜系統(tǒng)被稱為寬帶同軸電纜。“寬帶”這個詞來源于電話業(yè),指比4kHz寬的頻帶。然而在計算機網(wǎng)絡中,“寬帶電纜”卻指任何使用模擬信號進行傳輸?shù)碾娎|網(wǎng)。由于寬帶網(wǎng)使用標準的有線電視技術(shù),可使用的頻帶高達300MHz(常常到450MHz);由于使用模擬信號,需要在接口處安放一個電子設備,用以把進入網(wǎng)絡的比特流轉(zhuǎn)換為模擬信號,并把網(wǎng)絡輸出的信號再轉(zhuǎn)換成比特流。寬帶系統(tǒng)又分為多個信道,電視廣播通常占用6MHz信道。每個信道可用于模擬電視、CD質(zhì)量聲音(1.4Mb/s)或3Mb/s的數(shù)字比特流。電視和數(shù)據(jù)可在一條電纜上混合傳輸。寬帶系統(tǒng)和基帶系統(tǒng)的一個主要區(qū)別是:寬帶系統(tǒng)由于覆蓋的區(qū)域廣,因此,需要模擬放大器周期性地加強信號。這些放大器僅能單向傳輸信號,因此,如果計算機間有放大器,則報文分組就不能在計算機間逆向傳輸。為了解決這個問題,人們已經(jīng)開發(fā)了兩種類型的寬帶系統(tǒng):雙纜系統(tǒng)和單纜系統(tǒng)。 1)雙纜系統(tǒng)雙纜系統(tǒng)有兩條并排鋪設的完全相同的電纜。為了傳輸數(shù)據(jù),計算機通過電纜1將數(shù)據(jù)傳輸?shù)诫娎|數(shù)根部的設備,即頂端器(head-end),隨后頂端器通過電纜2將信號沿電纜數(shù)往下傳輸。所有的計算機都通過電纜1發(fā)送,通過電纜2接收。2)單纜系統(tǒng)另一種方案是在每根電纜上為內(nèi)、外通信分配不同的頻段。低頻段用于計算機到頂端器的通信,頂端器收到的信號移到高頻段,向計算機廣播。在子分段(subsplit)系統(tǒng)中,5MHz~30MHz頻段用于內(nèi)向通信,40MHz~300MHz頻段用于外向通信。在中分(midsplit)系統(tǒng)中,內(nèi)向頻段是5MHz~116MHz,而外向頻段為168MHz~300MHz。這一選擇是由歷史的原因造成的。3)寬帶系統(tǒng)有很多種使用方式在一對計算機間可以分配專用的永久性信道;另一些計算機可以通過控制信道,申請建立一個臨時信道,然后切換到申請到的信道頻率;還可以讓所有的計算機共用一條或一組信道。從技術(shù)上講,寬帶電纜在發(fā)送數(shù)字數(shù)據(jù)上比基帶(即單一信道)電纜差,但它的優(yōu)點是已被廣泛安裝。

    標簽: 同軸電纜

    上傳時間: 2013-10-18

    上傳用戶:段璇琮*

  • 傾角度傳感器在水利閘門自動控制中的應用

    傾角度傳感器,應用于水利閘門自動控制系統(tǒng) ——目前,翻板式水閘門控制系統(tǒng)前端設備一般是由翻板水閘、油缸以及固定在油缸上的鋼索式閘門開度儀組成。油缸與閘門上端通過轉(zhuǎn)軸連接,油缸的伸縮帶動閘門的開閉。在油缸的伸縮過程中帶動鋼索伸縮,它們之間成一種函數(shù)關(guān)系,只要測量出鋼索的長度就能算出閘門的角度。 這種鋼索式開度儀運行的問題是: 1.由于傳感鋼索外置于油缸伸縮桿上,當水流中有漂浮物體經(jīng)過閘門時,如樹枝、木板等,沖擊某側(cè)鋼索出現(xiàn)變形,大大影響測量精度。當有較大的漂浮物體沖擊時,鋼索有可能被沖斷。 2.外置鋼索 長時間浸泡在水質(zhì)惡劣的水里,鋼索被銹蝕,經(jīng)過一段時間,發(fā)生鋼索斷線,不能測量閘門油缸伸縮桿長度導致閘門自動控制系統(tǒng)不能正常工作,只能用手動控制,易因左右油缸阻力差異和目測誤差損壞閘門閘板。 3.鋼索在有腐蝕氣體的環(huán)境里,鋼索產(chǎn)生銹蝕影響測量精度且特別是北方地區(qū)冬夏溫差而增大傳感器誤差。 鑒于遠控制系統(tǒng)中的閘門開度儀的不足之處,采用新型非接觸測控制技術(shù),可以彌補原閘門開度儀的不足。系統(tǒng)原理是當閘門在開閉運動過程中,閘門掃過的角度與油缸轉(zhuǎn)動的角度有一定的函數(shù)關(guān)系,測量出油缸的角度即可算出閘門的開閉角度,正是基于此中關(guān)系,可以采用測量油缸角度而遠離閘門的非接觸方法。 采用的傳感器為傾角傳感器,應用于電子數(shù)字水平儀,醫(yī)療,機械調(diào)平,角度測量和監(jiān)視,汽車,起重機械的角度測量,輪船橫滾縱傾測量,軌道尺,電子羅盤傾斜補償,人體姿態(tài)測量等領(lǐng)域。 我們提供的傾角傳感器產(chǎn)品包括: 1、單軸、雙軸(前后和左右的傾斜角度測量) 2、測量范圍:0~±15°~±45°~±90°等 3、電源電壓:9~36VDC(可直接與車上蓄電池直接連接) 4、輸出信號:0~5V、4~20mA、RS232/485、CAN總線、開關(guān)量

    標簽: 傾角度傳感器 中的應用 水利 閘門

    上傳時間: 2013-11-01

    上傳用戶:elinuxzj

主站蜘蛛池模板: 北安市| 专栏| 贞丰县| 交城县| 武定县| 南京市| 即墨市| 治多县| 新兴县| 佛山市| 井陉县| 炉霍县| 嵊州市| 桓台县| 乌拉特后旗| 南丰县| 六枝特区| 岑巩县| 巨鹿县| 聊城市| 黄山市| 互助| 汉源县| 镶黄旗| 扬中市| 澄迈县| 樟树市| 抚松县| 乌拉特中旗| 裕民县| 大新县| 彰化县| 罗江县| 汤阴县| 三台县| 平安县| 乐业县| 郑州市| 盐边县| 新乐市| 石城县|