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

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

的話就男人房天下古今如何

  • 基于PC機的電子琴設計

    基于PC機的電子琴設計 一、實驗目的1.掌握利用pc機揚聲器發出聲音的方法。2.學習利用系統功能調用從鍵盤上讀取字符的方法。 二、實驗內容與要求利用PC機和揚聲器實現簡易電子琴的功能。 1.基本要求(1)電子琴功能,編寫程序,程序運行時使pc機成為一架可彈奏的“鋼琴”。當按下PC機鍵盤數字鍵1-8時,依次發出1,2,3,4,5,6,7,i八個音調。(2)音樂盒功能,內部存儲至少2首以上的樂曲,根據菜單選擇播放。2.提高要求(1)使一組放光二極管隨音調變化而改變,實現音樂彩燈  (2)能夠實現高、中、低音的選擇。  (3)能夠存儲彈奏的內容,進行回放。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單 5.設計結果和體會(包括遇到的問題及解決的方法) 四、設計原理要使揚聲器發出不同的音調,就得輸入不同頻率的波形。通過給8253定時/計數器裝入不同的計數值,可以使其輸出不同頻率的方波。經過放大器的放大作用,便可驅動揚聲器發出不同的音調,只要插入一段延時程序之后,再將揚聲器切斷,音調的聲音就可以持續一端時間。通過計算機的不同按鍵輸出不同的音調,需要使用系統調用功能以接收鍵入字符,并且要建立一張表,使鍵入字符與頻率構成一個對應關系。

    標簽: PC機 電子琴

    上傳時間: 2013-10-16

    上傳用戶:xlcky

  • 驅動程序與應用程序的接口

    有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法: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;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。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 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數: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,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示: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 . . .   } }

    標簽: 驅動程序 應用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

  • 分時操作系統思想在單片機編程中的實現

    作為嵌入式系統主控單元——單片機,其軟件往往是一個微觀的實時操作系統,且大部分是為某種應用而專門設計的。系統程序有實時過程控制或實時信息處理的能力,要求能夠及時響應隨機發生的外部事件并對該事件做出快速處理。而分時操作系統卻是把CPU的時間劃分成長短基本相同的時間區間,即“時間片”,通過操作系統的管理,把這些時間片依次輪流地分配給各個用戶使用。如果某個作業在時間片結束之前,整個任務還沒有完成,那么該作業就被暫停下來,放棄CPU,等待下一輪循環再繼續做。此時CPU又分配給另一個作業去使用。由于計算機的處理速度很快,只要時間片的間隔取得適當,那么一個用戶作業從用完分配給它的一個時間片到獲得下一個CPU時間片,中間有所“停頓”;但用戶察覺不出來,好像整個系統全由它“獨占”似的。分時操作系統主要具有以下3個特點:① 多路性。用戶通過各自的終端,可以同時使用一個系統。② 及時性。用戶提出的各種要求,能在較短或可容忍的時間內得到響應和處理。③ 獨占性。在分時系統中,雖然允許多個用戶同時使用一個CPU,但用戶之間操作獨立,互不干涉。分時操作系統主要是針對小型機以上的計算機提出的。一般而言,微處理器(MPU)驅動的通用計算機,系統設計人員對每一臺的最終具體應用都是不得而知的,因此,在價格允許的情況下,硬件設計務求CPU時鐘盡可能的快;計算及管理能力盡可能的強;程序和數據存儲器的容量盡可能的大;各種計算機外設的配接盡可能的詳盡等等,特別是采用分時操作系統的機器,因為是一機多用戶的管理系統,它的要求就更高了。相對而言,微控制器(MCU)俗稱單片機,是一個單片集成系統,它將這些或那些計算機所需的外設,諸如程序和數據存儲器、端口以及有關的子系統集成到一片芯片上。從硬件上,單片機系統與采用分時操作系統的計算機系統是無法比擬的。但是,在單片機系統的設計中,設計人員對其最終具體應用是一清二楚的,它的使用環境相對是單一固定的。所控制的過程的可預見性為分時系統思想的實現提供了可能性。具體一點就是:雖然單片機的CPU速度較低,但其任務是可預見的,這樣作業調度將變得簡單而無須占用很多的CPU時間,同時“時間片”的設計是具體而有針對性的,因此可變得很有效。一、單片機分時系統的設計單片機系統往往是一個嵌入式的控制系統,因此目前絕大部分的單片機系統還是一實時系統。能夠真正體現分時系統的設計思想的往往是那些多路重復檢測控制系統。即便是在這些多路重復檢測控制系統中,它的實時性也是非常重要的。也就是說,在單片機系統中應用了分時系統設計思想,但其及時性應首先進行考慮。

    標簽: 分時操作系統 中的實現 單片機編程

    上傳時間: 2013-12-23

    上傳用戶:佳期如夢

  • 基于變頻調速的水平連鑄機拉坯輥速度控制系統

    基于變頻調速的水平連鑄機拉坯輥速度控制系統Frequency Inverter Based Drawing RollerS peedC ontrolSy stem ofHorizontal Continuous Casting MachineA 偉劉沖旅巴(南 華 大 學電氣工程學院,衡陽421001)摘要拉坯輥速度控制是水平連鑄工藝的關鍵技術之一,采用變頻器實現水平連鑄機拉坯輥速度程序控制,由信號發生裝置給變頻器提供程控信號?,F場應用表明該控制系統速度響應快,控制精度高,滿足了水平連鑄生產的需要。關鍵詞水平連鑄拉坯輥速度程序控制變頻器Absh'act Speedc ontorlof dr awingor leris on eo fth ek eyte chnologiesfo rho rizontalco ntinuousca stingm achine.Fo rth ispu rpose,fr equencyco nverterisad optedfo rdr awingor lersp eedp rogrammablec ontorlof ho rizontalco ntinuousca stingm achine,th ep rogrammableco ntorlsi gnalto fr equencyc onverteris provided場a signal generator. The results of application show that the response of system is rapid and the control accuracy is high enough to meet thedemand of production of horizontal continuous casting.Keywords Horizontalco ntinuousc asting Drawingor ler Speedp rogrammablec ontrol Ferquencyin verter 隨著 現 代 化工業生產對鋼材需求量的日益增加,連鑄生產能力已經成為衡量一個國家冶金工業發展水平的重要指標之一。近十幾年來,水平連鑄由于具有投資少、鑄坯直、見效快等多方面的優點,國內許多鋼鐵企業利用水平連鑄機來澆鑄特種合金鋼,發揮了其獨特的優勢并取得了較好的經濟效益〔1,2)0采用 水 平 連鑄機澆鑄特種合金鋼時,由于拉坯機是水平連鑄系統中的關鍵設備之一,拉坯機及其控制性能的好壞直接影響著連鑄坯的質量,因此,連鑄的拉坯技術便成為整個水平連鑄技術的核心。由于鋼的冶煉過程是在高溫下進行的,鋼水溫度的變化又容易影響鑄坯的質量和成材率,因此,如何能在高溫環境下控制好與鑄坯速度相關的參數(拉、推程量,中停時間和拉坯頻率等)對于確保連鑄作業的進一步高效化,延長系統的連續作業時間十分關鍵。因此,拉坯輥速度控制技術是連鑄生產過程控制領域中的關鍵技術之- [31

    標簽: 變頻調速 水平連鑄機 速度控制

    上傳時間: 2013-10-12

    上傳用戶:gxy670166755

  • 三相SPWM波在TMS320F28335中的實現

    載波相移正弦脈寬調制(SPWM)技術是一種適用于大功率電力開關變換裝置的高性能開關調制策略,在有源電力濾波器中有良好的應用前景。本文介紹了如何利用高性能數字信號處理器TMS320F28335的片內外設事件管理器(EV)模塊產生三相SPWM波,給出了程序流程圖及關鍵程序源碼。該方法采用不對稱規則采樣算法,參數計算主要采用查表法,計算量小,實時性高。在工程實踐中表明,該方法既能滿足控制精度要求,又能滿足實時性要求,可以很好地控制逆變電源的輸出。

    標簽: F28335 28335 SPWM 320F

    上傳時間: 2013-11-05

    上傳用戶:tzrdcaabb

  • DSP的CMD文件寫法綜述

      CMD 它是用來分配rom和ram空間用的,告訴鏈接程序怎樣計算地址和分配空間。不同的芯片就有不同大小的rom和ram.放用戶程序的地方也不盡相同。所以要根據芯片進行修改.分兩部分.MEMORY和SECTIONS。MEMORY{ PAGE 0 .......... PAGE 1.........} SECTIONS{SECTIONS{.vectors ..................reset ................................. }

    標簽: DSP CMD

    上傳時間: 2013-10-19

    上傳用戶:thuyenvinh

  • FPGA連接DDR2的問題討論

    我采用XC4VSX35或XC4VLX25 FPGA來連接DDR2 SODIMM和元件。SODIMM內存條選用MT16HTS51264HY-667(4GB),分立器件選用8片MT47H512M8。設計目標:當客戶使用內存條時,8片分立器件不焊接;當使用直接貼片分立內存顆粒時,SODIMM內存條不安裝。請問專家:1、在設計中,先用Xilinx MIG工具生成DDR2的Core后,管腳約束文件是否還可更改?若能更改,則必須要滿足什么條件下更改?生成的約束文件中,ADDR,data之間是否能調換? 2、對DDR2數據、地址和控制線路的匹配要注意些什么?通過兩只100歐的電阻分別連接到1.8V和GND進行匹配 和 通過一只49.9歐的電阻連接到0.9V進行匹配,哪種匹配方式更好? 3、V4中,PCB LayOut時,DDR2線路阻抗單端為50歐,差分為100歐?Hyperlynx仿真時,那些參數必須要達到那些指標DDR2-667才能正常工作? 4、 若使用DDR2-667的SODIMM內存條,能否降速使用?比如降速到DDR2-400或更低頻率使用? 5、板卡上有SODIMM的插座,又有8片內存顆粒,則物理上兩部分是連在一起的,若實際使用時,只安裝內存條或只安裝8片內存顆粒,是否會造成信號完成性的影響?若有影響,如何控制? 6、SODIMM內存條(max:4GB)能否和8片分立器件(max:4GB)組合同時使用,構成一個(max:8GB)的DDR2單元?若能,則布線阻抗和FPGA的DCI如何控制?地址和控制線的TOP圖應該怎樣? 7、DDR2和FPGA(VREF pin)的參考電壓0.9V的實際工作電流有多大?工作時候,DDR2芯片是否很燙,一般如何考慮散熱? 8、由于多層板疊層的問題,可能頂層和中間層的銅箔不一樣后,中間的夾層后度不一樣時,也可能造成阻抗的不同。請教DDR2-667的SODIMM在8層板上的推進疊層?

    標簽: FPGA DDR2 連接 問題討論

    上傳時間: 2013-10-12

    上傳用戶:han_zh

  • OFDM系統中降低峰均功率比的研究

    正交頻分復用技術(Orthogonal Frequency Division Multiplexing, OFDM)非常適合高速通信系統,但存在高峰均功率比(PAPR)的問題。對OFDM系統中如何降低PARR的問題進行了研究,討論了降低PAPR的主要方法,重點分析了選擇性映射法(SLM),并在此基礎上提出了一種基于預編碼矩陣的改進算法,最后通過matlab進行了算法仿真,仿真結果表明,改進算法在使得OFDM系統在降低峰均功率比的性能上得到了進一步的改善。

    標簽: OFDM 峰均功率比

    上傳時間: 2014-01-23

    上傳用戶:zwei41

  • 基于DynamipsGUI的雙出口網絡綜合實驗設計

    驗教學對學生加深理解理論知識幫助很大。利用DynamipsGUI搭建雙出口網絡環境,模擬了在雙出口網絡中從某一出口發生故障到恢復正常這個過程,加深了學生對VRRP協議 工作原理的理解,使學生學習到如何將所學的理論知識運用到網絡工程中來解決實際問題,教學效果明顯。

    標簽: DynamipsGUI 網絡 實驗

    上傳時間: 2013-10-13

    上傳用戶:hgmmyl

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

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

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

    上傳時間: 2013-11-01

    上傳用戶:elinuxzj

主站蜘蛛池模板: 渝北区| 无极县| 雅江县| 邮箱| 麻江县| 三亚市| 沁水县| 正蓝旗| 上杭县| 濮阳县| 玉屏| 武穴市| 普陀区| 六盘水市| 酉阳| 明水县| 洪泽县| 民勤县| 水城县| 沭阳县| 繁昌县| 昌邑市| 石首市| 合水县| 凤庆县| 容城县| 铁岭市| 长岛县| 巴彦淖尔市| 漳平市| 惠东县| 青海省| 临沂市| 绩溪县| 马边| 塘沽区| 渭南市| 万山特区| 定襄县| 彝良县| 绥芬河市|