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

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

總線<b>接口</b>

  • 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

  • 并行接口

    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有輸入、輸出鎖存器及輸出緩沖器。口B與口C有輸入、輸出緩沖器及輸出鎖存器。在實現高級的傳輸協議時,口C的8條線分為兩組,每組4條線,分別作為口A與口B在傳輸時的控制信號線。口C的8條線可獨立進行置1/置0的操作。口A、口B、口C及控制字口共占4個設備號。8255A并行接口的控制字工作模式選擇控制字:口A有三種工作模式,口B有二種工作模式。口C獨立使用時只有一個工作模式,與口A、口B配合使用時,作為控制信號線。三種工作模式命名為:模式0、模式1及模式2。模式 0 為基本I/O端口,模式1為帶選通的I/O端口,模式 2 為帶選通的雙向I/O端口。口A可工作在三種模式下,口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

  • 基于USB接口的數據采集模塊的設計與實現

    基于USB接口的數據采集模塊的設計與實現Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大學電子信息與自動化學院,天津300222)摘要文中給出基于USB接口的數據采集模塊的設計與實現。硬件設計采用以Adpc831與PDIUSBDI2為主的器件進行硬件設計,采用Windriver開發USB驅動,并用Visual C十十6.0對主機軟件中硬件接口操作部分進行動態鏈接庫封裝。關鍵詞USB 數據采集Adpc831 PDNSBDI2 Windriver動態鏈接庫Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed場Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries場Visual C++6.0.  Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B總 線 是新一代接口總線,最初推出的目的是為了統一取代PC機的各類外設接口,迄今經歷了1.0,1.1與2.0版本3個標準。在國內基于USB總線的相關設計與開發也得到了快速的發展,很多設計者從各自的應用領域,用不同方案設計出了相應的裝置[1,2]。數據采集是工業控制中一個普遍而重要的環節,因此開發基于USB接口的數據采集模塊具有很強的現實應用意義。雖然 US B總線標準已經發展到2.0版本,但由于工業控制現場干擾信號的情況比較復雜,高速數據傳輸的可靠性不容易被保證,并且很多場合對數據采集的實時性要求并不高,開發2.0標準產品的成本又較1.1標準產品高,所以筆者認為,在工業控制領域,目前開發基于USB總線1.1標準實現的數據采集模塊的實用意義大于相應2.0標準模塊。

    標簽: USB 接口 數據采集模塊

    上傳時間: 2013-10-23

    上傳用戶:q3290766

  • 微機原理與接口課件

    微處理器及微型計算機的發展概況  第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機。      第二代微處理機(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。     第三代微處理機 第三代微機是以16位機為代表,基本上是在第二代微機的基礎上發展起來的。其中Intel公司的8088。8086是在8085的基礎發展起來的;M68000是Motorola公司在M6800 的基礎發展起來的;     第四代微處理機 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表,     第五代微處理機的發展更加迅猛,1993年3月被命名為PENTIUM的微處理機面世,98年PENTIUM 2又被推向市場。 INTEL CPU 發展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內存640 bytes,生產曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內存64KB,生產曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內存1MB,生產曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運算速度20~60MIPs,集成晶體管1.2M個,1微米制造工藝,168針PGA,最大尋址內存4GB,緩存8/16/32/64KB,生產曰期1989年4月 Celeron一代, 主頻266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 總線頻率66MHz,0.25微米制造工藝,生產曰期1998年4月) Pentium 4 (478針),至今分為三種核心:Willamette核心(主頻1.5G起,FSB400MHZ,0.18微米制造工藝),Northwood核心(主頻1.6G~3.0G,FSB533MHZ,0.13微米制造工藝, 二級緩存512K),Prescott核心(主頻2.8G起,FSB800MHZ,0.09微米制造工藝,1M二級緩存,13條全新指令集SSE3),生產曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預測、亂序執行超線程技術 微型計算機組成結構單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、    內存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發展概況 機器語言  機器語言就是0,1碼語言,是計算機唯一能理解并直接執行的語言。匯編語言  用一些助記符號代替用0,1碼描述的某種機器的指令系統,匯編語言就是在此基礎上完善起來的。高級語言  BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向對象語言  C++,Java等編程語言是面向對象的語言。 1.3 微型計算機中信息的表示及運算基礎(一) 十進制ND有十個數碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權展開式以10稱為基數,各位系數為0~9,10i為權。 一般表達式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進制NB兩個數碼:0、1, 逢二進一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權展開式以2為基數,各位系數為0、1, 2i為權。 一般表達式:  NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進制NH十六個數碼0~9、A~F,逢十六進一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數,各位系數為0~9,A~F,16i為權。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數制之間的轉換 (二)二進制與十六進制數之間的轉換  24=16 ,四位二進制數對應一位十六進制數。舉例:(三)十進制數轉換成二、十六進制數整數、小數分別轉換   1.整數轉換法“除基取余”:十進制整數不斷除以轉換進制基數,直至商為0。每除一次取一個余數,從低位排向高位。舉例: 2. 小數轉換法“乘基取整”:用轉換進制的基數乘以小數部分,直至小數為0或達到轉換精度要求的位數。每乘一次取一次整數,從最高位排到最低位。舉例:  三、帶符號數的表示方法 機器數:機器中數的表示形式。真值: 機器數所代表的實際數值。舉例:一個8位機器數與它的真值對應關系如下:  真值: X1=+84=+1010100B     X2=-84= -1010100B   機器數:[X1]機= 01010100    [X2]機= 11010100(二)原碼、反碼、補碼最高位為符號位,0表示 “+”,1表示“-”。 數值位與真值數值位相同。 例  8位原碼機器數:  真值:   x1  = +1010100B     x2    =- 1010100B      機器數: [x1]原  = 01010100  [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運算復雜。 正數的反碼與原碼表示相同。       負數反碼符號位為 1,數值位為原碼數值各位取反。 例 8位反碼機器數:          x= +4: [x]原= 00000100 [x]反= 00000100     x= -4: [x]原= 10000100  [x]反= 111110113、補碼(Two’s Complement)正數的補碼表示與原碼相同。       負數補碼等于2n-abs(x)8位機器數表示的真值四、 二進制編碼例:求十進制數876的BCD碼 876= 1000 0111 0110 BCD  876= 36CH = 1101101100B 2、字符編碼    美國標準信息交換碼ASCII碼,用于計算      機與計算機、計算機與外設之間傳遞信息。 3、漢字編碼 “國家標準信息交換用漢字編碼”(GB2312-80標準),簡稱國標碼。 用兩個七位二進制數編碼表示一個漢字 例如“巧”字的代碼是39H、41H漢字內碼例如“巧”字的代碼是0B9H、0C1H1·4  運算基礎 一、二進制數的運算加法規則:“逢2進1”       減法規則:“借1當2”       乘法規則:“逢0出0,全1出1”二、二—十進制數的加、減運算        BCD數的運算規則 循十進制數的運算規則“逢10進1”。但計算機在進行這種運算時會出現潛在的錯誤。為了解決BCD數的運算問題,采取調整運算結果的措施:即“加六修正”和“減六修正”例:10001000(BCD)+01101001(BCD)        =000101010111(BCD)                1 0 0 0 1 0 0 0       +  0 1 1 0 1 0 0 1           1 1 1 1 0 0 0 1        +  0 1 1 0 0 1 1 0     ……調整          1 0 1 0 1 0 1 1 1                                        進位  例:  10001000(BCD)- 01101001(BCD)= 00011001(BCD)                   1 0 0 0 1 0 0 0            -   0 1 1 0 1 0 0 1             0 0 0 1 1 1 1 1         -                    0 1 1 0   ……調整             0 0 0 1 1 0 0 1  三、 帶符號二進制數的運算 1.5 幾個重要的數字邏輯電路編碼器譯碼器計數器微機自動工作的條件程序指令順序存放自動跟蹤指令執行1.6 微機基本結構微機結構各部分組成連接方式1、以CPU為中心的雙總線結構;2、以內存為中心的雙總線結構;3、單總線結構CPU結構管腳特點  1、多功能;2、分時復用內部結構  1、控制; 2、運算; 3、寄存器; 4、地址程序計數器堆棧定義 1、定義;2、管理;3、堆棧形式

    標簽: 微機原理 接口

    上傳時間: 2013-10-17

    上傳用戶:erkuizhang

  • TKS仿真器B系列快速入門

    TKS仿真器B系列快速入門

    標簽: TKS 仿真器 快速入門

    上傳時間: 2013-10-31

    上傳用戶:aix008

主站蜘蛛池模板: 台南县| 天峨县| 赣州市| 南雄市| 囊谦县| 色达县| 义马市| 会理县| 兴仁县| 枞阳县| 宁夏| 长白| 商水县| 五河县| 祁门县| 出国| 玛多县| 乌拉特前旗| 巴南区| 南陵县| 彰化县| 丹棱县| 雷山县| 镇宁| 于田县| 新野县| 长春市| 寿宁县| 彩票| 青川县| 都匀市| 龙泉市| 永德县| 三都| 长汀县| 阿瓦提县| 涡阳县| 乌鲁木齐市| 秀山| 高碑店市| 巫溪县|