BC20-TE-B NB-Iot 評估板評估板原廠原理圖V1.2。完整對應(yīng)實物裝置。
上傳時間: 2022-06-17
上傳用戶:
ASR M08-B設(shè)置軟件 V3.2 arduino 2560+ASRM08-B測試程序 arduino UNO+ASRM08-B測試程序語音控制臺燈電路圖及C51源碼(不帶校驗碼) 繼電器模塊設(shè)置。 ASR M08-B是一款語音識別模塊。首先對模塊添加一些關(guān)鍵字,對著該模塊說出關(guān)鍵字,串口會返回三位的數(shù),如果是返回特定的三位數(shù)字,還會引起ASR M08-B的相關(guān)引腳電平的變化。【測試】①打開“ASR M08-B設(shè)置軟件 V3.2.exe”。②選擇“串口號”、“打開串口”、點選“十六進制顯示”。③將USB轉(zhuǎn)串口模塊連接到語音識別模塊上。接線方法如下:語音模塊TXD --> USB模塊RXD語音模塊RXD --> USB模塊TXD語音模塊GND --> USB模塊GND語音模塊3V3 --> USB模塊3V3(此端為3.3V電源供電端。)④將模塊的開關(guān)撥到“A”端,最好再按一次上面的大按鈕(按一次即可,為了確保模塊工作在正確的模式)。⑤對著模塊說“開燈”、“關(guān)燈”模塊會返回“0B”、“0A”,表示正常(注意:0B對應(yīng)返回值010,0B對應(yīng)返回值010,返回是16進制顯示的嘛,設(shè)置的時候是10進制設(shè)置的)。
標(biāo)簽: ASR M08-B
上傳時間: 2022-07-06
上傳用戶:aben
本書著眼于無線通信安全領(lǐng)域,以無線通信距離由近及遠(yuǎn)的順序,討論各種無線通信系統(tǒng)的安全問題。協(xié)議分析結(jié)合攻防實例,深入介紹安全攻防技術(shù)。案例題材囊括物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、移動通信、衛(wèi)星導(dǎo)航及相關(guān)的軟硬件安全。本書共分 9 章,其中第 1 章介紹作者在無線安全攻防領(lǐng)域多年來的思路、理念及對該領(lǐng)域未來的展望;第 2~8 章分別介紹各種無線通信系統(tǒng)的安全攻防(RFID、無線遙控、ADS-B、BLE、ZigBee、移動通信、衛(wèi)星通信等)及實例測試;第9 章介紹無線安全研究的重要手段,軟件無線電工具GNU Radio和相關(guān)硬件的詳細(xì)使用。希望本書可以為對無線通信安全感興趣的同學(xué)、從業(yè)者、產(chǎn)品研發(fā)人員提供有價值的安全參考。
標(biāo)簽: 無線電
上傳時間: 2022-07-11
上傳用戶:
目前國內(nèi)井下水泵電機多數(shù)采用傳統(tǒng)的人工進行控制,即人工加繼電器進行控制的方法。這種方法控制線路復(fù)雜,設(shè)備運行的自動化程度低,可靠性差,工人勞動強度大,應(yīng)急能力差等缺點。針對當(dāng)前國家對煤礦企業(yè)安全生產(chǎn)要求的不斷提高和企業(yè)自身發(fā)展所遇到的實際問題,研制了基于ARM的煤礦井下水泵電機網(wǎng)絡(luò)監(jiān)控系統(tǒng),不僅可以完成水位檢測、軸溫檢測、流量檢測、水泵起動、停止及其過程控制,而且還可以進行數(shù)據(jù)傳輸、處理等工作。它具有以下特點:水位實時在線檢測與顯示;水泵啟動與停止控制;多臺水泵實時“輪班工作制”;根據(jù)涌水量大小和用電“避峰就谷”原則,控制投入運行的水泵臺數(shù);與監(jiān)控中心聯(lián)網(wǎng),實行集中控制。 本文所設(shè)計的監(jiān)控系統(tǒng)由監(jiān)控中心、監(jiān)控終端和遠(yuǎn)程訪問三部分組成,分別介紹了監(jiān)控系統(tǒng)的硬件設(shè)計、電機保護算法設(shè)計、系統(tǒng)通訊網(wǎng)絡(luò)的設(shè)計和監(jiān)控系統(tǒng)軟件的設(shè)計。 監(jiān)控系統(tǒng)的硬件設(shè)計主要針對監(jiān)控終端的硬件設(shè)計,它采用S3C440X作為監(jiān)控終端的處理芯片。根據(jù)監(jiān)測的主要參數(shù)如水泵電機電流、電壓、水泵開停狀態(tài)、電機溫度、井底水倉水位、水泵出口流量的實際特點,通過ARM芯片的快速處理運算能力,實時計算出水泵的三相有功功率和無功功率、功率因數(shù)等參量,井底水倉的水位和水泵出水口的流量、水泵的三相電壓和電流準(zhǔn)確值。把處理運算的結(jié)果通過以太網(wǎng)傳到監(jiān)控中心進行存儲、顯示和打印,同時監(jiān)控中心根據(jù)傳上來的結(jié)果進行判斷,然后根據(jù)判斷的情況確定是否需要給監(jiān)控終端發(fā)送控制命令。 電機保護算法設(shè)計方面,主要針對系統(tǒng)數(shù)據(jù)采集的特點,對相電流、相電壓進行交流信號采樣。對采樣后的數(shù)據(jù)運用快速傅立葉變換(FFT)進行數(shù)值計算,獲得了高精度的測量。 系統(tǒng)通訊網(wǎng)絡(luò)的設(shè)計主要針對系統(tǒng)兩層通訊網(wǎng)絡(luò)的協(xié)議進行分析與設(shè)計。監(jiān)控中心軟件采用基于Basic的可視化的程序設(shè)計語言Visual Basic6.0進行開發(fā)。客戶端利用計算機網(wǎng)絡(luò)技術(shù),使用B/S模式遠(yuǎn)程實現(xiàn)對系統(tǒng)運行數(shù)據(jù)的傳輸,以便可以查詢實時數(shù)據(jù)和歷史數(shù)據(jù),實現(xiàn)資源共享。
標(biāo)簽: ARM 煤礦井下 水泵電機 網(wǎng)絡(luò)監(jiān)控系統(tǒng)
上傳時間: 2013-06-25
上傳用戶:q123321
近年來,嵌入式Internet遠(yuǎn)程測控系統(tǒng)已成為計算機控制領(lǐng)域一個重要組成部分,它將計算機網(wǎng)絡(luò)、通信與自動控制技術(shù)相結(jié)合并成為新興的研究熱點。通過嵌入式Internet控制系統(tǒng),用戶只要在有網(wǎng)絡(luò)接入的地方,就可以對與網(wǎng)絡(luò)連接的任何現(xiàn)場設(shè)備進行遠(yuǎn)程測控。嵌入式系統(tǒng)可以根據(jù)應(yīng)用進行軟硬件的定制,特別適用于對成本、體積、功耗有嚴(yán)格要求的各種遠(yuǎn)程測控設(shè)備。該項技術(shù)的研究具有廣闊的應(yīng)用前景。 嵌入式Web遠(yuǎn)程監(jiān)控不同于以往的C/S和B/S網(wǎng)絡(luò)監(jiān)控技術(shù),它通常采用嵌入式系統(tǒng)作為Web服務(wù)器,使得系統(tǒng)的成本大大降低,且設(shè)備體積小巧,便于安裝、易于維護,安全可靠,此技術(shù)自問世以來得到了業(yè)界的廣泛關(guān)注,各式各樣的解決方案和實現(xiàn)方式層出不窮。 本文提出了一種基于ARM的嵌入式網(wǎng)絡(luò)控制系統(tǒng)。該系統(tǒng)以嵌入式Boa服務(wù)器作為遠(yuǎn)程信號的傳輸平臺。首先對網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)和工作原理作了詳細(xì)介紹,然后對嵌入式網(wǎng)絡(luò)控制系統(tǒng)的實現(xiàn)作了深入的探討和研究。 整個嵌入式網(wǎng)絡(luò)控制系統(tǒng)主要劃分為三個部分:嵌入式網(wǎng)絡(luò)控制系統(tǒng)硬件設(shè)計;嵌入式網(wǎng)絡(luò)控制器的軟件設(shè)計;嵌入式網(wǎng)絡(luò)控制系統(tǒng)Web服務(wù)器實現(xiàn)。系統(tǒng)選用主流的ARM微處理器LPC2210作為系統(tǒng)主控制器,并根據(jù)需要給出了具體的硬件電路設(shè)計,包括:存儲器接口電路、網(wǎng)絡(luò)接口電路、串行通信接口電路以及信號調(diào)理電路設(shè)計。鑒于μ Clinux對ARM技術(shù)的有力支持,且μ Clinux具有內(nèi)核可裁減、網(wǎng)絡(luò)功能強大、低成本、代碼開放等特點,通過對μ Clinux的裁減、配置和編譯,成功地將μ Clinux移植到LPC2210中。然后完成設(shè)備驅(qū)動開發(fā)、嵌入式網(wǎng)絡(luò)控制系統(tǒng)Boa服務(wù)器的構(gòu)建及系統(tǒng)應(yīng)用開發(fā)。 該嵌入式網(wǎng)絡(luò)控制系統(tǒng)融合監(jiān)控網(wǎng)與信息網(wǎng),實現(xiàn)了遠(yuǎn)程分布式測控和通訊。系統(tǒng)穩(wěn)定性高、實時性好、性價比高,具有廣泛的應(yīng)用價值,適用于工業(yè)、交通、電力、能源等眾多控制領(lǐng)域。
標(biāo)簽: ARM USB 嵌入式 主機系統(tǒng)
上傳時間: 2013-04-24
上傳用戶:xc216
近年來,嵌入式Internet遠(yuǎn)程測控系統(tǒng)已成為計算機控制領(lǐng)域一個重要組成部分,它將計算機網(wǎng)絡(luò)、通信與自動控制技術(shù)相結(jié)合并成為新興的研究熱點。通過嵌入式Internet控制系統(tǒng),用戶只要在有網(wǎng)絡(luò)接入的地方,就可以對與網(wǎng)絡(luò)連接的任何現(xiàn)場設(shè)備進行遠(yuǎn)程測控。嵌入式系統(tǒng)可以根據(jù)應(yīng)用進行軟硬件的定制,特別適用于對成本、體積、功耗有嚴(yán)格要求的各種遠(yuǎn)程測控設(shè)備。該項技術(shù)的研究具有廣闊的應(yīng)用前景。 嵌入式Web遠(yuǎn)程監(jiān)控不同于以往的C/S和B/S網(wǎng)絡(luò)監(jiān)控技術(shù),它通常采用嵌入式系統(tǒng)作為Web服務(wù)器,使得系統(tǒng)的成本大大降低,且設(shè)備體積小巧,便于安裝、易于維護,安全可靠,此技術(shù)自問世以來得到了業(yè)界的廣泛關(guān)注,各式各樣的解決方案和實現(xiàn)方式層出不窮。 本文提出了一種基于ARM的嵌入式網(wǎng)絡(luò)控制系統(tǒng)。該系統(tǒng)以嵌入式Boa服務(wù)器作為遠(yuǎn)程信號的傳輸平臺。首先對網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)和工作原理作了詳細(xì)介紹,然后對嵌入式網(wǎng)絡(luò)控制系統(tǒng)的實現(xiàn)作了深入的探討和研究。 整個嵌入式網(wǎng)絡(luò)控制系統(tǒng)主要劃分為三個部分:嵌入式網(wǎng)絡(luò)控制系統(tǒng)硬件設(shè)計;嵌入式網(wǎng)絡(luò)控制器的軟件設(shè)計;嵌入式網(wǎng)絡(luò)控制系統(tǒng)Web服務(wù)器實現(xiàn)。系統(tǒng)選用主流的ARM微處理器LPC2210作為系統(tǒng)主控制器,并根據(jù)需要給出了具體的硬件電路設(shè)計,包括:存儲器接口電路、網(wǎng)絡(luò)接口電路、串行通信接口電路以及信號調(diào)理電路設(shè)計。鑒于μ Clinux對ARM技術(shù)的有力支持,且μ Clinux具有內(nèi)核可裁減、網(wǎng)絡(luò)功能強大、低成本、代碼開放等特點,通過對μ Clinux的裁減、配置和編譯,成功地將μ Clinux移植到LPC2210中。然后完成設(shè)備驅(qū)動開發(fā)、嵌入式網(wǎng)絡(luò)控制系統(tǒng)Boa服務(wù)器的構(gòu)建及系統(tǒng)應(yīng)用開發(fā)。 該嵌入式網(wǎng)絡(luò)控制系統(tǒng)融合監(jiān)控網(wǎng)與信息網(wǎng),實現(xiàn)了遠(yuǎn)程分布式測控和通訊。系統(tǒng)穩(wěn)定性高、實時性好、性價比高,具有廣泛的應(yīng)用價值,適用于工業(yè)、交通、電力、能源等眾多控制領(lǐng)域。
標(biāo)簽: ARM 嵌入式網(wǎng)絡(luò) 控制 系統(tǒng)研究
上傳時間: 2013-06-13
上傳用戶:牛津鞋
簡易負(fù)離子發(fā)生器負(fù)離子增加,對人有催眠、止汗、鎮(zhèn)痛、增進食欲,使人精神爽快,消除疲勞的作用。圖1是負(fù)離子發(fā)生器電路圖。220V交流市電經(jīng)D1整流后向C3和C2充電,當(dāng)C2充電至氖泡導(dǎo)通并觸發(fā)SCR導(dǎo)通時,C3經(jīng)SCR、B的L1放電,經(jīng)B感應(yīng)升壓后,由D2反向整流得8kV直流高壓使發(fā)生器M的分子電離而產(chǎn)生負(fù)離子。調(diào)整R3的阻值可以改變觸發(fā)頻率和輸出電壓。調(diào)整時必須注意安全,更換元件需撥下電源插頭
標(biāo)簽: 負(fù)離子發(fā)生器
上傳時間: 2013-10-29
上傳用戶:731140412
MSP430系列flash型超低功耗16位單片機MSP430系列單片機在超低功耗和功能集成等方面有明顯的特點。該系列單片機自問世以來,頗受用戶關(guān)注。在2000年該系列單片機又出現(xiàn)了幾個FLASH型的成員,它們除了仍然具備適合應(yīng)用在自動信號采集系統(tǒng)、電池供電便攜式裝置、超長時間連續(xù)工作的設(shè)備等領(lǐng)域的特點外,更具有開發(fā)方便、可以現(xiàn)場編程等優(yōu)點。這些技術(shù)特點正是應(yīng)用工程師特別感興趣的。《MSP430系列FLASH型超低功耗16位單片機》對該系列單片機的FLASH型成員的原理、結(jié)構(gòu)、內(nèi)部各功能模塊及開發(fā)方法與工具作詳細(xì)介紹。MSP430系列FLASH型超低功耗16位單片機 目錄 第1章 引 論1.1 MSP430系列單片機1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 結(jié)構(gòu)概述2.1 引 言2.2 CPU2.3 程序存儲器2.4 數(shù)據(jù)存儲器2.5 運行控制2.6 外圍模塊2.7 振蕩器與時鐘發(fā)生器第3章 系統(tǒng)復(fù)位、中斷及工作模式3.1 系統(tǒng)復(fù)位和初始化3.1.1 引 言3.1.2 系統(tǒng)復(fù)位后的設(shè)備初始化3.2 中斷系統(tǒng)結(jié)構(gòu)3.3 MSP430 中斷優(yōu)先級3.3.1 中斷操作--復(fù)位/NMI3.3.2 中斷操作--振蕩器失效控制3.4 中斷處理 3.4.1 SFR中的中斷控制位3.4.2 中斷向量地址3.4.3 外部中斷3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗應(yīng)用的要點23第4章 存儲空間4.1 引 言4.2 存儲器中的數(shù)據(jù)4.3 片內(nèi)ROM組織4.3.1 ROM 表的處理4.3.2 計算分支跳轉(zhuǎn)和子程序調(diào)用4.4 RAM 和外圍模塊組織4.4.1 RAM4.4.2 外圍模塊--地址定位4.4.3 外圍模塊--SFR4.5 FLASH存儲器4.5.1 FLASH存儲器的組織4.5.2 FALSH存儲器的數(shù)據(jù)結(jié)構(gòu)4.5.3 FLASH存儲器的控制寄存器4.5.4 FLASH存儲器的安全鍵值與中斷4.5.5 經(jīng)JTAG接口訪問FLASH存儲器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序計數(shù)器PC5.1.2 系統(tǒng)堆棧指針SP5.1.3 狀態(tài)寄存器SR5.1.4 常數(shù)發(fā)生寄存器CG1和CG25.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令組概述5.3.1 雙操作數(shù)指令5.3.2 單操作數(shù)指令5.3.3 條件跳轉(zhuǎn)5.3.4 模擬指令的簡短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 無符號數(shù)相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符號數(shù)相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 無符號數(shù)乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符號數(shù)乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的軟件限制6.4.1 尋址模式6.4.2 中斷程序6.4.3 MACS第7章 基礎(chǔ)時鐘模塊7.1 基礎(chǔ)時鐘模塊7.2 LFXT1與XT27.2.1 LFXT1振蕩器7.2.2 XT2振蕩器7.2.3 振蕩器失效檢測7.2.4 XT振蕩器失效時的DCO7.3 DCO振蕩器7.3.1 DCO振蕩器的特性7.3.2 DCO調(diào)整器7.4 時鐘與運行模式7.4.1 由PUC啟動7.4.2 基礎(chǔ)時鐘調(diào)整7.4.3 用于低功耗的基礎(chǔ)時鐘特性7.4.4 選擇晶振產(chǎn)生MCLK7.4.5 時鐘信號的同步7.5 基礎(chǔ)時鐘模塊控制寄存器7.5.1 DCO時鐘頻率控制7.5.2 振蕩器與時鐘控制寄存器7.5.3 SFR控制位第8章 輸入輸出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中斷控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口邏輯第9章 看門狗定時器WDT9.1 看門狗定時器9.2 WDT寄存器9.3 WDT中斷控制功能9.4 WDT操作第10章 16位定時器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定時器模式控制10.2.2 時鐘源選擇和分頻10.2.3 定時器啟動10.3 定時器模式10.3.1 停止模式10.3.2 增計數(shù)模式10.3.3 連續(xù)模式10.3.4 增/減計數(shù)模式10.4 捕獲/比較模塊10.4.1 捕獲模式10.4.2 比較模式10.5 輸出單元10.5.1 輸出模式10.5.2 輸出控制模塊10.5.3 輸出舉例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕獲/比較控制寄存器CCTLx10.6.4 Timer_A中斷向量寄存器10.7 Timer_A的UART應(yīng)用 第11章 16位定時器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定時器長度11.2.2 定時器模式控制11.2.3 時鐘源選擇和分頻11.2.4 定時器啟動11.3 定時器模式11.3.1 停止模式11.3.2 增計數(shù)模式11.3.3 連續(xù)模式11.3.4 增/減計數(shù)模式11.4 捕獲/比較模塊11.4.1 捕獲模式11.4.2 比較模式11.5 輸出單元11.5.1 輸出模式11.5.2 輸出控制模塊11.5.3 輸出舉例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕獲/比較控制寄存器CCTLx11.6.4 Timer_B中斷向量寄存器第12章 USART通信模塊的UART功能12.1 異步模式12.1.1 異步幀格式12.1.2 異步通信的波特率發(fā)生器12.1.3 異步通信格式12.1.4 線路空閑多機模式12.1.5 地址位多機通信格式12.2 中斷和中斷允許12.2.1 USART接收允許12.2.2 USART發(fā)送允許12.2.3 USART接收中斷操作12.2.4 USART發(fā)送中斷操作12.3 控制和狀態(tài)寄存器12.3.1 USART控制寄存器UCTL12.3.2 發(fā)送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調(diào)整控制寄存器12.3.5 USART接收數(shù)據(jù)緩存URXBUF12.3.6 USART發(fā)送數(shù)據(jù)緩存UTXBUF12.4 UART模式,低功耗模式應(yīng)用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART的波特率12.4.3 多處理機模式對節(jié)約MSP430資源的支持12.5 波特率計算 第13章 USART通信模塊的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的從模式13.2 中斷與控制功能 13.2.1 USART接收/發(fā)送允許位及接收操作13.2.2 USART接收/發(fā)送允許位及發(fā)送操作13.2.3 USART接收中斷操作13.2.4 USART發(fā)送中斷操作13.3 控制與狀態(tài)寄存器13.3.1 USART控制寄存器13.3.2 發(fā)送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調(diào)制控制寄存器13.3.5 USART接收數(shù)據(jù)緩存URXBUF13.3.6 USART發(fā)送數(shù)據(jù)緩存UTXBUF第14章 比較器Comparator_A14.1 概 述14.2 比較器A原理14.2.1 輸入模擬開關(guān)14.2.2 輸入多路切換14.2.3 比較器14.2.4 輸出濾波器14.2.5 參考電平發(fā)生器14.2.6 比較器A中斷電路14.3 比較器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比較器A應(yīng)用14.4.1 模擬信號在數(shù)字端口的輸入14.4.2 比較器A測量電阻元件14.4.3 兩個獨立電阻元件的測量系統(tǒng)14.4.4 比較器A檢測電流或電壓14.4.5 比較器A測量電流或電壓14.4.6 測量比較器A的偏壓14.4.7 比較器A的偏壓補償14.4.8 增加比較器A的回差第15章 模數(shù)轉(zhuǎn)換器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC內(nèi)核15.2.2 參考電平15.3 模擬輸入與多路切換15.3.1 模擬多路切換15.3.2 輸入信號15.3.3 熱敏二極管的使用15.4 轉(zhuǎn)換存儲15.5 轉(zhuǎn)換模式15.5.1 單通道單次轉(zhuǎn)換模式15.5.2 序列通道單次轉(zhuǎn)換模式15.5.3 單通道重復(fù)轉(zhuǎn)換模式15.5.4 序列通道重復(fù)轉(zhuǎn)換模式15.5.5 轉(zhuǎn)換模式之間的切換15.5.6 低功耗15.6 轉(zhuǎn)換時鐘與轉(zhuǎn)換速度15.7 采 樣15.7.1 采樣操作15.7.2 采樣信號輸入選擇15.7.3 采樣模式15.7.4 MSC位的使用15.7.5 采樣時序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 轉(zhuǎn)換存儲寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中斷標(biāo)志寄存器ADC12IFG.x和中斷允許寄存器ADC12IEN.x15.8.5 中斷向量寄存器ADC12IV15.9 ADC12接地與降噪第16章 FLASH型芯片的開發(fā)16.1 開發(fā)系統(tǒng)概述16.1.1 開發(fā)技術(shù)16.1.2 MSP430系列的開發(fā)16.1.3 MSP430F系列的開發(fā)16.2 FLASH型的FET開發(fā)方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 標(biāo)準(zhǔn)復(fù)位過程和進入BSL過程16.3.2 BSL的UART協(xié)議16.3.3 數(shù)據(jù)格式16.3.4 退出BSL16.3.5 保護口令16.3.6 BSL的內(nèi)部設(shè)置和資源附錄A 尋址空間附錄B 指令說明B.1 指令匯總B.2 指令格式B.3 不增加ROM開銷的模擬指令B.4 指令說明(字母順序)B.5 用幾條指令模擬的宏指令附錄C MSP430系列單片機參數(shù)表附錄D MSP430系列單片機封裝形式附錄E MSP430系列器件命名
上傳時間: 2014-04-28
上傳用戶:sssnaxie
有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個符號鏈;2. 通過輸出到一個接口WDM驅(qū)動程序建議使用輸出到一個接口而不推薦使用創(chuàng)建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創(chuàng)建一個惟一的、獨立于語言的訪問設(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)用進程有效。驅(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)用進程有效。這里是一個用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
pic單片機實用教程(提高篇)以介紹PIC16F87X型號單片機為主,并適當(dāng)兼顧PIC全系列,共分9章,內(nèi)容包括:存儲器;I/O端口的復(fù)位功能;定時器/計數(shù)器TMR1;定時器TMR2;輸入捕捉/輸出比較/脈寬調(diào)制CCP;模/數(shù)轉(zhuǎn)換器ADC;通用同步/異步收發(fā)器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特點:通俗易懂、可讀性強、系統(tǒng)全面、學(xué)練結(jié)合、學(xué)用并重、實例豐富、習(xí)題齊全。<br>本書作為Microchip公司大學(xué)計劃選擇用書,可廣泛適用于初步具備電子技術(shù)基礎(chǔ)和計算機知識基礎(chǔ)的學(xué)生、教師、單片機愛好者、電子制作愛好者、電器維修人員、電子產(chǎn)品開發(fā)設(shè)計者、工程技術(shù)人員閱讀。本教程全書共分2篇,即基礎(chǔ)篇和提高篇,分2冊出版,以適應(yīng)不同課時和不同專業(yè)的需要,也為教師和讀者增加了一種可選方案。 第1章 EEPROM數(shù)據(jù)存儲器和FIASH程序存儲器1.1 背景知識1.1.1 通用型半導(dǎo)體存儲器的種類和特點1.1.2 PIC單片機內(nèi)部的程序存儲器1.1.3 PIC單片機內(nèi)部的EEPROM數(shù)據(jù)存儲器1.1.4 PIC16F87X內(nèi)部EEPROM和FIASH操作方法1.2 與EEPROM相關(guān)的寄存器1.3 片內(nèi)EEPROM數(shù)據(jù)存儲器結(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程序存儲器結(jié)構(gòu)和操作原理1.5.1 讀取FLASH程序存儲器1.5.2 燒寫FLASH程序存儲器1.6 寫操作的安全保障措施1.6.1 寫入校驗方法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并行從動端口2.6.1 與PSP端口相關(guān)的寄存器2.6.2 電路結(jié)構(gòu)和工作原理2.7 應(yīng)用舉例思考題與練習(xí)題第3章 定時器/計數(shù)器TMR13.1 定時器/計數(shù)器TMR1模塊的特性3.2 定時器/計數(shù)器TMR1模塊相關(guān)的寄存器3.3 定時器/計數(shù)器TMR1模塊的電路結(jié)構(gòu)3.4 定時器/計數(shù)器TMR1模塊的工作原理3.4.1 禁止TMR1工作3.4.2 定時器工作方式3.4.3 計數(shù)器工作方式3.4.4 TMR1寄存器的賦值與復(fù)位3.5 定時器/計數(shù)器TMR1模塊的應(yīng)用舉例思考題與練習(xí)題第4章 定時器TMR24.1 定時器TMR2模塊的特性4.2 定時器TMR2模塊相關(guān)的寄存器4.3 定時器TMR2模塊的電路結(jié)構(gòu)4.4 定時器TMR2模塊的工作原理4.4.1 禁止TMR2工作4.4.2 定時器工作方式4.4.3 寄存器TMR2和PR2以及分頻器的復(fù)位4.4.4 TMR2模塊的初始化編程4.5 定時器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 兩個CCP模塊之間相互關(guān)系思考題與練習(xí)題第6章 模/數(shù)轉(zhuǎn)換器ADC6.1 背景知識6.1.1 ADC種類與特點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模塊操作時間要求6.2.4 特殊情況下的A/D轉(zhuǎn)換6.2.5 ADC模塊的轉(zhuǎn)換精度和分辨率6.2.6 ADC模塊的內(nèi)部動作流程和傳遞函數(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 串行通信中的檢錯和糾錯方式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模塊的同步從動工作方式7.3 通用同步/異步收發(fā)器USART的應(yīng)用舉例思考題與練習(xí)題第8章 主控同步串行端口MSSP——SPI模式8.1 SPI接口的背景知識8.1.1 SPI接口信號描述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接口的從動方式8.3 SPI接口的應(yīng)用舉例思考題與練習(xí)題第9章 主控同步串行端口MSSP——I(平方)C模式9.1 I(平方)C總線的背景知識9.1.1 名詞術(shù)語9.1.2 I(平方)C總線的技術(shù)特點9.1.3 I(平方)C總線的基本工作原理9.1.4 I(平方)C總線信號時序分析9.1.5 信號傳送格式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 典型信號時序的產(chǎn)生方法9.3.1 波特率發(fā)生器9.3.2 啟動信號9.3.3 重啟動信號9.3.4 應(yīng)答信號9.3.5 停止信號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 啟動過程中的總線沖突9.6.3 重啟動過程中的總線沖突9.6.4 停止過程中的總線沖突9.7 I(平方)C總線的應(yīng)用舉例思考題與練習(xí)題附錄A 包含文件P16F877.INC附錄B 新版宏匯編器MPASM偽指令總表參考文獻
上傳時間: 2013-12-14
上傳用戶:xiaoyuer
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1