本書全面、系統(tǒng)地介紹了MCS-51系列單片機(jī)應(yīng)用系統(tǒng)的各種實(shí)用接口技術(shù)及其配置。 內(nèi)容包括:MCS-51系列單片機(jī)組成原理:應(yīng)用系統(tǒng)擴(kuò)展、開發(fā)與調(diào)試;鍵盤輸入接口的設(shè)計(jì)及調(diào)試;打印機(jī)和顯示器接口及設(shè)計(jì)實(shí)例;模擬輸入通道接口技術(shù);A/D、D/A、接口技術(shù)及在控制系統(tǒng)中的應(yīng)用設(shè)計(jì);V/F轉(zhuǎn)換器接口技術(shù)、串行通訊接口技術(shù)以及其它與應(yīng)用系統(tǒng)設(shè)計(jì)有關(guān)的實(shí)用技術(shù)等。 本書是為滿足廣大科技工作者從事單片機(jī)應(yīng)用系統(tǒng)軟件、硬件設(shè)計(jì)的需要而編寫的,具有內(nèi)容新穎、實(shí)用、全面的特色。所有的接口設(shè)計(jì)都包括詳細(xì)的設(shè)計(jì)步驟、硬件線路圖及故障分析,并附有測(cè)試程序清單。書中大部分接口軟、硬件設(shè)計(jì)實(shí)例都是作者多年來從事單片機(jī)應(yīng)用和開發(fā)工作的經(jīng)驗(yàn)總結(jié),實(shí)用性和工程性較強(qiáng),尤其是對(duì)應(yīng)用系統(tǒng)中必備的鍵盤、顯示器、打印機(jī)、A/D、D/A通訊接口設(shè)計(jì)、模擬信號(hào)處理及開發(fā)系統(tǒng)應(yīng)用舉例甚多,目的是讓將要開始和正在從事單片機(jī)應(yīng)用開發(fā)的科研人員根據(jù)自己的實(shí)際需要來選擇應(yīng)用,一書在手即可基本完成單片機(jī)應(yīng)用系統(tǒng)的開發(fā)工作。 本書主要面向從事單片機(jī)應(yīng)用開發(fā)工作的廣大工程技術(shù)人員,也可作為大專院校有關(guān)專業(yè)的教材或教學(xué)參考書。 第一章MCS-51系列單片機(jī)組成原理 1.1概述 1.1.1單片機(jī)主流產(chǎn)品系列 1.1.2單片機(jī)芯片技術(shù)的發(fā)展概況 1.1.3單片機(jī)的應(yīng)用領(lǐng)域 1.2MCS-51單片機(jī)硬件結(jié)構(gòu) 1.2.1MCS-51單片機(jī)硬件結(jié)構(gòu)的特點(diǎn) 1.2.2MCS-51單片機(jī)的引腳描述及片外總線結(jié)構(gòu) 1.2.3MCS-51片內(nèi)總體結(jié)構(gòu) 1.2.4MCS-51單片機(jī)中央處理器及其振蕩器、時(shí)鐘電路和CPU時(shí)序 1.2.5MCS-51單片機(jī)的復(fù)位狀態(tài)及幾種復(fù)位電路設(shè)計(jì) 1.2.6存儲(chǔ)器、特殊功能寄存器及位地址空間 1.2.7輸入/輸出(I/O)口 1.3MCS-51單片機(jī)指令系統(tǒng)分析 1.3.1指令系統(tǒng)的尋址方式 1.3.2指令系統(tǒng)的使用要點(diǎn) 1.3.3指令系統(tǒng)分類總結(jié) 1.4串行接口與定時(shí)/計(jì)數(shù)器 1.4.1串行接口簡介 1.4.2定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu) 1.4.3定時(shí)器/計(jì)數(shù)器的四種工作模式 1.4.4定時(shí)器/計(jì)數(shù)器對(duì)輸入信號(hào)的要求 1.4.5定時(shí)器/計(jì)數(shù)器的編程和應(yīng)用 1.5中斷系統(tǒng) 1.5.1中斷請(qǐng)求源 1.5.2中斷控制 1.5.3中斷的響應(yīng)過程 1.5.4外部中斷的響應(yīng)時(shí)間 1.5.5外部中斷方式的選擇 第二章MCS-51單片機(jī)系統(tǒng)擴(kuò)展 2.1概述 2.2程序存貯器的擴(kuò)展 2.2.1外部程序存貯器的擴(kuò)展原理及時(shí)序 2.2.2地址鎖存器 2.2.3EPROM擴(kuò)展電路 2.2.4EEPROM擴(kuò)展電路 2.3外部數(shù)據(jù)存貯器的擴(kuò)展 2.3.1外部數(shù)據(jù)存貯器的擴(kuò)展方法及時(shí)序 2.3.2靜態(tài)RAM擴(kuò)展 2.3.3動(dòng)態(tài)RAM擴(kuò)展 2.4外部I/O口的擴(kuò)展 2.4.1I/O口擴(kuò)展概述 2.4.2I/O口地址譯碼技術(shù) 2.4.38255A可編程并行I/O擴(kuò)展接口 2.4.48155/8156可編程并行I/O擴(kuò)展接口 2.4.58243并行I/O擴(kuò)展接口 2.4.6用TTL芯片擴(kuò)展I/O接口 2.4.7用串行口擴(kuò)展I/O接口 2.4.8中斷系統(tǒng)擴(kuò)展 第三章MCS-51單片機(jī)應(yīng)用系統(tǒng)的開發(fā) 3.1單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì) 3.1.1設(shè)計(jì)前的準(zhǔn)備工作 3.1.2應(yīng)用系統(tǒng)的硬件設(shè)計(jì) 3.1.3應(yīng)用系統(tǒng)的軟件設(shè)計(jì) 3.1.4應(yīng)用系統(tǒng)的抗干擾設(shè)計(jì) 3.2單片機(jī)應(yīng)用系統(tǒng)的開發(fā) 3.2.1仿真系統(tǒng)的功能 3.2.2開發(fā)手段的選擇 3.2.3應(yīng)用系統(tǒng)的開發(fā)過程 3.3SICE—IV型單片機(jī)仿真器 3.3.1SICE-IV仿真器系統(tǒng)結(jié)構(gòu) 3.3.2SICE-IV的仿真特性和軟件功能 3.3.3SICE-IV與主機(jī)和終端的連接使用方法 3.4KHK-ICE-51單片機(jī)仿真開發(fā)系統(tǒng) 3.4.1KHK—ICE-51仿真器系統(tǒng)結(jié)構(gòu) 3.4.2仿真器系統(tǒng)功能特點(diǎn) 3.4.3KHK-ICE-51仿真系統(tǒng)的安裝及其使用 3.5單片機(jī)應(yīng)用系統(tǒng)的調(diào)試 3.5.1應(yīng)用系統(tǒng)聯(lián)機(jī)前的靜態(tài)調(diào)試 3.5.2外部數(shù)據(jù)存儲(chǔ)器RAM的測(cè)試 3.5.3程序存儲(chǔ)器的調(diào)試 3.5.4輸出功能模塊調(diào)試 3.5.5可編程I/O接口芯片的調(diào)試 3.5.6外部中斷和定時(shí)器中斷的調(diào)試 3.6用戶程序的編輯、匯編、調(diào)試、固化及運(yùn)行 3.6.1源程序的編輯 3.6.2源程序的匯編 3.6.3用戶程序的調(diào)試 3.6.4用戶程序的固化 3.6.5用戶程序的運(yùn)行 第四章鍵盤及其接口技術(shù) 4.1鍵盤輸入應(yīng)解決的問題 4.1.1鍵盤輸入的特點(diǎn) 4.1.2按鍵的確認(rèn) 4.1.3消除按鍵抖動(dòng)的措施 4.2獨(dú)立式按鍵接口設(shè)計(jì) 4.3矩陣式鍵盤接口設(shè)計(jì) 4.3.1矩陣鍵盤工作原理 4.3.2按鍵的識(shí)別方法 4.3.3鍵盤的編碼 4.3.4鍵盤工作方式 4.3.5矩陣鍵盤接口實(shí)例及編程要點(diǎn) 4.3.6雙功能及多功能鍵設(shè)計(jì) 4.3.7鍵盤處理中的特殊問題一重鍵和連擊 4.48279鍵盤、顯示器接口芯片及應(yīng)用 4.4.18279的組成和基本工作原理 4.4.28279管腳、引線及功能說明 4.4.38279編程 4.4.48279鍵盤接口實(shí)例 4.5功能開關(guān)及撥碼盤接口設(shè)計(jì) 第五章顯示器接口設(shè)計(jì) 5.1LED顯示器 5.1.1LED段顯示器結(jié)構(gòu)與原理 5.1.2LED顯示器及顯示方式 5.1.3LED顯示器接口實(shí)例 5.1.4LED顯示器驅(qū)動(dòng)技術(shù) 5.2單片機(jī)應(yīng)用系統(tǒng)中典型鍵盤、顯示接口技術(shù) 5.2.1用8255和串行口擴(kuò)展的鍵盤、顯示器電路 5.2.2由鎖存器組成的鍵盤、顯示器接口電路 5.2.3由8155構(gòu)成的鍵盤、顯示器接口電路 5.2.4用8279組成的顯示器實(shí)例 5.3液晶顯示LCD 5.3.1LCD的基本結(jié)構(gòu)及工作原理 5.3.2LCD的驅(qū)動(dòng)方式 5.3.34位LCD靜態(tài)驅(qū)動(dòng)芯片ICM7211系列簡介 5.3.4點(diǎn)陣式液晶顯示控制器HD61830介紹 5.3.5點(diǎn)陣式液晶顯示模塊介紹 5.4熒光管顯示 5.5LED大屏幕顯示器 第六章打印機(jī)接口設(shè)計(jì) 6.1打印機(jī)簡介 6.1.1打印機(jī)的基本知識(shí) 6.1.2打印機(jī)的電路構(gòu)成 6.1.3打印機(jī)的接口信號(hào) 6.1.4打印機(jī)的打印命令 6.2TPμP-40A微打與單片機(jī)接口設(shè)計(jì) 6.2.1TPμP系列微型打印機(jī)簡介 6.2.2TPμP-40A打印功能及接口信號(hào) 6.2.3TPμP-40A工作方式及打印命令 6.2.48031與TPμP-40A的接口 6.2.5打印編程實(shí)例 6.3XLF微型打印機(jī)與單片機(jī)接口設(shè)計(jì) 6.3.1XLF微打簡介 6.3.2XLF微打接口信號(hào)及與8031接口設(shè)計(jì) 6.3.3XLF微打控制命令 6.3.4打印機(jī)編程 6.4標(biāo)準(zhǔn)寬行打印機(jī)與8031接口設(shè)計(jì) 6.4.1TH3070接口引腳信號(hào)及時(shí)序 6.4.2與8031的簡單接口 6.4.3通過打印機(jī)適配器完成8031與打印機(jī)的接口 6.4.4對(duì)打印機(jī)的編程 第七章模擬輸入通道接口技術(shù) 7.1傳感器 7.1.1傳感器的分類 7.1.2溫度傳感器 7.1.3光電傳感器 7.1.4濕度傳感器 7.1.5其他傳感器 7.2模擬信號(hào)放大技術(shù) 7.2.1基本放大器電路 7.2.2集成運(yùn)算放大器 7.2.3常用運(yùn)算放大器及應(yīng)用舉例 7.2.4測(cè)量放大器 7.2.5程控增益放大器 7.2.6隔離放大器 7.3多通道模擬信號(hào)輸入技術(shù) 7.3.1多路開關(guān) 7.3.2常用多路開關(guān) 7.3.3模擬多路開關(guān) 7.3.4常用模擬多路開關(guān) 7.3.5多路模擬開關(guān)應(yīng)用舉例 7.3.6多路開關(guān)的選用 7.4采樣/保持電路設(shè)計(jì) 7.4.1采樣/保持原理 7.4.2集成采樣/保持器 7.4.3常用集成采樣/保持器 7.4.4采樣保持器的應(yīng)用舉例 7.5有源濾波器的設(shè)計(jì) 7.5.1濾波器分類 7.5.2有源濾波器的設(shè)計(jì) 7.5.3常用有源濾波器設(shè)計(jì)舉例 7.5.4集成有源濾波器 第八章D/A轉(zhuǎn)換器與MCS-51單片機(jī)的接口設(shè)計(jì)與實(shí)踐 8.1D/A轉(zhuǎn)換器的基本原理及主要技術(shù)指標(biāo) 8.1.1D/A轉(zhuǎn)換器的基本原理與分類 8.1.2D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo) 8.2D/A轉(zhuǎn)換器件選擇指南 8.2.1集成D/A轉(zhuǎn)換芯片介紹 8.2.2D/A轉(zhuǎn)換器的選擇要點(diǎn)及選擇指南表 8.2.3D/A轉(zhuǎn)換器接口設(shè)計(jì)的幾點(diǎn)實(shí)用技術(shù) 8.38位D/A轉(zhuǎn)換器DAC080/0831/0832與MCS-51單片機(jī)的接口設(shè)計(jì) 8.3.1DAC0830/0831/0832的應(yīng)用特性與引腳功能 8.3.2DAC0830/0831/0832與8031單片機(jī)的接口設(shè)計(jì) 8.3.3DAC0830/0831/0832的調(diào)試說明 8.3.4DAC0830/0831/0832應(yīng)用舉例 8.48位D/A轉(zhuǎn)換器AD558與MCS-51單片機(jī)的接口設(shè)計(jì) 8.4.1AD558的應(yīng)用特性與引腳功能 8.4.2AD558與8031單片機(jī)的接口及調(diào)試說明 8.4.38位D/A轉(zhuǎn)換器DAC0800系列與8031單片機(jī)的接口 8.510位D/A轉(zhuǎn)換器AD7522與MCS-51的硬件接口設(shè)計(jì) 8.5.1AD7522的應(yīng)用特性及引腳功能 8.5.2AD7522與8031單片機(jī)的接口設(shè)計(jì) 8.610位D/A轉(zhuǎn)換器AD7520/7530/7533與MCS一51單片機(jī)的接口設(shè)計(jì) 8.6.1AD7520/7530/7533的應(yīng)用特性與引腳功能 8.6.2AD7520系列與8031單片機(jī)的接口 8.6.3DAC1020/DAC1220/AD7521系列D/A轉(zhuǎn)換器接口設(shè)計(jì) 8.712位D/A轉(zhuǎn)換器DAC1208/1209/1210與MCS-51單片機(jī)的接口設(shè)計(jì) 8.7.1DAC1208/1209/1210的內(nèi)部結(jié)構(gòu)與引腳功能 8.7.2DAC1208/1209/1210與8031單片機(jī)的接口設(shè)計(jì) 8.7.312位D/A轉(zhuǎn)換器DAC1230/1231/1232的應(yīng)用設(shè)計(jì)說明 8.7.412位D/A轉(zhuǎn)換器AD7542與8031單片機(jī)的接口設(shè)計(jì) 8.812位串行DAC-AD7543與MCS-51單片機(jī)的接口設(shè)計(jì) 8.8.1AD7543的應(yīng)用特性與引腳功能 8.8.2AD7543與8031單片機(jī)的接口設(shè)計(jì) 8.914位D/A轉(zhuǎn)換器AD75335與MCS-51單片機(jī)的接口設(shè)計(jì) 8.9.1AD8635的內(nèi)部結(jié)構(gòu)與引腳功能 8.9.2AD7535與8031單片機(jī)的接口設(shè)計(jì) 8.1016位D/A轉(zhuǎn)換器AD1147/1148與MCS-51單片機(jī)的接口設(shè)計(jì) 8.10.1AD1147/AD1148的內(nèi)部結(jié)構(gòu)及引腳功能 8.10.2AD1147/AD1148與8031單片機(jī)的接口設(shè)計(jì) 8.10.3AD1147/AD1148接口電路的應(yīng)用調(diào)試說明 8.10.416位D/A轉(zhuǎn)換器AD1145與8031單片機(jī)的接口設(shè)計(jì) 第九章A/D轉(zhuǎn)換器與MCS-51單片機(jī)的接口設(shè)計(jì)與實(shí)踐 9.1A/D轉(zhuǎn)換器的基本原理及主要技術(shù)指標(biāo) 9.1.1A/D轉(zhuǎn)換器的基本原理與分類 9.1.2A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo) 9.2面對(duì)課題如何選擇A/D轉(zhuǎn)換器件 9.2.1常用A/D轉(zhuǎn)換器簡介 9.2.2A/D轉(zhuǎn)換器的選擇要點(diǎn)及應(yīng)用設(shè)計(jì)的幾點(diǎn)實(shí)用技術(shù) 9.38位D/A轉(zhuǎn)換器ADC0801/0802/0803/0804/0805與MCS-51單片機(jī)的接口設(shè)計(jì) 9.3.1ADC0801~ADC0805芯片的引腳功能及應(yīng)用特性 9.3.2ADC0801~ADC0805與8031單片機(jī)的接口設(shè)計(jì) 9.48路8位A/D轉(zhuǎn)換器ADC0808/0809與MCS一51單片機(jī)的接口設(shè)計(jì) 9.4.1ADC0808/0809的內(nèi)部結(jié)構(gòu)及引腳功能 9.4.2ADC0808/0809與8031單片機(jī)的接口設(shè)計(jì) 9.4.3接口電路設(shè)計(jì)中的幾點(diǎn)注意事項(xiàng) 9.4.416路8位A/D轉(zhuǎn)換器ADC0816/0817與MCS-51單片機(jī)的接口設(shè)計(jì) 9.510位A/D轉(zhuǎn)換器AD571與MCS-51單片機(jī)的接口設(shè)計(jì) 9.5.1AD571芯片的引腳功能及應(yīng)用特性 9.5.2AD571與8031單片機(jī)的接口 9.5.38位A/D轉(zhuǎn)換器AD570與8031單片機(jī)的硬件接口 9.612位A/D轉(zhuǎn)換器ADC1210/1211與MCS-51單片機(jī)的接口設(shè)計(jì) 9.6.1ADC1210/1211的引腳功能與應(yīng)用特性 9.6.2ADC1210/1211與8031單片機(jī)的硬件接口 9.6.3硬件接口電路的設(shè)計(jì)要點(diǎn)及幾點(diǎn)說明 9.712位A/D轉(zhuǎn)換器AD574A/1374/1674A與MCS-51單片機(jī)的接口設(shè)計(jì) 9.7.1AD574A的內(nèi)部結(jié)構(gòu)與引腳功能 9.7.2AD574A的應(yīng)用特性及校準(zhǔn) 9.7.3AD574A與8031單片機(jī)的硬件接口設(shè)計(jì) 9.7.4AD574A的應(yīng)用調(diào)試說明 9.7.5AD674A/AD1674與8031單片機(jī)的接口設(shè)計(jì) 9.8高速12位A/D轉(zhuǎn)換器AD578/AD678/AD1678與MCS—51單片機(jī)的接口設(shè)計(jì) 9.8.1AD578的應(yīng)用特性與引腳功能 9.8.2AD578高速A/D轉(zhuǎn)換器與8031單片機(jī)的接口設(shè)計(jì) 9.8.3AD578高速A/D轉(zhuǎn)換器的應(yīng)用調(diào)試說明 9.8.4AD678/AD1678采樣A/D轉(zhuǎn)換器與8031單片機(jī)的接口設(shè)計(jì) 9.914位A/D轉(zhuǎn)換器AD679/1679與MCS-51單片機(jī)的接口設(shè)計(jì) 9.9.1AD679/AD1679的應(yīng)用特性及引腳功能 9.9.2AD679/1679與8031單片機(jī)的接口設(shè)計(jì) 9.9.3AD679/1679的調(diào)試說明 9.1016位ADC-ADC1143與MCS-51單片機(jī)的接口設(shè)計(jì) 9.10.1ADC1143的應(yīng)用特性及引腳功能 9.10.2ADC1143與8031單片機(jī)的接口設(shè)計(jì) 9.113位半積分A/D轉(zhuǎn)換器5G14433與MCS-51單片機(jī)的接口設(shè)計(jì) 9.11.15G14433的內(nèi)部結(jié)構(gòu)及引腳功能 9.11.25G14433的外部電路連接與元件參數(shù)選擇 9.11.35G14433與8031單片機(jī)的接口設(shè)計(jì) 9.11.45G14433的應(yīng)用舉例 9.124位半積分A/D轉(zhuǎn)換器ICL7135與MCS—51單片機(jī)的接口設(shè)計(jì) 9.12.1ICL7135的內(nèi)部結(jié)構(gòu)及芯片引腳功能 9.12.2ICL7135的外部電路連接與元件參數(shù)選擇 9.12.3ICL7135與8031單片機(jī)的硬件接口設(shè)計(jì) 9.124ICL7135的應(yīng)用舉例 9.1312位雙積分A/D轉(zhuǎn)換器ICL7109與MCS—51單片機(jī)的接口設(shè)計(jì) 9.13.1ICL7109的內(nèi)部結(jié)構(gòu)與芯片引腳功能 9.13.2ICL7109的外部電路連接與元件參數(shù)選擇 9.13.3ICL7109與8031單片機(jī)的硬件接口設(shè)計(jì) 9.1416位積分型ADC一ICL7104與MCS-51單片機(jī)的接口設(shè)計(jì) 9.14.1ICL7104的主要應(yīng)用特性及引腳功能 9.14.2ICL7104與8031單片機(jī)的接口設(shè)計(jì) 9.14.3其它積分型A/D轉(zhuǎn)換器簡介 第十章V/F轉(zhuǎn)換器接口技術(shù) 10.1V/F轉(zhuǎn)換的特點(diǎn)及應(yīng)用環(huán)境 10.2V/F轉(zhuǎn)換原理及用V/F轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的方法 10.2.1V/F轉(zhuǎn)換原理 10.2.2用V/F轉(zhuǎn)換器實(shí)現(xiàn)A/D轉(zhuǎn)換的方法 10.3常用V/F轉(zhuǎn)換器簡介 10.3.1VFC32 10.3.2LMX31系列V/F轉(zhuǎn)換器 10.3.3AD650 10.3.4AD651 10.4V/F轉(zhuǎn)換應(yīng)用系統(tǒng)中的通道結(jié)構(gòu) 10.5LM331應(yīng)用實(shí)例 10.5.1線路原理 10.5.2軟件設(shè)計(jì) 10.6AD650應(yīng)用實(shí)例 10.6.1AD650外圍電路設(shè)計(jì) 10.6.2定時(shí)/計(jì)數(shù)器(8253—5簡介) 10.6.3線路原理 10.6.4軟件設(shè)計(jì) 第十一章串行通訊接口技術(shù) 11.1串行通訊基礎(chǔ) 11.1.1異步通訊和同步通訊 11.1.2波特率和接收/發(fā)送時(shí)鐘 11.1.3單工、半雙工、全雙工通訊方式 11.14信號(hào)的調(diào)制與解調(diào) 11.1.5通訊數(shù)據(jù)的差錯(cuò)檢測(cè)和校正 11.1.6串行通訊接口電路UART、USRT和USART 11.2串行通訊總線標(biāo)準(zhǔn)及其接口 11.2.1串行通訊接口 11.2.2RS-232C接口 11.2.3RS-449、RS-422、RS-423及RS485 11.2.420mA電流環(huán)路串行接口 11.3MCS-51單片機(jī)串行接口 11.3.1串行口的結(jié)構(gòu) 11.3.2串行接口的工作方式 11.3.3串行通訊中波特率設(shè)置 11.4MCS-51單片機(jī)串行接口通訊技術(shù) 11.4.1單片機(jī)雙機(jī)通訊技術(shù) 11.4.2單片機(jī)多機(jī)通訊技術(shù) 11.5IBMPC系列機(jī)與單片機(jī)的通訊技術(shù) 11.5.1異步通訊適配器 11.5.2IBM-PC機(jī)與8031雙機(jī)通訊技術(shù) 11.5.3IBM—PC機(jī)與8031多機(jī)通訊技術(shù) 11.6MCS-51單片機(jī)串行接口的擴(kuò)展 11.6.1Intel8251A可編程通訊接口 11.6.2擴(kuò)展多路串行口的硬件設(shè)計(jì) 11.6.3通訊軟件設(shè)計(jì) 第十二章應(yīng)用系統(tǒng)設(shè)計(jì)中的實(shí)用技術(shù) 12.1MCS-51單片機(jī)低功耗系統(tǒng)設(shè)計(jì) 12.1.1CHMOS型單片機(jī)80C31/80C51/87C51的組成與使用要點(diǎn) 12.1.2CHMOS型單片機(jī)的空閑、掉電工作方式 12.1.3CHMOS型單片機(jī)的I/O接口及應(yīng)用系統(tǒng)實(shí)例 12.1.4HMOS型單片機(jī)的節(jié)電運(yùn)行方式 12.2邏輯電平接口技術(shù) 12.2.1集電極開路門輸出接口 12.2.2TTL、HTL、ECL、CMOS電平轉(zhuǎn)換接口 12.3電壓/電流轉(zhuǎn)換 12.3.1電壓/0~10mA轉(zhuǎn)換 12.3.2電壓1~5V/4~20mA轉(zhuǎn)換 12.3.30~10mA/0~5V轉(zhuǎn)換 12.344~20mA/0~5V轉(zhuǎn)換 12.3.5集成V/I轉(zhuǎn)換電路 12.4開關(guān)量輸出接口技術(shù) 12.4.1輸出接口隔離技術(shù) 12.4.2低壓開關(guān)量信號(hào)輸出技術(shù) 12.4.3繼電器輸出接口技術(shù) 12.4.4可控硅(晶閘管)輸出接口技術(shù) 12.4.5固態(tài)繼電器輸出接口 12.4.6集成功率電子開關(guān)輸出接口 12.5集成穩(wěn)壓電路 12.5.1電源隔離技術(shù) 12.5.2三端集成穩(wěn)壓器 12.5.3高精度電壓基準(zhǔn) 12.6量程自動(dòng)轉(zhuǎn)換技術(shù) 12.6.1自動(dòng)轉(zhuǎn)換量程的硬件電路 12.6.2自動(dòng)轉(zhuǎn)換量程的軟件設(shè)計(jì) 附錄AMCS-51單片機(jī)指令速查表 附錄B常用EPROM固化電壓參考表 參考文獻(xiàn)
標(biāo)簽: MCS 51 單片機(jī)實(shí)用 接口技術(shù)
上傳時(shí)間: 2013-10-15
上傳用戶:himbly
PSHLY-B回路電阻測(cè)試儀介紹
標(biāo)簽: PSHLY-B 回路 電阻測(cè)試儀
上傳時(shí)間: 2013-11-05
上傳用戶:木子葉1
8051單片機(jī)系統(tǒng)擴(kuò)展與接口技術(shù):第一節(jié) 8051 單片機(jī)系統(tǒng)擴(kuò)展概述第二節(jié) 單片機(jī)外部存儲(chǔ)器擴(kuò)展第三節(jié) 單片機(jī)輸入輸出(I/O)口擴(kuò)展及應(yīng)用第四節(jié) LED顯示器接口電路及顯示程序第五節(jié) 單片機(jī)鍵盤接口技術(shù)第六節(jié) 單片機(jī)與數(shù)模(D/A)及模數(shù)(A/D)轉(zhuǎn)換1、地址總線(Address Bus,簡寫為AB)地址總線可傳送單片機(jī)送出的地址信號(hào),用于訪問外部存儲(chǔ)器單元或I/O端口。A 地址總線是單向的,地址信號(hào)只是由單片機(jī)向外發(fā)出。B 地址總線的數(shù)目決定了可直接訪問的存儲(chǔ)器單元的數(shù)目。例如N位地址,可以產(chǎn)生2N個(gè)連續(xù)地址編碼,因此可訪問2N個(gè)存儲(chǔ)單元,即通常所說的尋址范圍為 2N個(gè)地址單元。MCS—51單片機(jī)有十六位地址線,因此存儲(chǔ)器展范圍可達(dá)216 = 64KB地址單元。C 掛在總線上的器件,只有地址被選中的單元才能與CPU交換數(shù)據(jù),其余的都暫時(shí)不能操作,否則會(huì)引起數(shù)據(jù)沖突。2、數(shù)據(jù)總線(Data Bus,簡寫為DB)數(shù)據(jù)總線用于在單片機(jī)與存儲(chǔ)器之間或單片機(jī)與I/O端口之間傳送數(shù)據(jù)。A 單片機(jī)系統(tǒng)數(shù)據(jù)總線的位數(shù)與單片機(jī)處理數(shù)據(jù)的字長一致。例如MCS—51單片機(jī)是8位字長,所以數(shù)據(jù)總線的位數(shù)也是8位。B 數(shù)據(jù)總線是雙向的,即可以進(jìn)行兩個(gè)方向的數(shù)據(jù)傳送。3、控制總線(Control Bus,簡寫為CB)控制總線實(shí)際上就是一組控制信號(hào)線,包括單片機(jī)發(fā)出的,以及從其它部件送給單片機(jī)的各種控制或聯(lián)絡(luò)信號(hào)。對(duì)于一條控制信號(hào)線來說,其傳送方向是單向的,但是由不同方向的控制信號(hào)線組合的控制總線則表示為雙向的。總線結(jié)構(gòu)形式大大減少了單片機(jī)系統(tǒng)中連接線的數(shù)目,提高了系統(tǒng)的可靠性,增加了系統(tǒng)的靈活性。此外,總線結(jié)構(gòu)也使擴(kuò)展易于實(shí)現(xiàn),各功能部件只要符合總線規(guī)范,就可以很方便地接入系統(tǒng),實(shí)現(xiàn)單片機(jī)擴(kuò)展。
標(biāo)簽: 8051 單片機(jī) 系統(tǒng)擴(kuò)展 接口技術(shù)
上傳時(shí)間: 2013-10-18
上傳用戶:assef
7.1 并行接口概述并行接口和串行接口的結(jié)構(gòu)示意圖并行接口傳輸速率高,一般不要求固定格式,但不適合長距離數(shù)據(jù)傳輸7.2 可編程并行接口芯片82C55 7.2.1 8255的基本功能 8255具有2個(gè)獨(dú)立的8位I/O口(A口和B口)和2個(gè)獨(dú)立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作為輸入時(shí)提供三態(tài)緩沖器功能,作為輸出時(shí)提供數(shù)據(jù)鎖存功能。其中,A口具有雙向傳輸功能。8255有3種工作方式,方式0、方式1和方式2,能使用無條件、查詢和中斷等多種數(shù)據(jù)傳送方式完成CPU與I/O設(shè)備之間的數(shù)據(jù)交換。B口和C口的引腳具有達(dá)林頓復(fù)合晶體管驅(qū)動(dòng)能力,在1.5V時(shí)輸出1mA電流,適于作輸出端口。C口除用做數(shù)據(jù)口外,當(dāng)8255工作在方式1和方式2時(shí),C口的部分引腳作為固定的聯(lián)絡(luò)信號(hào)線。
標(biāo)簽: 并行接口
上傳時(shí)間: 2013-10-25
上傳用戶:oooool
有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個(gè)符號(hào)鏈;2. 通過輸出到一個(gè)接口WDM驅(qū)動(dòng)程序建議使用輸出到一個(gè)接口而不推薦使用創(chuàng)建符號(hào)鏈的方法。這個(gè)接口保證PDO的安全,也保證安全地創(chuàng)建一個(gè)惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個(gè)應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個(gè)Win32 APIs和設(shè)備對(duì)象的分發(fā)函數(shù)之間存在一個(gè)映射關(guān)系。獲得對(duì)設(shè)備對(duì)象訪問的第一步就是打開一個(gè)設(shè)備對(duì)象的句柄。 用符號(hào)鏈打開一個(gè)設(shè)備的句柄為了打開一個(gè)設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個(gè)符號(hào)鏈出口,應(yīng)用程序可以用下面這個(gè)例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個(gè)設(shè)備。這個(gè)設(shè)備必須有一個(gè)符號(hào)鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個(gè)參數(shù)中前綴后的部分就是這個(gè)符號(hào)鏈的名字。注意:CreatFile中的第一個(gè)參數(shù)不是Windows 98/2000中驅(qū)動(dòng)程序(.sys文件)的路徑。是到設(shè)備對(duì)象的符號(hào)鏈。如果使用DriverWizard產(chǎn)生驅(qū)動(dòng)程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號(hào)鏈。這意味著符號(hào)鏈名有一個(gè)附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個(gè)參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個(gè)輸出接口打開句柄用這種方式打開一個(gè)句柄會(huì)稍微麻煩一些。DriverWorks庫提供兩個(gè)助手類來使獲得對(duì)該接口的訪問容易一些,這兩個(gè)類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個(gè)設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個(gè)實(shí)例來獲得一個(gè)或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個(gè)單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個(gè)路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個(gè)小例子來顯示這些類最基本的使用方法: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)用程序獲得一個(gè)有效的設(shè)備句柄,它就能使用Win32 APIs來產(chǎn)生到設(shè)備對(duì)象的IRPs。下面的表顯示了這種對(duì)應(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)建一個(gè)新的文件對(duì)象。這使得多個(gè)句柄可以映射同一個(gè)文件對(duì)象。當(dāng)這個(gè)文件對(duì)象的最后一個(gè)用戶級(jí)句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級(jí)和核心級(jí)的對(duì)文件對(duì)象的訪問的時(shí)候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯(cuò)誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會(huì)在打開設(shè)備的時(shí)候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個(gè)屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個(gè)設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對(duì)象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲(chǔ)器中,并且創(chuàng)建了一個(gè)存儲(chǔ)在IRP中的MDL域。一個(gè)設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對(duì)象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對(duì)應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲(chǔ)區(qū)并沒有被鎖住而且地址只對(duì)調(diào)用進(jìn)程有效。驅(qū)動(dòng)程序可以使用KIrp::UserBuffer來存取IRP域。對(duì)于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對(duì)象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(gòu)造控制代碼。這個(gè)宏的其中一個(gè)參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對(duì)應(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)分配一個(gè)單一的緩沖來作為輸入與輸出。驅(qū)動(dòng)程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動(dòng)程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時(shí),I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級(jí)調(diào)用者使用的緩沖中。驅(qū)動(dòng)程序必須在結(jié)束前存儲(chǔ)拷貝到IRP的Information成員中的數(shù)據(jù)個(gè)數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個(gè)系統(tǒng)緩沖,這個(gè)緩沖驅(qū)動(dòng)程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對(duì)象,驅(qū)動(dòng)程序?qū)@個(gè)對(duì)象的訪問通過調(diào)用KIrp::Mdl來實(shí)現(xiàn)。對(duì)于METHOD_OUT_DIRECT,調(diào)用者必須有對(duì)緩沖的寫訪問權(quán)限。注意,對(duì)METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會(huì)做映射來配置緩沖。虛擬地址只對(duì)調(diào)用進(jìn)程有效。這里是一個(gè)用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個(gè)IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個(gè)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ū)動(dòng)程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize, NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動(dòng)程序中,代碼看起來如下所示: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ū)動(dòng)程序 應(yīng)用程序 接口
上傳時(shí)間: 2013-10-17
上傳用戶:gai928943
并行接口電路:微處理器與I/O設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí)均需經(jīng)過接口電路實(shí)現(xiàn)系統(tǒng)與設(shè)備互連的匹配。并行接口電路中每個(gè)信息位有自己的傳輸線,一個(gè)數(shù)據(jù)字節(jié)各位可并行傳送,速度快,控制簡單。由于電氣特性的限制,傳輸距離不能太長。8255A是通用的可編程并行接口芯片,功能強(qiáng),使用靈活。適合一些并行輸入/輸出設(shè)備的使用。8255A并行接口邏輯框圖三個(gè)獨(dú)立的8位I/O端口,口A、口B、口C。口A有輸入、輸出鎖存器及輸出緩沖器。口B與口C有輸入、輸出緩沖器及輸出鎖存器。在實(shí)現(xiàn)高級(jí)的傳輸協(xié)議時(shí),口C的8條線分為兩組,每組4條線,分別作為口A與口B在傳輸時(shí)的控制信號(hào)線。口C的8條線可獨(dú)立進(jìn)行置1/置0的操作。口A、口B、口C及控制字口共占4個(gè)設(shè)備號(hào)。8255A并行接口的控制字工作模式選擇控制字:口A有三種工作模式,口B有二種工作模式。口C獨(dú)立使用時(shí)只有一個(gè)工作模式,與口A、口B配合使用時(shí),作為控制信號(hào)線。三種工作模式命名為:模式0、模式1及模式2。模式 0 為基本I/O端口,模式1為帶選通的I/O端口,模式 2 為帶選通的雙向I/O端口。口A可工作在三種模式下,口B可工作在模式 0與模式 1下,口C可工作在模式0下或作為控制線配合口A、口B工作。
上傳時(shí)間: 2013-11-07
上傳用戶:xitai
微機(jī)接口技術(shù)試題:《微機(jī)接口技術(shù)》模擬試題 一、 選擇題:(每空1分,共20分)1. CPU與外設(shè)之間交換數(shù)據(jù)常采用 、 、 和 四種方式,PC機(jī)鍵盤接口采用 傳送方式。 ⒉ 當(dāng)進(jìn)行DMA方式下的寫操作時(shí),數(shù)據(jù)是從 傳送到 __中。 ⒊ PC總線、ISA總線和EISA總線的地址線分別為: 、 和 根。 ⒋ 8254定時(shí)/計(jì)數(shù)器內(nèi)部有 個(gè)端口、共有 種工作方式。 ⒌8255的A1和A0引腳分別連接在地址總線的A1和A0,當(dāng)命令端口的口地址為317H時(shí),則A口、B口、C口的口地址分別為 、 、 。 ⒍ PC微機(jī)中最大的中斷號(hào)是 、最小的中斷號(hào)是 。 ⒎PC微機(jī)中鍵盤是從8255的 口得到按鍵數(shù)據(jù)。 ⒏ 串行通信中傳輸線上即傳輸_________,又傳輸_________。 二、選擇題:(每題2分,共10分)⒈ 設(shè)串行異步通信每幀數(shù)據(jù)格式有8個(gè)數(shù)據(jù)位、無校驗(yàn)、一個(gè)停止位,若波特率為9600B/S,該方式每秒最多能傳送( )個(gè)字符。 ① 1200 ② 150 ③ 960 ④ 120 2.輸出指令在I/O接口總線上產(chǎn)生正確的命令順序是( )。① 先發(fā)地址碼,再發(fā)讀命令,最后讀數(shù)據(jù)。② 先發(fā)讀命令、再發(fā)地址碼,最后讀數(shù)據(jù)。③ 先送地址碼,再送數(shù)據(jù),最后發(fā)寫命令。④ 先送地址碼,再發(fā)寫命令、最后送數(shù)據(jù)。3 使用8254設(shè)計(jì)定時(shí)器,當(dāng)輸入頻率為1MHZ并輸出頻率為100HZ時(shí),該定時(shí)器的計(jì)數(shù)初值為( )。 ① 100 ② 1000 ③ 10000 ④ 其它 4 在PC機(jī)中5號(hào)中斷,它的中斷向地址是( )。 ① 0000H:0005H ② 0000H:0010H ③ 0000H:0014H ④ 0000H:0020H 5. 四片8259級(jí)聯(lián)時(shí)可提供的中斷請(qǐng)求總數(shù)為( )。 ① 29個(gè) ② 30個(gè) ③ 31個(gè) ④ 32個(gè) 6. 下述總線中,組內(nèi)都是外設(shè)串行總線為( )組。① RS-485、IDE、ISA。② RS-485、IEEE1394、USB。③ RS-485、PCI、IEEE1394。④ USB、SCSI、RS-232。 7. DMA在( )接管總線的控制權(quán)。① 申請(qǐng)階段 ② 響應(yīng)階段 ③ 數(shù)據(jù)傳送階段 ④ 結(jié)束階段 8. 中斷服務(wù)程序入口地址是( )。 ① 中斷向量表的指針 ② 中斷向量 ③ 中斷向量表 ④ 中斷號(hào)
上傳時(shí)間: 2013-11-16
上傳用戶:xiaoxiang
pic單片機(jī)實(shí)用教程(提高篇)以介紹PIC16F87X型號(hào)單片機(jī)為主,并適當(dāng)兼顧PIC全系列,共分9章,內(nèi)容包括:存儲(chǔ)器;I/O端口的復(fù)位功能;定時(shí)器/計(jì)數(shù)器TMR1;定時(shí)器TMR2;輸入捕捉/輸出比較/脈寬調(diào)制CCP;模/數(shù)轉(zhuǎn)換器ADC;通用同步/異步收發(fā)器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特點(diǎn):通俗易懂、可讀性強(qiáng)、系統(tǒng)全面、學(xué)練結(jié)合、學(xué)用并重、實(shí)例豐富、習(xí)題齊全。<br>本書作為Microchip公司大學(xué)計(jì)劃選擇用書,可廣泛適用于初步具備電子技術(shù)基礎(chǔ)和計(jì)算機(jī)知識(shí)基礎(chǔ)的學(xué)生、教師、單片機(jī)愛好者、電子制作愛好者、電器維修人員、電子產(chǎn)品開發(fā)設(shè)計(jì)者、工程技術(shù)人員閱讀。本教程全書共分2篇,即基礎(chǔ)篇和提高篇,分2冊(cè)出版,以適應(yīng)不同課時(shí)和不同專業(yè)的需要,也為教師和讀者增加了一種可選方案。 第1章 EEPROM數(shù)據(jù)存儲(chǔ)器和FIASH程序存儲(chǔ)器1.1 背景知識(shí)1.1.1 通用型半導(dǎo)體存儲(chǔ)器的種類和特點(diǎn)1.1.2 PIC單片機(jī)內(nèi)部的程序存儲(chǔ)器1.1.3 PIC單片機(jī)內(nèi)部的EEPROM數(shù)據(jù)存儲(chǔ)器1.1.4 PIC16F87X內(nèi)部EEPROM和FIASH操作方法1.2 與EEPROM相關(guān)的寄存器1.3 片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)和操作原理1.3.1 從EEPROM中讀取數(shù)據(jù)1.3.2 向EEPROM中燒寫數(shù)據(jù)1.4 與FLASH相關(guān)的寄存器1.5 片內(nèi)FLASH程序存儲(chǔ)器結(jié)構(gòu)和操作原理1.5.1 讀取FLASH程序存儲(chǔ)器1.5.2 燒寫FLASH程序存儲(chǔ)器1.6 寫操作的安全保障措施1.6.1 寫入校驗(yàn)方法1.6.2 預(yù)防意外寫操作的保障措施1.7 EEPROM和FLASH應(yīng)用舉例1.7.1 EEPROM的應(yīng)用1.7.2 FIASH的應(yīng)用思考題與練習(xí)題第2章 輸入/輸出端口的復(fù)合功能2.1 RA端口2.1.1 與RA端口相關(guān)的寄存器2.1.2 電路結(jié)構(gòu)和工作原理2.1.3 編程方法2.2 RB端口2.2.1 與RB端口相關(guān)的寄存器2.2.2 電路結(jié)構(gòu)和工作原理2.2.3 編程方法2.3 RC端口2.3.1 與RC端口相關(guān)的寄存器2.3.2 電路結(jié)構(gòu)和工作原理2.3.3 編程方法2.4 RD端口2.4.1 與RD端口相關(guān)的寄存器2.4.2 電路結(jié)構(gòu)和工作原理2.4.3 編程方法2.5 RE端口2.5.1 與RE端口相關(guān)的寄存器2.5.2 電路結(jié)構(gòu)和工作原理2.5.3 編程方法2.6 PSP并行從動(dòng)端口2.6.1 與PSP端口相關(guān)的寄存器2.6.2 電路結(jié)構(gòu)和工作原理2.7 應(yīng)用舉例思考題與練習(xí)題第3章 定時(shí)器/計(jì)數(shù)器TMR13.1 定時(shí)器/計(jì)數(shù)器TMR1模塊的特性3.2 定時(shí)器/計(jì)數(shù)器TMR1模塊相關(guān)的寄存器3.3 定時(shí)器/計(jì)數(shù)器TMR1模塊的電路結(jié)構(gòu)3.4 定時(shí)器/計(jì)數(shù)器TMR1模塊的工作原理3.4.1 禁止TMR1工作3.4.2 定時(shí)器工作方式3.4.3 計(jì)數(shù)器工作方式3.4.4 TMR1寄存器的賦值與復(fù)位3.5 定時(shí)器/計(jì)數(shù)器TMR1模塊的應(yīng)用舉例思考題與練習(xí)題第4章 定時(shí)器TMR24.1 定時(shí)器TMR2模塊的特性4.2 定時(shí)器TMR2模塊相關(guān)的寄存器4.3 定時(shí)器TMR2模塊的電路結(jié)構(gòu)4.4 定時(shí)器TMR2模塊的工作原理4.4.1 禁止TMR2工作4.4.2 定時(shí)器工作方式4.4.3 寄存器TMR2和PR2以及分頻器的復(fù)位4.4.4 TMR2模塊的初始化編程4.5 定時(shí)器TMR2模塊的應(yīng)用舉例思考題與練習(xí)題第5章 輸入捕捉/輸出比較/脈寬調(diào)制CCP5.1 輸入捕捉工作模式5.1.1 輸入捕捉摸式相關(guān)的寄存器5.1.2 輸入捕捉模式的電路結(jié)構(gòu)5.1.3 輸入捕捉摸式的工作原理5.1.4 輸入捕捉摸式的應(yīng)用舉例5.2 輸出比較工作模式5.2.1 輸出比較模式相關(guān)的寄存器5.2.2 輸出比較模式的電路結(jié)構(gòu)5.2.3 輸出比較模式的工作原理5.2.4 輸出比較模式的應(yīng)用舉例5.3 脈寬調(diào)制輸出工作模式5.3.1 脈寬調(diào)制模式相關(guān)的寄存器5.3.2 脈寬調(diào)制模式的電路結(jié)構(gòu)5.3.3 脈寬調(diào)制模式的工作原理5.3.4 脈定調(diào)制模式的應(yīng)用舉例5.4 兩個(gè)CCP模塊之間相互關(guān)系思考題與練習(xí)題第6章 模/數(shù)轉(zhuǎn)換器ADC6.1 背景知識(shí)6.1.1 ADC種類與特點(diǎn)6.1.2 ADC器件的工作原理6.2 PIC16F87X片內(nèi)ADC模塊6.2.1 ADC模塊相關(guān)的寄存器6.2.2 ADC模塊結(jié)構(gòu)和操作原理6.2.3 ADC模塊操作時(shí)間要求6.2.4 特殊情況下的A/D轉(zhuǎn)換6.2.5 ADC模塊的轉(zhuǎn)換精度和分辨率6.2.6 ADC模塊的內(nèi)部動(dòng)作流程和傳遞函數(shù)6.2.7 ADC模塊的操作編程6.3 PIC16F87X片內(nèi)ADC模塊的應(yīng)用舉例思考題與練習(xí)題第7章 通用同步/異步收發(fā)器USART7.1 串行通信的基本概念7.1.1 串行通信的兩種基本方式7.1.2 串行通信中數(shù)據(jù)傳送方向7.1.3 串行通信中的控制方式7.1.4 串行通信中的碼型、編碼方式和幀結(jié)構(gòu)7.1.5 串行通信中的檢錯(cuò)和糾錯(cuò)方式7.1.6 串行通信組網(wǎng)方式7.1.7 串行通信接口電路和參數(shù)7.1.8 串行通信的傳輸速率7.2 PIC16F87X片內(nèi)通用同步/異步收發(fā)器USART模塊7.2.1 與USART模塊相關(guān)的寄存器7.2.2 USART波特率發(fā)生器BRG7.2.3 USART模塊的異步工作方式7.2.4 USART模塊的同步主控工作方式7.2.5 USART模塊的同步從動(dòng)工作方式7.3 通用同步/異步收發(fā)器USART的應(yīng)用舉例思考題與練習(xí)題第8章 主控同步串行端口MSSP——SPI模式8.1 SPI接口的背景知識(shí)8.1.1 SPI接口信號(hào)描述8.1.2 基于SPI的系統(tǒng)構(gòu)成方式8.1.3 SPI接口工作原理8.1.4 兼容的MicroWire接口8.2 PIC16F87X的SPI接口8.2.1 SPI接口相關(guān)的寄存器8.2.2 SPI接口的結(jié)構(gòu)和操作原理8.2.3 SPI接口的主控方式8.2.4 SPI接口的從動(dòng)方式8.3 SPI接口的應(yīng)用舉例思考題與練習(xí)題第9章 主控同步串行端口MSSP——I(平方)C模式9.1 I(平方)C總線的背景知識(shí)9.1.1 名詞術(shù)語9.1.2 I(平方)C總線的技術(shù)特點(diǎn)9.1.3 I(平方)C總線的基本工作原理9.1.4 I(平方)C總線信號(hào)時(shí)序分析9.1.5 信號(hào)傳送格式9.1.6 尋址約定9.1.7 技術(shù)參數(shù)9.1.8 I(平方)C器件與I(平方)C總線的接線方式9.1.9 相兼容的SMBus總線9.2 與I(平方)C總線相關(guān)的寄存器9.3 典型信號(hào)時(shí)序的產(chǎn)生方法9.3.1 波特率發(fā)生器9.3.2 啟動(dòng)信號(hào)9.3.3 重啟動(dòng)信號(hào)9.3.4 應(yīng)答信號(hào)9.3.5 停止信號(hào)9.4 被控器通信方式9.4.1 硬件結(jié)構(gòu)9.4.2 被主控器尋址9.4.3 被控器接收——被控接收器9.4.4 被控器發(fā)送——被控發(fā)送器9.4.5 廣播式尋址9.5 主控器通信方式9.5.1 硬件結(jié)構(gòu)9.5.2 主控器發(fā)送——主控發(fā)送器9.5.3 主控器接收——主控接收器9.6 多主通信方式下的總線沖突和總線仲裁9.6.1 發(fā)送和應(yīng)答過程中的總線沖突9.6.2 啟動(dòng)過程中的總線沖突9.6.3 重啟動(dòng)過程中的總線沖突9.6.4 停止過程中的總線沖突9.7 I(平方)C總線的應(yīng)用舉例思考題與練習(xí)題附錄A 包含文件P16F877.INC附錄B 新版宏匯編器MPASM偽指令總表參考文獻(xiàn)
標(biāo)簽: pic 單片機(jī) 實(shí)用教程
上傳時(shí)間: 2013-12-14
上傳用戶:xiaoyuer
基于USB接口的數(shù)據(jù)采集模塊的設(shè)計(jì)與實(shí)現(xiàn)Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大學(xué)電子信息與自動(dòng)化學(xué)院,天津300222)摘要文中給出基于USB接口的數(shù)據(jù)采集模塊的設(shè)計(jì)與實(shí)現(xiàn)。硬件設(shè)計(jì)采用以Adpc831與PDIUSBDI2為主的器件進(jìn)行硬件設(shè)計(jì),采用Windriver開發(fā)USB驅(qū)動(dòng),并用Visual C十十6.0對(duì)主機(jī)軟件中硬件接口操作部分進(jìn)行動(dòng)態(tài)鏈接庫封裝。關(guān)鍵詞USB 數(shù)據(jù)采集Adpc831 PDNSBDI2 Windriver動(dòng)態(tài)鏈接庫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場(chǎng)Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries場(chǎng)Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B總 線 是新一代接口總線,最初推出的目的是為了統(tǒng)一取代PC機(jī)的各類外設(shè)接口,迄今經(jīng)歷了1.0,1.1與2.0版本3個(gè)標(biāo)準(zhǔn)。在國內(nèi)基于USB總線的相關(guān)設(shè)計(jì)與開發(fā)也得到了快速的發(fā)展,很多設(shè)計(jì)者從各自的應(yīng)用領(lǐng)域,用不同方案設(shè)計(jì)出了相應(yīng)的裝置[1,2]。數(shù)據(jù)采集是工業(yè)控制中一個(gè)普遍而重要的環(huán)節(jié),因此開發(fā)基于USB接口的數(shù)據(jù)采集模塊具有很強(qiáng)的現(xiàn)實(shí)應(yīng)用意義。雖然 US B總線標(biāo)準(zhǔn)已經(jīng)發(fā)展到2.0版本,但由于工業(yè)控制現(xiàn)場(chǎng)干擾信號(hào)的情況比較復(fù)雜,高速數(shù)據(jù)傳輸?shù)目煽啃圆蝗菀妆槐WC,并且很多場(chǎng)合對(duì)數(shù)據(jù)采集的實(shí)時(shí)性要求并不高,開發(fā)2.0標(biāo)準(zhǔn)產(chǎn)品的成本又較1.1標(biāo)準(zhǔn)產(chǎn)品高,所以筆者認(rèn)為,在工業(yè)控制領(lǐng)域,目前開發(fā)基于USB總線1.1標(biāo)準(zhǔn)實(shí)現(xiàn)的數(shù)據(jù)采集模塊的實(shí)用意義大于相應(yīng)2.0標(biāo)準(zhǔn)模塊。
標(biāo)簽: USB 接口 數(shù)據(jù)采集模塊
上傳時(shí)間: 2013-10-23
上傳用戶:q3290766
微處理器及微型計(jì)算機(jī)的發(fā)展概況 第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機(jī)。 第二代微處理機(jī)(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。 第三代微處理機(jī) 第三代微機(jī)是以16位機(jī)為代表,基本上是在第二代微機(jī)的基礎(chǔ)上發(fā)展起來的。其中Intel公司的8088。8086是在8085的基礎(chǔ)發(fā)展起來的;M68000是Motorola公司在M6800 的基礎(chǔ)發(fā)展起來的; 第四代微處理機(jī) 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表, 第五代微處理機(jī)的發(fā)展更加迅猛,1993年3月被命名為PENTIUM的微處理機(jī)面世,98年P(guān)ENTIUM 2又被推向市場(chǎng)。 INTEL CPU 發(fā)展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運(yùn)算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個(gè),10微米制造工藝,最大尋址內(nèi)存640 bytes,生產(chǎn)曰期1971年11月. 8085,8位主理器,主頻5M,運(yùn)算速度0.37MIPs,集成晶體管6,500個(gè),3微米制造工藝,最大尋址內(nèi)存64KB,生產(chǎn)曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運(yùn)算速度0.75MIPs,集成晶體管29,000個(gè),3微米制造工藝,最大尋址內(nèi)存1MB,生產(chǎn)曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運(yùn)算速度20~60MIPs,集成晶體管1.2M個(gè),1微米制造工藝,168針PGA,最大尋址內(nèi)存4GB,緩存8/16/32/64KB,生產(chǎn)曰期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微米制造工藝,生產(chǎn)曰期1998年4月) Pentium 4 (478針),至今分為三種核心:Willamette核心(主頻1.5G起,FSB400MHZ,0.18微米制造工藝),Northwood核心(主頻1.6G~3.0G,FSB533MHZ,0.13微米制造工藝, 二級(jí)緩存512K),Prescott核心(主頻2.8G起,FSB800MHZ,0.09微米制造工藝,1M二級(jí)緩存,13條全新指令集SSE3),生產(chǎn)曰期2001年7月. 更大的緩存、更高的頻率、 超級(jí)流水線、分支預(yù)測(cè)、亂序執(zhí)行超線程技術(shù) 微型計(jì)算機(jī)組成結(jié)構(gòu)單片機(jī)簡介單片機(jī)即單片機(jī)微型計(jì)算機(jī),是將計(jì)算機(jī)主機(jī)(CPU、 內(nèi)存和I/O接口)集成在一小塊硅片上的微型機(jī)。 三、計(jì)算機(jī)編程語言的發(fā)展概況 機(jī)器語言 機(jī)器語言就是0,1碼語言,是計(jì)算機(jī)唯一能理解并直接執(zhí)行的語言。匯編語言 用一些助記符號(hào)代替用0,1碼描述的某種機(jī)器的指令系統(tǒng),匯編語言就是在此基礎(chǔ)上完善起來的。高級(jí)語言 BASIC,PASCAL,C語言等等。用高級(jí)語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計(jì)算機(jī)處理。 面向?qū)ο笳Z言 C++,Java等編程語言是面向?qū)ο蟮恼Z言。 1.3 微型計(jì)算機(jī)中信息的表示及運(yùn)算基礎(chǔ)(一) 十進(jìn)制ND有十個(gè)數(shù)碼:0~9,逢十進(jìn)一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權(quán)展開式以10稱為基數(shù),各位系數(shù)為0~9,10i為權(quán)。 一般表達(dá)式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進(jìn)制NB兩個(gè)數(shù)碼:0、1, 逢二進(jìn)一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權(quán)展開式以2為基數(shù),各位系數(shù)為0、1, 2i為權(quán)。 一般表達(dá)式: NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進(jìn)制NH十六個(gè)數(shù)碼0~9、A~F,逢十六進(jìn)一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數(shù),各位系數(shù)為0~9,A~F,16i為權(quán)。 一般表達(dá)式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進(jìn)位計(jì)數(shù)制之間的轉(zhuǎn)換 (二)二進(jìn)制與十六進(jìn)制數(shù)之間的轉(zhuǎn)換 24=16 ,四位二進(jìn)制數(shù)對(duì)應(yīng)一位十六進(jìn)制數(shù)。舉例:(三)十進(jìn)制數(shù)轉(zhuǎn)換成二、十六進(jìn)制數(shù)整數(shù)、小數(shù)分別轉(zhuǎn)換 1.整數(shù)轉(zhuǎn)換法“除基取余”:十進(jìn)制整數(shù)不斷除以轉(zhuǎn)換進(jìn)制基數(shù),直至商為0。每除一次取一個(gè)余數(shù),從低位排向高位。舉例: 2. 小數(shù)轉(zhuǎn)換法“乘基取整”:用轉(zhuǎn)換進(jìn)制的基數(shù)乘以小數(shù)部分,直至小數(shù)為0或達(dá)到轉(zhuǎn)換精度要求的位數(shù)。每乘一次取一次整數(shù),從最高位排到最低位。舉例: 三、帶符號(hào)數(shù)的表示方法 機(jī)器數(shù):機(jī)器中數(shù)的表示形式。真值: 機(jī)器數(shù)所代表的實(shí)際數(shù)值。舉例:一個(gè)8位機(jī)器數(shù)與它的真值對(duì)應(yīng)關(guān)系如下: 真值: X1=+84=+1010100B X2=-84= -1010100B 機(jī)器數(shù):[X1]機(jī)= 01010100 [X2]機(jī)= 11010100(二)原碼、反碼、補(bǔ)碼最高位為符號(hào)位,0表示 “+”,1表示“-”。 數(shù)值位與真值數(shù)值位相同。 例 8位原碼機(jī)器數(shù): 真值: x1 = +1010100B x2 =- 1010100B 機(jī)器數(shù): [x1]原 = 01010100 [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運(yùn)算復(fù)雜。 正數(shù)的反碼與原碼表示相同。 負(fù)數(shù)反碼符號(hào)位為 1,數(shù)值位為原碼數(shù)值各位取反。 例 8位反碼機(jī)器數(shù): x= +4: [x]原= 00000100 [x]反= 00000100 x= -4: [x]原= 10000100 [x]反= 111110113、補(bǔ)碼(Two’s Complement)正數(shù)的補(bǔ)碼表示與原碼相同。 負(fù)數(shù)補(bǔ)碼等于2n-abs(x)8位機(jī)器數(shù)表示的真值四、 二進(jìn)制編碼例:求十進(jìn)制數(shù)876的BCD碼 876= 1000 0111 0110 BCD 876= 36CH = 1101101100B 2、字符編碼 美國標(biāo)準(zhǔn)信息交換碼ASCII碼,用于計(jì)算 機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間傳遞信息。 3、漢字編碼 “國家標(biāo)準(zhǔn)信息交換用漢字編碼”(GB2312-80標(biāo)準(zhǔn)),簡稱國標(biāo)碼。 用兩個(gè)七位二進(jìn)制數(shù)編碼表示一個(gè)漢字 例如“巧”字的代碼是39H、41H漢字內(nèi)碼例如“巧”字的代碼是0B9H、0C1H1·4 運(yùn)算基礎(chǔ) 一、二進(jìn)制數(shù)的運(yùn)算加法規(guī)則:“逢2進(jìn)1” 減法規(guī)則:“借1當(dāng)2” 乘法規(guī)則:“逢0出0,全1出1”二、二—十進(jìn)制數(shù)的加、減運(yùn)算 BCD數(shù)的運(yùn)算規(guī)則 循十進(jìn)制數(shù)的運(yùn)算規(guī)則“逢10進(jìn)1”。但計(jì)算機(jī)在進(jìn)行這種運(yùn)算時(shí)會(huì)出現(xiàn)潛在的錯(cuò)誤。為了解決BCD數(shù)的運(yùn)算問題,采取調(diào)整運(yùn)算結(jié)果的措施:即“加六修正”和“減六修正”例: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 ……調(diào)整 1 0 1 0 1 0 1 1 1 進(jìn)位 例: 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 ……調(diào)整 0 0 0 1 1 0 0 1 三、 帶符號(hào)二進(jìn)制數(shù)的運(yùn)算 1.5 幾個(gè)重要的數(shù)字邏輯電路編碼器譯碼器計(jì)數(shù)器微機(jī)自動(dòng)工作的條件程序指令順序存放自動(dòng)跟蹤指令執(zhí)行1.6 微機(jī)基本結(jié)構(gòu)微機(jī)結(jié)構(gòu)各部分組成連接方式1、以CPU為中心的雙總線結(jié)構(gòu);2、以內(nèi)存為中心的雙總線結(jié)構(gòu);3、單總線結(jié)構(gòu)CPU結(jié)構(gòu)管腳特點(diǎn) 1、多功能;2、分時(shí)復(fù)用內(nèi)部結(jié)構(gòu) 1、控制; 2、運(yùn)算; 3、寄存器; 4、地址程序計(jì)數(shù)器堆棧定義 1、定義;2、管理;3、堆棧形式
上傳時(shí)間: 2013-10-17
上傳用戶:erkuizhang
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1