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

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

DOOM啟示錄

  • 多路電壓采集系統(tǒng)

    多路電壓采集系統(tǒng)一、實驗?zāi)康模保煜た删幊绦酒珹DC0809,8253的工作過程,掌握它們的編程方法。2.加深對所學(xué)知識的理解并學(xué)會應(yīng)用所學(xué)的知識,達(dá)到在應(yīng)用中掌握知識的目的。 二、實驗內(nèi)容與要求1.基本要求通過一個A/D轉(zhuǎn)換器循環(huán)采樣4路模擬電壓,每隔一定時間去采樣一次,一次按順序采樣4路信號。A/D轉(zhuǎn)換器芯片AD0809將采樣到的模擬信號轉(zhuǎn)換為數(shù)字信號,轉(zhuǎn)換完成后,CPU讀取數(shù)據(jù)轉(zhuǎn)換結(jié)果,并將結(jié)果送入外設(shè)即CRT/LED顯示,顯示包括電壓路數(shù)和數(shù)據(jù)值。2. 提高要求 (1) 可以實現(xiàn)循環(huán)采集和選擇采集2種方式。(2)在CRT上繪制電壓變化曲線。 三、實驗報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、總體設(shè)計設(shè)計思路如下:1) 4路模擬電壓信號通過4個電位器提供0-5V的電壓信號。2) 選擇ADC0809芯片作為A/D轉(zhuǎn)換器,4路輸入信號分別接到ADC0809的IN0—IN4通道,每隔一定的時間采樣一次,采完一路采集下一路,4路電壓循環(huán)采集。3) 利用3個LED數(shù)碼管顯示數(shù)據(jù),1個數(shù)碼管用來顯示輸入電壓路數(shù),3個數(shù)碼管用來顯示電壓采樣值。4) 延時由8253定時/計數(shù)器來實現(xiàn)。 五、硬件電路設(shè)計根據(jù)設(shè)計思路,硬件主要利用了微機(jī)實驗平臺上的ADC0809模數(shù)轉(zhuǎn)換器、8253定時/計數(shù)器以及LED顯示輸出等模塊。電路原理圖如下:1.基本接口實驗板部分1) 電位計模塊,4個電位計輸出4路1-5V的電壓信號。2) ADC0809模數(shù)轉(zhuǎn)換器,將4路電壓信號接到IN0-IN3,ADD_A、ADD_B、ADD_C分別接A0、A1、A2,CS_AD接CS0時,4個采樣通道對應(yīng)的地址分別為280H—283H。3) 延時模塊,8253和8255組成延時電路。8255的PA0接到8253的OUT0,程序中查詢計數(shù)是否結(jié)束。硬件電路圖如圖1所示。 圖1 基本實驗板上的電路圖實驗板上的LED顯示部分實驗板上主要用到了LED數(shù)碼管顯示電路,插孔CS1用于數(shù)碼管段碼的輸出選通,插孔CS2用于數(shù)碼管位選信號的輸出選通。電路圖如圖2所示。

    標(biāo)簽: 多路 電壓采集

    上傳時間: 2013-11-06

    上傳用戶:sunchao524

  • 新穎實用的單片機(jī)雙積分A/D轉(zhuǎn)換電路和軟件

    新穎實用的單片機(jī)雙積分A/D轉(zhuǎn)換電路和軟件:摘 要: 通過對雙積分A/ D 轉(zhuǎn)換過程及其原理的分析,結(jié)合8031 單片機(jī)定時計數(shù)器的特點(diǎn),設(shè)計出一種新的A/ D 轉(zhuǎn)換電路. 詳細(xì)介紹了這種轉(zhuǎn)換電路的硬件原理及工作過程,給出了實用的硬件電路與軟件設(shè)計框圖. 通過比較分析,可以看出這種A/ D 轉(zhuǎn)換電路性能價格比較高,軟件編程簡單,并且轉(zhuǎn)換速度和精度優(yōu)于一般的A/ D 轉(zhuǎn)換電路. 這種設(shè)計思路為數(shù)模轉(zhuǎn)換器(A/ D) 的升級提高指出一個明確的方向.關(guān)鍵詞:單片機(jī); 定時/ 計數(shù)器; A/ D 轉(zhuǎn)換; 雙積分  雙積分A/ D 及定時計數(shù)器原理:我們先分析雙積分A/ D 轉(zhuǎn)換的工作原理. 如圖1 所示,積分器先以固定時間T 對待測的輸入模擬電壓Vi 進(jìn)行正向積分,積分電容C 積累的電荷為

    標(biāo)簽: 單片機(jī) 雙積分 轉(zhuǎn)換電路 軟件

    上傳時間: 2014-01-18

    上傳用戶:hewenzhi

  • 單片機(jī)復(fù)位標(biāo)志位的設(shè)置與應(yīng)用研究

    設(shè)置復(fù)位標(biāo)志位便于區(qū)分不同原因引發(fā)的復(fù)位,作為一種新技術(shù)被越來越多的新型單片機(jī)所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導(dǎo)體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內(nèi)部都設(shè)計了專門用于記錄各種復(fù)位標(biāo)志的狀態(tài)寄存器。MC68HC08系列有一個復(fù)位狀態(tài)寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:上電復(fù)位、引腳復(fù)位、看門狗復(fù)位、非法指令復(fù)位、非法地址復(fù)位和欠壓復(fù)位。SPMC65系列有一個系統(tǒng)控制寄存器,負(fù)責(zé)記錄5種復(fù)位標(biāo)志位:上電復(fù)位、外部復(fù)位、看門狗復(fù)位、非法地址復(fù)位和欠壓復(fù)位。51兼容的P89LPC900系列有一個復(fù)位源寄存器,負(fù)責(zé)記錄6種復(fù)位標(biāo)志位:欠壓復(fù)位、上電復(fù)位、外部復(fù)位、看門狗復(fù)位、軟件復(fù)位和UART收到間隔字符復(fù)位(主要作為進(jìn)入ISP監(jiān)控程序的途徑之一)。就連初學(xué)者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設(shè)了一個上電標(biāo)志位POF。1、 復(fù)位標(biāo)志位的設(shè)置方法傳統(tǒng)的80C51單片機(jī)沒有設(shè)計復(fù)位標(biāo)志位的記錄功能,這應(yīng)該說是一種遺憾,那么能否通過一定的技術(shù)手段來彌補(bǔ)這個缺憾呢?這里給廣大80C51單片機(jī)用戶提供一種啟示和引導(dǎo)。實現(xiàn)復(fù)位標(biāo)志位的記錄肯定需要一定的硬件電路支持,而這種電路的設(shè)計不存在固定模式。筆者利用一片MAX813L設(shè)計了一種支撐電路,如圖1所示,僅供讀者參考。

    標(biāo)簽: 單片機(jī)復(fù)位 標(biāo)志位 應(yīng)用研究

    上傳時間: 2013-10-21

    上傳用戶:lhw888

  • 交通燈控制器的設(shè)計與實現(xiàn)

    交通燈控制器的設(shè)計與實現(xiàn)一、實驗?zāi)康?. 了解交通燈管理的基本工作原理。2. 熟悉8253計數(shù)器/定時器、8259A中斷控制器和8255A并行接口的工作方式及應(yīng)用編程。3. 掌握多位LED顯示的方法。 二、 實驗內(nèi)容與要求設(shè)計一個用于十字路口的交通燈控制器。1.基本要求: 1) 東西和南北方向各有一組紅,黃,綠燈用于指揮交通,紅,黃,綠的持續(xù)時間分別為25s,5s,20s。2) 當(dāng)有緊急情況(如消防車)時,兩個方向均為紅燈亮,計時停止,當(dāng)特殊情況結(jié)束后,控制器恢復(fù)原來狀態(tài),正常工作。3) 一組數(shù)碼管,以倒計時方式顯示兩個方向允許通行或禁止通行的時間。2.提高部分:1) 實時修改交通燈的持續(xù)時間。2) 根據(jù)不同時段對主要交通方向的信號進(jìn)行調(diào)整。3) 可以使用LCD顯示提示信息。 三、實驗報告要求 1.設(shè)計目的和內(nèi)容 2.總體設(shè)計 3.硬件設(shè)計:原理圖(接線圖)及簡要說明 4.軟件設(shè)計框圖及程序清單 5.設(shè)計結(jié)果和體會(包括遇到的問題及解決的方法) 四、總體設(shè)計交通燈的工作過程如下:設(shè)十字路口的1、3為南,北方向,2、4為東西方向,初始態(tài)為4個路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車,2個路口的LED數(shù)碼管開始倒計時25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時2、4路口的綠燈亮,2、4路口方向開始通車,2個路口的LED數(shù)碼管重新開始倒計時25秒。延遲20秒時間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過程。當(dāng)有緊急情況時,2個方向都紅燈亮,倒計時停止,車輛禁止通行,當(dāng)緊急情況結(jié)束后,控制器恢復(fù)以前的狀態(tài)繼續(xù)工作。 在設(shè)計中采用6個發(fā)光二極管來模擬2個路口的黃紅綠燈,每個路口用2個數(shù)碼管來顯示通行或禁止剩余的時間。緊急情況用一個單脈沖發(fā)生單元申請中斷來模擬,緊急情況結(jié)束后,再發(fā)一個中斷來恢復(fù)以前的狀態(tài)。 根據(jù)前面的介紹,本設(shè)計硬件由定時模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。定時模塊采用硬件定時和軟件定時相結(jié)合的方法,用8253定時/計數(shù)器定時100ms,再用軟件計時實現(xiàn)所需的定時。發(fā)光二極管模塊由8255控制發(fā)光二極管來實現(xiàn)。數(shù)碼管顯示模塊由實驗平臺上的LED顯示模塊實現(xiàn)。緊急中斷模塊是由單脈沖發(fā)生單元和8279中斷控制器組成。 程序主要是由定時子程序、發(fā)光二極管顯示子程序、數(shù)碼管顯示子程序和中斷服務(wù)程序組成。包括對8253、8255以及8259等可編程器件的編程。 五、硬件設(shè)計 本課題的設(shè)計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內(nèi)部已經(jīng)連接,用戶在使用時只要設(shè)計模塊間電路的連接,因此,硬件電路的設(shè)計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由定時模塊、發(fā)光二極管模塊、數(shù)碼管顯示模塊和緊急中斷模塊組成。 定時模塊是由8253的計數(shù)器0來實現(xiàn)定時100ms。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來控制計數(shù)器的起停。OUT0接8259的IRQ2,定時完成申請中斷,進(jìn)入中斷服務(wù)程序。 發(fā)光二極管顯示模塊由8255輸出來控制發(fā)光二極管的亮滅。8255輸出為低電平時,對應(yīng)的發(fā)光二極管就點(diǎn)亮,否則就熄滅。8255的接口電路如圖2所示。交通燈的對應(yīng)關(guān)系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈  實驗平臺上提供一組六個LED數(shù)碼管。插孔CS1用于數(shù)碼管段選的輸出選通,插孔CS2用于數(shù)碼管位選信號的輸出選通。本設(shè)計用4個數(shù)碼管來倒計時。 緊急中斷模塊是由單脈沖發(fā)生單元和8259中斷控制器,單脈沖發(fā)生單元主要用來請求中斷,然后做出緊急情況處理。

    標(biāo)簽: 交通燈控制器

    上傳時間: 2013-10-07

    上傳用戶:小小小熊

  • 給初學(xué)單片機(jī)的40個實驗(含電路圖和源程序)

    給初學(xué)單片機(jī)的40個實驗(含電路圖和源程序) 1. 閃爍燈 1.  實驗任務(wù) 如圖4.1.1所示:在P1.0端口上接一個發(fā)光二極管L1,使L1在不停地一亮一滅,一亮一滅的時間間隔為0.2秒。 2.  電路原理圖 . 模擬開關(guān)燈 1. 實驗任務(wù) 如圖4.2.1所示,監(jiān)視開關(guān)K1(接在P3.0端口上),用發(fā)光二極管L1(接在單片機(jī)P1.0端口上)顯示開關(guān)狀態(tài),如果開關(guān)合上,L1亮,開關(guān)打開,L1熄滅。 2. 電路原理圖 5. 廣告燈(利用取表方式) 1. 實驗任務(wù) 利用取表的方法,使端口P1做單一燈的變化:左移2次,右移2次,閃爍2次(延時的時間0.2秒)。 2. 電路原理圖

    標(biāo)簽: 單片機(jī) 實驗 電路圖 源程序

    上傳時間: 2013-11-29

    上傳用戶:frank1234

  • 改善基于微控制器的應(yīng)用的瞬態(tài)免疫性能

    家電制造業(yè)的競爭日益激烈,市場調(diào)整壓力越來越大,原始設(shè)備制造商們(OEM)為了面對這一挑戰(zhàn),必須在滿足電磁兼容性的條件下,不斷降低產(chǎn)品的成本。由于強(qiáng)調(diào)成本控制,為防止由電源和信號線的瞬變所產(chǎn)生的電器故障而實施必要的瞬態(tài)免疫保護(hù),對于家電設(shè)計者來說變得更具挑戰(zhàn)性。由于傳統(tǒng)的電源設(shè)計和電磁干擾(EMI)控制措施為節(jié)約成本讓路,家電設(shè)計者必須開發(fā)出新的技術(shù)來滿足不斷調(diào)整的電磁兼容(EMC)需求。本應(yīng)用筆記探討了瞬態(tài)電氣干擾對嵌入式微控制器(MCU)的影響,并提供了切實可行的硬件和軟件設(shè)計技術(shù),這些技術(shù)可以為電快速瞬變(EFT)、靜電放電(ESD)以及其它電源線或信號線的短時瞬變提供低成本的保護(hù)措施。雖然這種探討是主要針對家電制造商,但是也適用于消費(fèi)電子、工業(yè)以及汽車電子方面的應(yīng)用。 低成本的基于MCU 的嵌入式應(yīng)用特別容易受到ESD 和EFT 影響降低性能。即使是運(yùn)行在較低時鐘頻率下的微控制器,通常對快速上升時間瞬變也很敏感。這種敏感性歸咎于所使用的工藝技術(shù)。如今針對低成本8/16位的MCU的半導(dǎo)體工藝技術(shù)所實現(xiàn)的晶體管柵極長度在0.65 μm~0.25 μm范圍內(nèi)。此范圍內(nèi)的柵極長度能產(chǎn)生和響應(yīng)上升時間在次納秒范圍內(nèi)(或超過300 MHz 的等同帶寬)的信號。因此, MCU 能夠響應(yīng)進(jìn)入其引腳的ESD 或EFT 信號。除上述工藝技術(shù)之外, MCU 在ESD 或EFT 事件中的性能還會受到IC 設(shè)計及其封裝、印刷電路板(PCB)的設(shè)計、MCU 上運(yùn)行的軟件、系統(tǒng)設(shè)計以及ESD 或EFT 波形特征的影響。各因素的相對影響(強(qiáng)調(diào)對最大影響的貢獻(xiàn))如圖1 所示。

    標(biāo)簽: 微控制器 瞬態(tài)免疫 性能

    上傳時間: 2013-11-09

    上傳用戶:Jerry_Chow

  • 結(jié)構(gòu)緊湊的Li+電池充電器

    鋰離子電池Li+ 是適合電子產(chǎn)品輕薄小需求的高能量密度高性能電池,被廣泛應(yīng)用于手機(jī),PDA ,筆記本電腦等高端產(chǎn)品中.圖一所示電路提供了一種結(jié)構(gòu)簡單緊湊的單節(jié)Li+電池充電方案圖中墻上適配器為9VDC 800mA 限流型電壓源Anam Friwo 等公司均有相應(yīng)產(chǎn)品MAX1679內(nèi)置充電終止檢測電路和充電過程控制.器插入電池或充電器上電都將啟動一次充電過程一次完整的充電過程包括初始化充電以較小的充電電流為電池充電使電池電壓大于2.5V溫度范圍如果超出2.5 到47.5 則處于等待狀態(tài).快充過程快充開始后MAX1679打開外接的P 溝道場效應(yīng)管快充電流由外部限流型充電電源決定.一旦檢測到電池電壓達(dá)到Li+電池充電終止門限電壓時快充結(jié)束.充電終止門限電壓由電阻RADJ確定,可參考以下公式:

    標(biāo)簽: Li 電池充電器

    上傳時間: 2013-11-14

    上傳用戶:yuanwenjiao

  • 驅(qū)動程序與應(yīng)用程序的接口

    有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個符號鏈;2. 通過輸出到一個接口WDM驅(qū)動程序建議使用輸出到一個接口而不推薦使用創(chuàng)建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創(chuàng)建一個惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個Win32 APIs和設(shè)備對象的分發(fā)函數(shù)之間存在一個映射關(guān)系。獲得對設(shè)備對象訪問的第一步就是打開一個設(shè)備對象的句柄。 用符號鏈打開一個設(shè)備的句柄為了打開一個設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個符號鏈出口,應(yīng)用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個設(shè)備。這個設(shè)備必須有一個符號鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個參數(shù)中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數(shù)不是Windows 98/2000中驅(qū)動程序(.sys文件)的路徑。是到設(shè)備對象的符號鏈。如果使用DriverWizard產(chǎn)生驅(qū)動程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號鏈。這意味著符號鏈名有一個附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個有效的設(shè)備句柄,它就能使用Win32 APIs來產(chǎn)生到設(shè)備對象的IRPs。下面的表顯示了這種對應(yīng)關(guān)系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設(shè)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當(dāng)這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會在打開設(shè)備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導(dǎo)致沒有特權(quán)的用戶企圖打開這個設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲器中,并且創(chuàng)建了一個存儲在IRP中的MDL域。一個設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲區(qū)并沒有被鎖住而且地址只對調(diào)用進(jìn)程有效。驅(qū)動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(gòu)造控制代碼。這個宏的其中一個參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統(tǒng)分配一個單一的緩沖來作為輸入與輸出。驅(qū)動程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級調(diào)用者使用的緩沖中。驅(qū)動程序必須在結(jié)束前存儲拷貝到IRP的Information成員中的數(shù)據(jù)個數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個系統(tǒng)緩沖,這個緩沖驅(qū)動程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對象,驅(qū)動程序?qū)@個對象的訪問通過調(diào)用KIrp::Mdl來實現(xiàn)。對于METHOD_OUT_DIRECT,調(diào)用者必須有對緩沖的寫訪問權(quán)限。注意,對METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調(diào)用進(jìn)程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅(qū)動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標(biāo)簽: 驅(qū)動程序 應(yīng)用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

  • 實驗指導(dǎo)書 (TPC-H實驗臺C語言版)

    《現(xiàn)代微機(jī)原理與接口技術(shù)》實驗指導(dǎo)書 TPC-H實驗臺C語言版 1.實驗臺結(jié)構(gòu)1)I / O 地址譯碼電路如上圖1所示地址空間280H~2BFH共分8條譯碼輸出線:Y0~Y7 其地址分別是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根譯碼輸出線在實驗臺I/O地址處分別由自鎖緊插孔引出供實驗選用(見圖2)。 2) 總線插孔采用“自鎖緊”插座在標(biāo)有“總線”區(qū)引出數(shù)據(jù)總線D7~D0;地址總線A9~A0,讀、寫信號IOR、IOW;中斷請求信號IRQ ;DMA請求信號DRQ1;DMA響應(yīng)信號DACK1 及AEN信號,供學(xué)生搭試各種接口實驗電路使用。3) 時鐘電路如圖-3所示可以輸出1MHZ 2MHZ兩種信號供A/D轉(zhuǎn)換器定時器/計數(shù)器串行接口實驗使用。圖34) 邏輯電平開關(guān)電路如圖-4所示實驗臺右下方設(shè)有8個開關(guān)K7~K0,開關(guān)撥到“1”位置時開關(guān)斷開,輸出高電平。向下打到“0”位置時開關(guān)接通,輸出低電平。電路中串接了保護(hù)電阻使接口電路不直接同+5V 、GND相連,可有效地防止因誤操作誤編程損壞集成電路現(xiàn)象。圖 4 圖 55) L E D 顯示電路如圖-5所示實驗臺上設(shè)有8個發(fā)光二極管及相關(guān)驅(qū)動電路(輸入端L7~L0),當(dāng)輸入信號為“1” 時發(fā)光,為“0”時滅6) 七段數(shù)碼管顯示電路如圖-6所示實驗臺上設(shè)有兩個共陰極七段數(shù)碼管及驅(qū)動電路,段碼為同相驅(qū)動器,位碼為反相驅(qū)動器。從段碼與位碼的驅(qū)動器輸入端(段碼輸入端a、b、c、d、e、f、g、dp,位碼輸入端s1、 s2)輸入不同的代碼即可顯示不同數(shù)字或符號。

    標(biāo)簽: TPC-H 實驗指導(dǎo)書 C語言 實驗臺

    上傳時間: 2013-11-22

    上傳用戶:sssnaxie

  • 自制微型51/AVR通用編程器

    微型51/AVR 編程器套件裝配說明書 請您在動手裝配這個編程器之前,務(wù)必先看完本說明書,避免走彎路。 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.裝配要點(diǎn):先焊接阻容元件,3個集成電路插座(IC2,IC7,IC6)其次是晶振, 全橋,穩(wěn)壓IC 等,然后焊接J2,最后焊接T1,T2,T3三只場效應(yīng)管。焊接場效應(yīng)管時務(wù)必按照以下方法:拔去電烙鐵的電源,使用電烙鐵余溫去焊接三只場效應(yīng)管,否則靜電很容易損壞管子。這是裝配成功的關(guān)鍵。這三只管子有問題,最典型的現(xiàn)象是不能聯(lián)機(jī)。由于電源插座封裝比較特殊,國內(nèi)無法配套上,已改用電源線接線柱,可直接焊接在PCB板焊盤上,如下圖1所示(在下圖中兩個紅色圓圈內(nèi)指示的焊盤),然后在連接到套件中配套的電源插座上。最近有朋友反映用15V交流比較麻煩,還要另外配變壓器。如果要使用12V的直流電,無需將全橋焊上,將兩個接線柱分別焊接在全橋的正負(fù)輸出位置的焊盤上即可,如下圖2所示,藍(lán)色圓圈內(nèi)指示的焊盤,連接電源的時候要注意正負(fù)極,不要接錯了。方形焊盤是正極。40腳ZIF插座焊接前,應(yīng)該將BR1飛線焊接好。注意:由于焊盤比較小,注意焊接溫度,不要高溫長時間反復(fù)焊接,會導(dǎo)致焊盤脫落。

    標(biāo)簽: AVR 51 編程器

    上傳時間: 2013-12-31

    上傳用戶:caiguoqing

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久影视 | 亚洲国产一区二区三区在线播 | 亚洲深夜福利视频| 亚洲福利专区| 欧美电影在线观看完整版| 性欧美xxxx大乳国产app| 一区二区三区国产在线| 国内精品免费在线观看| 国产精品高清在线| 欧美日韩国产麻豆| 欧美激情一区二区三区高清视频| 久久在线免费| 亚洲欧美国产77777| 亚洲日本在线观看| 激情综合网址| 国产精品你懂得| 国产精品高潮呻吟久久| 欧美一二区视频| 国产日韩在线看| 欧美激情一区二区三级高清视频| 久久精品免费看| 欧美一区二区高清在线观看| 欧美亚洲综合另类| 亚洲激情亚洲| 日韩亚洲国产精品| 亚洲精品久久久久久下一站 | 小处雏高清一区二区三区| 中文精品视频一区二区在线观看| 亚洲精选久久| 亚洲精品国偷自产在线99热| 伊人久久婷婷色综合98网| 国产最新精品精品你懂的| 国产亚洲制服色| 国产精品日日摸夜夜添夜夜av| 国产精品入口夜色视频大尺度| 国产精品视频男人的天堂| 国产精品家教| 国产一区欧美| **性色生活片久久毛片| 亚洲韩国青草视频| 91久久夜色精品国产网站| 艳妇臀荡乳欲伦亚洲一区| 亚洲午夜av| 久久精品30| 老司机久久99久久精品播放免费 | 久久久欧美精品| 久久噜噜亚洲综合| 麻豆91精品| 欧美日韩一二三区| 国产精品理论片| 国产日韩av一区二区| 在线观看91精品国产麻豆| 一区二区三区国产在线观看| 欧美在线一二三四区| 欧美激情视频一区二区三区不卡| 狠狠色丁香婷婷综合久久片| 亚洲福利专区| 一区二区日韩免费看| 在线播放日韩| 亚洲在线网站| 欧美电影打屁股sp| 国产一区二区精品丝袜| 亚洲黄色在线观看| 久久高清福利视频| 国产精品成人免费| 亚洲精品五月天| 久久在精品线影院精品国产| 国产精品va在线| 亚洲精品乱码久久久久久日本蜜臀| 欧美中文日韩| 国产精品美女久久久久久久| 亚洲理论电影网| 免费日韩成人| 在线欧美影院| 欧美一区国产在线| 欧美性视频网站| 亚洲精品日韩久久| 欧美成人综合在线| 韩国一区电影| 久久精品噜噜噜成人av农村| 国产美女诱惑一区二区| 亚洲一区在线免费观看| 欧美日韩亚洲高清一区二区| 亚洲国产免费| 欧美+日本+国产+在线a∨观看| 国产精品主播| 亚洲夜晚福利在线观看| 欧美日韩一区二区在线观看| 亚洲精品久久久久久下一站| 欧美二区在线播放| 91久久线看在观草草青青| 久久久免费精品| 在线观看三级视频欧美| 老牛影视一区二区三区| 狠狠色丁香婷婷综合| 久久精品在线免费观看| 国模大胆一区二区三区| 久久青草福利网站| 亚洲大胆av| 欧美高清自拍一区| 亚洲精品在线视频观看| 欧美激情第五页| 亚洲免费观看高清在线观看| 欧美日韩三级视频| 在线一区欧美| 国产精品青草综合久久久久99| 亚洲欧美国产一区二区三区| 国产欧美日韩视频一区二区| 欧美一区二区三区四区在线观看地址 | 国产精品99久久99久久久二8 | 欧美激情久久久久| 亚洲人成网站色ww在线| 欧美日韩亚洲网| 日韩视频精品在线| 国产精品久久久久久久久久免费| 亚洲在线电影| 国内伊人久久久久久网站视频| 久久在精品线影院精品国产| 亚洲日韩欧美视频| 欧美特黄视频| 久久精品一区二区三区四区 | 一区二区三区四区五区视频 | 国产亚洲欧美一区二区三区| 精品不卡一区| 欧美国产高潮xxxx1819| 欧美三日本三级少妇三2023| 欧美国产日韩一区二区| 欧美性淫爽ww久久久久无| 国产精品免费看久久久香蕉| 亚洲一区二区三区精品动漫| 国产精品香蕉在线观看| 国产日韩欧美中文在线播放| 久久人人爽人人爽爽久久| 影音先锋在线一区| 欧美国产日本| 亚洲自拍电影| 国内一区二区三区| 欧美日韩免费精品| 欧美自拍丝袜亚洲| 亚洲精品日韩欧美| 国产精品国产福利国产秒拍 | 中文亚洲视频在线| 久久久久久一区二区三区| 亚洲黑丝一区二区| aa级大片欧美| 亚洲乱码国产乱码精品精可以看| 国产一区二区中文| 国产精品日日摸夜夜摸av| 久久九九国产精品怡红院| 亚洲激情偷拍| 久久久精品久久久久| 国产欧美日韩亚洲| 久热精品在线| 亚洲精品社区| 欧美日韩国产综合视频在线| 亚洲精品国产精品国自产在线 | 久久久国产午夜精品| 国产一区激情| 欧美日本亚洲韩国国产| 久久乐国产精品| 亚洲一区二区动漫| 亚洲欧洲日韩综合二区| 精品粉嫩aⅴ一区二区三区四区| 国产精品扒开腿做爽爽爽软件| 欧美 亚欧 日韩视频在线| 欧美一区免费视频| 亚洲综合精品四区| 亚洲精品四区| 在线精品国产欧美| 国内精品一区二区三区| 国产精品一区二区三区成人| 欧美日韩国产精品一区| 欧美伦理视频网站| 欧美黄在线观看| 欧美国产日韩二区| 欧美成人一二三| 欧美国产精品v| 免费成人黄色av| 免费观看成人鲁鲁鲁鲁鲁视频| 久久免费精品视频| 久久久久久久综合日本| 久久成人一区二区| 欧美专区18| 久久久久久高潮国产精品视| 久久久久久久高潮| 久久中文精品| 欧美成人中文字幕| 欧美大尺度在线观看| 欧美国产日韩精品| 欧美日韩伦理在线免费| 欧美午夜精品理论片a级大开眼界| 欧美日韩你懂的| 国产精品成人久久久久| 国产欧美一区二区色老头| 国产欧美日韩另类视频免费观看 | 亚洲一区二区在线播放| 亚洲图片在区色| 性欧美1819sex性高清| 欧美在线观看网址综合| 久久精品视频在线播放|