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

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

人機<b>接口</b>

  • ADS-B接收機DIY全套資料

    制作基于PIC Mcu 的ADS-B接收機的全套資料,包括SCH、PCB、源碼和PC端軟件。

    標簽: ADS-B DIY 接收機

    上傳時間: 2013-04-24

    上傳用戶:cx111111

  • 2012TI杯陜西賽題B題--頻率補償電路

    2012TI杯陜西賽題H題,2012TI杯陜西賽題B題--頻率補償電路.

    標簽: 2012 TI 頻率補償電路

    上傳時間: 2013-10-07

    上傳用戶:ysystc670

  • MCS-51系列單片機實用接口技術

    本書全面、系統地介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。   內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打印機和顯示器接口及設計實例;模擬輸入通道接口技術;A/D、D/A、接口技術及在控制系統中的應用設計;V/F轉換器接口技術、串行通訊接口技術以及其它與應用系統設計有關的實用技術等。   本書是為滿足廣大科技工作者從事單片機應用系統軟件、硬件設計的需要而編寫的,具有內容新穎、實用、全面的特色。所有的接口設計都包括詳細的設計步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設計實例都是作者多年來從事單片機應用和開發工作的經驗總結,實用性和工程性較強,尤其是對應用系統中必備的鍵盤、顯示器、打印機、A/D、D/A通訊接口設計、模擬信號處理及開發系統應用舉例甚多,目的是讓將要開始和正在從事單片機應用開發的科研人員根據自己的實際需要來選擇應用,一書在手即可基本完成單片機應用系統的開發工作。   本書主要面向從事單片機應用開發工作的廣大工程技術人員,也可作為大專院校有關專業的教材或教學參考書。 第一章MCS-51系列單片機組成原理   1.1概述   1.1.1單片機主流產品系列   1.1.2單片機芯片技術的發展概況   1.1.3單片機的應用領域   1.2MCS-51單片機硬件結構   1.2.1MCS-51單片機硬件結構的特點   1.2.2MCS-51單片機的引腳描述及片外總線結構   1.2.3MCS-51片內總體結構   1.2.4MCS-51單片機中央處理器及其振蕩器、時鐘電路和CPU時序   1.2.5MCS-51單片機的復位狀態及幾種復位電路設計   1.2.6存儲器、特殊功能寄存器及位地址空間   1.2.7輸入/輸出(I/O)口   1.3MCS-51單片機指令系統分析   1.3.1指令系統的尋址方式   1.3.2指令系統的使用要點   1.3.3指令系統分類總結   1.4串行接口與定時/計數器   1.4.1串行接口簡介   1.4.2定時器/計數器的結構   1.4.3定時器/計數器的四種工作模式   1.4.4定時器/計數器對輸入信號的要求   1.4.5定時器/計數器的編程和應用   1.5中斷系統   1.5.1中斷請求源   1.5.2中斷控制   1.5.3中斷的響應過程   1.5.4外部中斷的響應時間   1.5.5外部中斷方式的選擇   第二章MCS-51單片機系統擴展   2.1概述   2.2程序存貯器的擴展   2.2.1外部程序存貯器的擴展原理及時序   2.2.2地址鎖存器   2.2.3EPROM擴展電路   2.2.4EEPROM擴展電路   2.3外部數據存貯器的擴展   2.3.1外部數據存貯器的擴展方法及時序   2.3.2靜態RAM擴展   2.3.3動態RAM擴展   2.4外部I/O口的擴展   2.4.1I/O口擴展概述   2.4.2I/O口地址譯碼技術   2.4.38255A可編程并行I/O擴展接口   2.4.48155/8156可編程并行I/O擴展接口   2.4.58243并行I/O擴展接口   2.4.6用TTL芯片擴展I/O接口   2.4.7用串行口擴展I/O接口   2.4.8中斷系統擴展   第三章MCS-51單片機應用系統的開發   3.1單片機應用系統的設計   3.1.1設計前的準備工作   3.1.2應用系統的硬件設計   3.1.3應用系統的軟件設計   3.1.4應用系統的抗干擾設計   3.2單片機應用系統的開發   3.2.1仿真系統的功能   3.2.2開發手段的選擇   3.2.3應用系統的開發過程   3.3SICE—IV型單片機仿真器   3.3.1SICE-IV仿真器系統結構   3.3.2SICE-IV的仿真特性和軟件功能   3.3.3SICE-IV與主機和終端的連接使用方法   3.4KHK-ICE-51單片機仿真開發系統   3.4.1KHK—ICE-51仿真器系統結構   3.4.2仿真器系統功能特點   3.4.3KHK-ICE-51仿真系統的安裝及其使用   3.5單片機應用系統的調試   3.5.1應用系統聯機前的靜態調試   3.5.2外部數據存儲器RAM的測試   3.5.3程序存儲器的調試   3.5.4輸出功能模塊調試   3.5.5可編程I/O接口芯片的調試   3.5.6外部中斷和定時器中斷的調試   3.6用戶程序的編輯、匯編、調試、固化及運行   3.6.1源程序的編輯   3.6.2源程序的匯編   3.6.3用戶程序的調試   3.6.4用戶程序的固化   3.6.5用戶程序的運行   第四章鍵盤及其接口技術   4.1鍵盤輸入應解決的問題   4.1.1鍵盤輸入的特點   4.1.2按鍵的確認   4.1.3消除按鍵抖動的措施   4.2獨立式按鍵接口設計   4.3矩陣式鍵盤接口設計   4.3.1矩陣鍵盤工作原理   4.3.2按鍵的識別方法   4.3.3鍵盤的編碼   4.3.4鍵盤工作方式   4.3.5矩陣鍵盤接口實例及編程要點   4.3.6雙功能及多功能鍵設計   4.3.7鍵盤處理中的特殊問題一重鍵和連擊   4.48279鍵盤、顯示器接口芯片及應用   4.4.18279的組成和基本工作原理   4.4.28279管腳、引線及功能說明   4.4.38279編程   4.4.48279鍵盤接口實例   4.5功能開關及撥碼盤接口設計   第五章顯示器接口設計   5.1LED顯示器   5.1.1LED段顯示器結構與原理   5.1.2LED顯示器及顯示方式   5.1.3LED顯示器接口實例   5.1.4LED顯示器驅動技術   5.2單片機應用系統中典型鍵盤、顯示接口技術   5.2.1用8255和串行口擴展的鍵盤、顯示器電路   5.2.2由鎖存器組成的鍵盤、顯示器接口電路   5.2.3由8155構成的鍵盤、顯示器接口電路   5.2.4用8279組成的顯示器實例   5.3液晶顯示LCD   5.3.1LCD的基本結構及工作原理   5.3.2LCD的驅動方式   5.3.34位LCD靜態驅動芯片ICM7211系列簡介   5.3.4點陣式液晶顯示控制器HD61830介紹   5.3.5點陣式液晶顯示模塊介紹   5.4熒光管顯示   5.5LED大屏幕顯示器   第六章打印機接口設計   6.1打印機簡介   6.1.1打印機的基本知識   6.1.2打印機的電路構成   6.1.3打印機的接口信號   6.1.4打印機的打印命令   6.2TPμP-40A微打與單片機接口設計   6.2.1TPμP系列微型打印機簡介   6.2.2TPμP-40A打印功能及接口信號   6.2.3TPμP-40A工作方式及打印命令   6.2.48031與TPμP-40A的接口   6.2.5打印編程實例   6.3XLF微型打印機與單片機接口設計   6.3.1XLF微打簡介   6.3.2XLF微打接口信號及與8031接口設計   6.3.3XLF微打控制命令   6.3.4打印機編程   6.4標準寬行打印機與8031接口設計   6.4.1TH3070接口引腳信號及時序   6.4.2與8031的簡單接口   6.4.3通過打印機適配器完成8031與打印機的接口   6.4.4對打印機的編程   第七章模擬輸入通道接口技術   7.1傳感器   7.1.1傳感器的分類   7.1.2溫度傳感器   7.1.3光電傳感器   7.1.4濕度傳感器   7.1.5其他傳感器   7.2模擬信號放大技術   7.2.1基本放大器電路   7.2.2集成運算放大器   7.2.3常用運算放大器及應用舉例   7.2.4測量放大器   7.2.5程控增益放大器   7.2.6隔離放大器   7.3多通道模擬信號輸入技術   7.3.1多路開關   7.3.2常用多路開關   7.3.3模擬多路開關   7.3.4常用模擬多路開關   7.3.5多路模擬開關應用舉例   7.3.6多路開關的選用   7.4采樣/保持電路設計   7.4.1采樣/保持原理   7.4.2集成采樣/保持器   7.4.3常用集成采樣/保持器   7.4.4采樣保持器的應用舉例   7.5有源濾波器的設計   7.5.1濾波器分類   7.5.2有源濾波器的設計   7.5.3常用有源濾波器設計舉例   7.5.4集成有源濾波器   第八章D/A轉換器與MCS-51單片機的接口設計與實踐   8.1D/A轉換器的基本原理及主要技術指標   8.1.1D/A轉換器的基本原理與分類   8.1.2D/A轉換器的主要技術指標   8.2D/A轉換器件選擇指南   8.2.1集成D/A轉換芯片介紹   8.2.2D/A轉換器的選擇要點及選擇指南表   8.2.3D/A轉換器接口設計的幾點實用技術   8.38位D/A轉換器DAC080/0831/0832與MCS-51單片機的接口設計   8.3.1DAC0830/0831/0832的應用特性與引腳功能   8.3.2DAC0830/0831/0832與8031單片機的接口設計   8.3.3DAC0830/0831/0832的調試說明   8.3.4DAC0830/0831/0832應用舉例   8.48位D/A轉換器AD558與MCS-51單片機的接口設計   8.4.1AD558的應用特性與引腳功能   8.4.2AD558與8031單片機的接口及調試說明   8.4.38位D/A轉換器DAC0800系列與8031單片機的接口   8.510位D/A轉換器AD7522與MCS-51的硬件接口設計   8.5.1AD7522的應用特性及引腳功能   8.5.2AD7522與8031單片機的接口設計   8.610位D/A轉換器AD7520/7530/7533與MCS一51單片機的接口設計   8.6.1AD7520/7530/7533的應用特性與引腳功能   8.6.2AD7520系列與8031單片機的接口   8.6.3DAC1020/DAC1220/AD7521系列D/A轉換器接口設計   8.712位D/A轉換器DAC1208/1209/1210與MCS-51單片機的接口設計   8.7.1DAC1208/1209/1210的內部結構與引腳功能   8.7.2DAC1208/1209/1210與8031單片機的接口設計   8.7.312位D/A轉換器DAC1230/1231/1232的應用設計說明   8.7.412位D/A轉換器AD7542與8031單片機的接口設計   8.812位串行DAC-AD7543與MCS-51單片機的接口設計   8.8.1AD7543的應用特性與引腳功能   8.8.2AD7543與8031單片機的接口設計   8.914位D/A轉換器AD75335與MCS-51單片機的接口設計   8.9.1AD8635的內部結構與引腳功能   8.9.2AD7535與8031單片機的接口設計   8.1016位D/A轉換器AD1147/1148與MCS-51單片機的接口設計   8.10.1AD1147/AD1148的內部結構及引腳功能   8.10.2AD1147/AD1148與8031單片機的接口設計   8.10.3AD1147/AD1148接口電路的應用調試說明   8.10.416位D/A轉換器AD1145與8031單片機的接口設計   第九章A/D轉換器與MCS-51單片機的接口設計與實踐   9.1A/D轉換器的基本原理及主要技術指標   9.1.1A/D轉換器的基本原理與分類   9.1.2A/D轉換器的主要技術指標   9.2面對課題如何選擇A/D轉換器件   9.2.1常用A/D轉換器簡介   9.2.2A/D轉換器的選擇要點及應用設計的幾點實用技術   9.38位D/A轉換器ADC0801/0802/0803/0804/0805與MCS-51單片機的接口設計   9.3.1ADC0801~ADC0805芯片的引腳功能及應用特性   9.3.2ADC0801~ADC0805與8031單片機的接口設計   9.48路8位A/D轉換器ADC0808/0809與MCS一51單片機的接口設計   9.4.1ADC0808/0809的內部結構及引腳功能   9.4.2ADC0808/0809與8031單片機的接口設計   9.4.3接口電路設計中的幾點注意事項   9.4.416路8位A/D轉換器ADC0816/0817與MCS-51單片機的接口設計   9.510位A/D轉換器AD571與MCS-51單片機的接口設計   9.5.1AD571芯片的引腳功能及應用特性   9.5.2AD571與8031單片機的接口   9.5.38位A/D轉換器AD570與8031單片機的硬件接口   9.612位A/D轉換器ADC1210/1211與MCS-51單片機的接口設計   9.6.1ADC1210/1211的引腳功能與應用特性   9.6.2ADC1210/1211與8031單片機的硬件接口   9.6.3硬件接口電路的設計要點及幾點說明   9.712位A/D轉換器AD574A/1374/1674A與MCS-51單片機的接口設計   9.7.1AD574A的內部結構與引腳功能   9.7.2AD574A的應用特性及校準   9.7.3AD574A與8031單片機的硬件接口設計   9.7.4AD574A的應用調試說明   9.7.5AD674A/AD1674與8031單片機的接口設計   9.8高速12位A/D轉換器AD578/AD678/AD1678與MCS—51單片機的接口設計   9.8.1AD578的應用特性與引腳功能   9.8.2AD578高速A/D轉換器與8031單片機的接口設計   9.8.3AD578高速A/D轉換器的應用調試說明   9.8.4AD678/AD1678采樣A/D轉換器與8031單片機的接口設計   9.914位A/D轉換器AD679/1679與MCS-51單片機的接口設計   9.9.1AD679/AD1679的應用特性及引腳功能   9.9.2AD679/1679與8031單片機的接口設計   9.9.3AD679/1679的調試說明   9.1016位ADC-ADC1143與MCS-51單片機的接口設計   9.10.1ADC1143的應用特性及引腳功能   9.10.2ADC1143與8031單片機的接口設計   9.113位半積分A/D轉換器5G14433與MCS-51單片機的接口設計   9.11.15G14433的內部結構及引腳功能   9.11.25G14433的外部電路連接與元件參數選擇   9.11.35G14433與8031單片機的接口設計   9.11.45G14433的應用舉例   9.124位半積分A/D轉換器ICL7135與MCS—51單片機的接口設計   9.12.1ICL7135的內部結構及芯片引腳功能   9.12.2ICL7135的外部電路連接與元件參數選擇   9.12.3ICL7135與8031單片機的硬件接口設計   9.124ICL7135的應用舉例   9.1312位雙積分A/D轉換器ICL7109與MCS—51單片機的接口設計   9.13.1ICL7109的內部結構與芯片引腳功能   9.13.2ICL7109的外部電路連接與元件參數選擇   9.13.3ICL7109與8031單片機的硬件接口設計   9.1416位積分型ADC一ICL7104與MCS-51單片機的接口設計   9.14.1ICL7104的主要應用特性及引腳功能   9.14.2ICL7104與8031單片機的接口設計   9.14.3其它積分型A/D轉換器簡介   第十章V/F轉換器接口技術   10.1V/F轉換的特點及應用環境   10.2V/F轉換原理及用V/F轉換器實現A/D轉換的方法   10.2.1V/F轉換原理   10.2.2用V/F轉換器實現A/D轉換的方法   10.3常用V/F轉換器簡介   10.3.1VFC32   10.3.2LMX31系列V/F轉換器   10.3.3AD650   10.3.4AD651   10.4V/F轉換應用系統中的通道結構   10.5LM331應用實例   10.5.1線路原理   10.5.2軟件設計   10.6AD650應用實例   10.6.1AD650外圍電路設計   10.6.2定時/計數器(8253—5簡介)   10.6.3線路原理   10.6.4軟件設計   第十一章串行通訊接口技術   11.1串行通訊基礎   11.1.1異步通訊和同步通訊   11.1.2波特率和接收/發送時鐘   11.1.3單工、半雙工、全雙工通訊方式   11.14信號的調制與解調   11.1.5通訊數據的差錯檢測和校正   11.1.6串行通訊接口電路UART、USRT和USART   11.2串行通訊總線標準及其接口   11.2.1串行通訊接口   11.2.2RS-232C接口   11.2.3RS-449、RS-422、RS-423及RS485   11.2.420mA電流環路串行接口   11.3MCS-51單片機串行接口   11.3.1串行口的結構   11.3.2串行接口的工作方式   11.3.3串行通訊中波特率設置   11.4MCS-51單片機串行接口通訊技術   11.4.1單片機雙機通訊技術   11.4.2單片機多機通訊技術   11.5IBMPC系列機與單片機的通訊技術   11.5.1異步通訊適配器   11.5.2IBM-PC機與8031雙機通訊技術   11.5.3IBM—PC機與8031多機通訊技術   11.6MCS-51單片機串行接口的擴展   11.6.1Intel8251A可編程通訊接口   11.6.2擴展多路串行口的硬件設計   11.6.3通訊軟件設計   第十二章應用系統設計中的實用技術   12.1MCS-51單片機低功耗系統設計   12.1.1CHMOS型單片機80C31/80C51/87C51的組成與使用要點   12.1.2CHMOS型單片機的空閑、掉電工作方式   12.1.3CHMOS型單片機的I/O接口及應用系統實例   12.1.4HMOS型單片機的節電運行方式   12.2邏輯電平接口技術   12.2.1集電極開路門輸出接口   12.2.2TTL、HTL、ECL、CMOS電平轉換接口   12.3電壓/電流轉換   12.3.1電壓/0~10mA轉換   12.3.2電壓1~5V/4~20mA轉換   12.3.30~10mA/0~5V轉換   12.344~20mA/0~5V轉換   12.3.5集成V/I轉換電路   12.4開關量輸出接口技術   12.4.1輸出接口隔離技術   12.4.2低壓開關量信號輸出技術   12.4.3繼電器輸出接口技術   12.4.4可控硅(晶閘管)輸出接口技術   12.4.5固態繼電器輸出接口   12.4.6集成功率電子開關輸出接口   12.5集成穩壓電路   12.5.1電源隔離技術   12.5.2三端集成穩壓器   12.5.3高精度電壓基準   12.6量程自動轉換技術   12.6.1自動轉換量程的硬件電路   12.6.2自動轉換量程的軟件設計   附錄AMCS-51單片機指令速查表   附錄B常用EPROM固化電壓參考表   參考文獻

    標簽: MCS 51 單片機實用 接口技術

    上傳時間: 2013-10-15

    上傳用戶:himbly

  • PSHLY-B回路電阻測試儀

    PSHLY-B回路電阻測試儀介紹

    標簽: PSHLY-B 回路 電阻測試儀

    上傳時間: 2013-11-05

    上傳用戶:木子葉1

  • 8051單片機系統擴展與接口技術

    8051單片機系統擴展與接口技術:第一節   8051 單片機系統擴展概述第二節  單片機外部存儲器擴展第三節  單片機輸入輸出(I/O)口擴展及應用第四節   LED顯示器接口電路及顯示程序第五節  單片機鍵盤接口技術第六節 單片機與數模(D/A)及模數(A/D)轉換1、地址總線(Address Bus,簡寫為AB)地址總線可傳送單片機送出的地址信號,用于訪問外部存儲器單元或I/O端口。A   地址總線是單向的,地址信號只是由單片機向外發出。B   地址總線的數目決定了可直接訪問的存儲器單元的數目。例如N位地址,可以產生2N個連續地址編碼,因此可訪問2N個存儲單元,即通常所說的尋址范圍為 2N個地址單元。MCS—51單片機有十六位地址線,因此存儲器展范圍可達216 = 64KB地址單元。C   掛在總線上的器件,只有地址被選中的單元才能與CPU交換數據,其余的都暫時不能操作,否則會引起數據沖突。2、數據總線(Data Bus,簡寫為DB)數據總線用于在單片機與存儲器之間或單片機與I/O端口之間傳送數據。A   單片機系統數據總線的位數與單片機處理數據的字長一致。例如MCS—51單片機是8位字長,所以數據總線的位數也是8位。B   數據總線是雙向的,即可以進行兩個方向的數據傳送。3、控制總線(Control Bus,簡寫為CB)控制總線實際上就是一組控制信號線,包括單片機發出的,以及從其它部件送給單片機的各種控制或聯絡信號。對于一條控制信號線來說,其傳送方向是單向的,但是由不同方向的控制信號線組合的控制總線則表示為雙向的??偩€結構形式大大減少了單片機系統中連接線的數目,提高了系統的可靠性,增加了系統的靈活性。此外,總線結構也使擴展易于實現,各功能部件只要符合總線規范,就可以很方便地接入系統,實現單片機擴展。

    標簽: 8051 單片機 系統擴展 接口技術

    上傳時間: 2013-10-18

    上傳用戶:assef

  • 單片機C語言應用程序設計

    單片機C語言應用程序設計針對目前最通用的單片機8051和最流行的程序設計語言——C語言,以KEII。公司8051單片機開發套件講解單片機的C語言應用程序設計。該套件的編譯器有支持經典8051及8051派生產品的版本,統稱為Cx51。Windows集成開發環境μVision2把μVisionl用的模擬調試器dScope與集成環境無縫結合起來,使用更方便,支持的單片機品種更多?! ”緯奶攸c是取材于原文資料,總結實際教學和應用經驗,實例較多,實用性強。本書中C語言是針對8051特有結構描述的,這樣,即使無編程基礎的人,也可通過本書學習單片機的c編程。單片機C語言應用程序設計目錄第1章 單片機基礎知識 1.1 8051單片機的特點 1.2 8051的內部知識 1.3 8051的系統擴展 習題一第2章 C與8051 2.1 8051的編程語言 2.2 Cx51編譯器 2.3 KEIL 8051開發工具 2.4 KEIL Cx51編程實例 2.5 Cx51程序結構 習題二第3章 Cx51 數據與運算 3.1 數據與數據類型 3.2 常量與變量 3.3 Cx51數據存儲類型與8051存儲器結構 3.4 8051特殊功能寄存器(SFR)及其Cx51定義  3.5 8051并行接口及其Cx51定義 3.6 位變量(BIT)及其Cx51定義 3.7 Cx51運算符、表達式及其規則 習題三第4章 Cx51 流程控制語句 4.1 C語言程序的基本結構及其流程圖 4.2 選擇語句 4.3 循環語句 習題四第5章 Cx51 構造數據類型 5.1 數組 5.2 指針 5.3 結構 5.4 共用體 5.5 枚舉 習題五第6章 Cx51 函數第7章 模塊化程序設計第8章 8051內部資源的C編輯第9章 8051擴展資源的C編輯第10章 8051輸出控制的C編程第11章 8051數據采集的C編程第12章 8051機間通信的C編程第13章 8051人機交互的C編程附錄A μVision2集成開發環境使用附錄B KEIL Cx51 上機制南

    標簽: 單片機 C語言 應用程序

    上傳時間: 2013-10-21

    上傳用戶:行者Xin

  • 并行接口

    7.1 并行接口概述并行接口和串行接口的結構示意圖并行接口傳輸速率高,一般不要求固定格式,但不適合長距離數據傳輸7.2 可編程并行接口芯片82C55     7.2.1  8255的基本功能 8255具有2個獨立的8位I/O口(A口和B口)和2個獨立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作為輸入時提供三態緩沖器功能,作為輸出時提供數據鎖存功能。其中,A口具有雙向傳輸功能。8255有3種工作方式,方式0、方式1和方式2,能使用無條件、查詢和中斷等多種數據傳送方式完成CPU與I/O設備之間的數據交換。B口和C口的引腳具有達林頓復合晶體管驅動能力,在1.5V時輸出1mA電流,適于作輸出端口。C口除用做數據口外,當8255工作在方式1和方式2時,C口的部分引腳作為固定的聯絡信號線。

    標簽: 并行接口

    上傳時間: 2013-10-25

    上傳用戶:oooool

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

    有兩種方式可以讓設備和應用程序之間聯系: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

  • 8255A可編程并行接口

    并行接口電路:微處理器與I/O設備進行數據傳輸時均需經過接口電路實現系統與設備互連的匹配。并行接口電路中每個信息位有自己的傳輸線,一個數據字節各位可并行傳送,速度快,控制簡單。由于電氣特性的限制,傳輸距離不能太長。8255A是通用的可編程并行接口芯片,功能強,使用靈活。適合一些并行輸入/輸出設備的使用。8255A并行接口邏輯框圖三個獨立的8位I/O端口,口A、口B、口C。口A有輸入、輸出鎖存器及輸出緩沖器??贐與口C有輸入、輸出緩沖器及輸出鎖存器。在實現高級的傳輸協議時,口C的8條線分為兩組,每組4條線,分別作為口A與口B在傳輸時的控制信號線??贑的8條線可獨立進行置1/置0的操作??贏、口B、口C及控制字口共占4個設備號。8255A并行接口的控制字工作模式選擇控制字:口A有三種工作模式,口B有二種工作模式。口C獨立使用時只有一個工作模式,與口A、口B配合使用時,作為控制信號線。三種工作模式命名為:模式0、模式1及模式2。模式 0 為基本I/O端口,模式1為帶選通的I/O端口,模式 2 為帶選通的雙向I/O端口??贏可工作在三種模式下,口B可工作在模式 0與模式 1下,口C可工作在模式0下或作為控制線配合口A、口B工作。

    標簽: 8255A 可編程 并行接口

    上傳時間: 2013-11-07

    上傳用戶:xitai

  • 微機接口技術試題

    微機接口技術試題:《微機接口技術》模擬試題  一、 選擇題:(每空1分,共20分)1. CPU與外設之間交換數據常采用        、       、       和        四種方式,PC機鍵盤接口采用      傳送方式。 ⒉ 當進行DMA方式下的寫操作時,數據是從       傳送到       __中。 ⒊ PC總線、ISA總線和EISA總線的地址線分別為:     、     和     根。 ⒋ 8254定時/計數器內部有     個端口、共有     種工作方式。 ⒌8255的A1和A0引腳分別連接在地址總線的A1和A0,當命令端口的口地址為317H時,則A口、B口、C口的口地址分別為     、     、      。 ⒍ PC微機中最大的中斷號是       、最小的中斷號是       。 ⒎PC微機中鍵盤是從8255的       口得到按鍵數據。 ⒏ 串行通信中傳輸線上即傳輸_________,又傳輸_________。 二、選擇題:(每題2分,共10分)⒈ 設串行異步通信每幀數據格式有8個數據位、無校驗、一個停止位,若波特率為9600B/S,該方式每秒最多能傳送(    )個字符。  ①  1200     ②  150 ③  960          ④  120 2.輸出指令在I/O接口總線上產生正確的命令順序是(    )。① 先發地址碼,再發讀命令,最后讀數據。② 先發讀命令、再發地址碼,最后讀數據。③ 先送地址碼,再送數據,最后發寫命令。④ 先送地址碼,再發寫命令、最后送數據。3 使用8254設計定時器,當輸入頻率為1MHZ并輸出頻率為100HZ時,該定時器的計數初值為(      )。 ① 100   ② 1000 ③ 10000 ④ 其它 4 在PC機中5號中斷,它的中斷向地址是(     )。 ① 0000H:0005H   ② 0000H:0010H ③ 0000H:0014H        ④ 0000H:0020H 5. 四片8259級聯時可提供的中斷請求總數為(      )。 ① 29個  ② 30個  ③ 31個    ④ 32個 6. 下述總線中,組內都是外設串行總線為(   )組。① RS-485、IDE、ISA。② RS-485、IEEE1394、USB。③ RS-485、PCI、IEEE1394。④ USB、SCSI、RS-232。 7. DMA在(  )接管總線的控制權。① 申請階段  ② 響應階段 ③ 數據傳送階段   ④ 結束階段 8. 中斷服務程序入口地址是(  )。 ① 中斷向量表的指針 ② 中斷向量 ③ 中斷向量表  ④ 中斷號

    標簽: 微機 接口技術 試題

    上傳時間: 2013-11-16

    上傳用戶:xiaoxiang

主站蜘蛛池模板: 简阳市| 探索| 澎湖县| 陈巴尔虎旗| 兴安县| 鄂尔多斯市| 化隆| 安平县| 龙州县| 海南省| 北碚区| 海丰县| 黑河市| 惠来县| 兰溪市| 平阴县| 德保县| 客服| 尚义县| 施秉县| 罗源县| 五家渠市| 卢湾区| 兰坪| 临邑县| 铅山县| 伊吾县| 射洪县| 蕲春县| 云南省| 云梦县| 睢宁县| 金湖县| 隆昌县| 永宁县| 神木县| 罗源县| 宁河县| 陵川县| 阜康市| 南雄市|