內(nèi)含測(cè)距底板原理圖及DataSheet、超聲波p89lpc932a1fdh電平觸發(fā)測(cè)距,超聲波測(cè)溫測(cè)距三合一,超聲波測(cè)距程序C51等待,反正很全了。
標(biāo)簽: 超聲波測(cè)距
上傳時(shí)間: 2013-11-13
上傳用戶:heheh
PIC mcu reference
標(biāo)簽: DataSheet f877 16f 877
上傳時(shí)間: 2013-11-21
上傳用戶:dajin
ARM 資料
標(biāo)簽: X-DataSheet 44
上傳時(shí)間: 2013-11-11
上傳用戶:chenbhdt
利用LPC微控制器進(jìn)行低成本的模/數(shù)轉(zhuǎn)換 AN10187 DataSheet 要想利用數(shù)字計(jì)算機(jī)來(lái)處理連續(xù)變化的數(shù)據(jù),就必須將模擬值轉(zhuǎn)換成數(shù)字量。模/數(shù)轉(zhuǎn)換器(ADC)根據(jù)不同的原理工作,其性能、效果和成本都會(huì)發(fā)生變化。某些微控制器具有能夠提供10位及更高分辨率的集成ADC,但所需的芯片面積和為了保證要求精度而進(jìn)行的全面試驗(yàn)增加了此類裝置的成本。
上傳時(shí)間: 2013-12-26
上傳用戶:清山綠水
ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開(kāi)關(guān)以及微處理機(jī)兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機(jī)直接接口。 adc0809 DataSheet
標(biāo)簽: 0809 ADC 轉(zhuǎn)換器 應(yīng)用技術(shù)
上傳時(shí)間: 2013-10-11
上傳用戶:kz_zank
Luminary Micro Stellaris™ microcontrollers that are equipped with an analog-to-digital converter(ADC), use an innovative sequence-based sampling architecture designed to be extremely flexible,yet easy to use. This application note describes the sampling architecture of the ADC. Sinceprogrammers can configure Stellaris microcontrollers either through the powerful StellarisFamilyDriver Library or through direct writes to the device's control registers, this application note describesboth methods. The information presented in this document is intended to complement the ADCchapter of the device DataSheet, and assumes the reader has a basic understanding of howADCsfunction.
標(biāo)簽: Microcontr Stellaris Using the
上傳時(shí)間: 2013-10-14
上傳用戶:blans
深入淺出AVR單片機(jī)思路清晰,以AVR單片機(jī)為載體,介紹了初學(xué)單片機(jī)所必須掌握的專業(yè)知識(shí)。書(shū)中語(yǔ)言嚴(yán)謹(jǐn)?shù)环τ哪L(fēng)趣,配以大量的照片、圖示和實(shí)例程序,使讀者在愉悅中完成專業(yè)知識(shí)的學(xué)習(xí),并培養(yǎng)了學(xué)習(xí)嵌入式系統(tǒng)的興趣。本書(shū)在講述AVR單片機(jī)的同時(shí),更注重于對(duì)讀者學(xué)習(xí)和設(shè)計(jì)能力的啟發(fā)、培養(yǎng),幫助他們養(yǎng)成“從實(shí)踐中來(lái),到實(shí)踐中去”的科學(xué)方法論,為進(jìn)一步的學(xué)習(xí)創(chuàng)造了基礎(chǔ)。 本書(shū)講述淺顯、內(nèi)容豐富、編排合理、實(shí)例詳盡。首先介紹了如何閱讀器件資料的方法,然后熟悉ICCAVR集成開(kāi)發(fā)環(huán)境并搭建實(shí)驗(yàn)開(kāi)發(fā)裝置,接著從實(shí)際應(yīng)用出發(fā),啟發(fā)式地介紹AVR單片機(jī)的常用資源和對(duì)應(yīng)軟件方法,最后較為全面地補(bǔ)充了從事嵌入式系統(tǒng)開(kāi)發(fā)要擴(kuò)展的軟件知識(shí)。 第1篇 Are you ready? 第1章 學(xué)會(huì)閱讀DataSheet 1.1 如何閱讀PDF文件,如何獲得DataSheet文件 1.2 DataSheet告訴我們些什么 1.3 如何看懂AVR的DataSheet 1.4 如何得到幫助 1.5 匯編語(yǔ)言執(zhí)行時(shí)間的計(jì)算方法 1.6 ATmega48/88/168常用熔絲的作用及其配置方法 1.7 對(duì)誤燒寫(xiě)為外部時(shí)鐘模式的解鎖方法 實(shí)例1 閱讀74HC595 DataSheet 第2章 深入開(kāi)發(fā)環(huán)境 2.1 認(rèn)識(shí)ICC編譯環(huán)境 2.2 事半功倍的代碼生成器 2.3 ICC之不得不說(shuō)的故事 2.4 AVR最小系統(tǒng)和下載線DIY 實(shí)例2 AVR最小系統(tǒng)DIY第2篇 Let\'s go! 第3章 從跑馬燈開(kāi)始 3.1 輸入/輸出界面 3.1.1 單片機(jī)的輸入/輸出設(shè)備——引腳 3.1.2 “芯”里有數(shù)——數(shù)碼管顯示 3.1.3 單片機(jī)的輸入/輸出設(shè)備——從按鍵到鍵盤(pán) 3.2 用ATmega48/88/168單片機(jī)端口驅(qū)動(dòng)數(shù)碼管 3.3 操縱ATmega48/88/168單片機(jī)端口 3.4 端口內(nèi)建上拉電阻的使用 3.5 端口位操作 實(shí)例3 跑馬燈 實(shí)例4 數(shù)碼管的顯示(上) 實(shí)例5 數(shù)碼管的顯示(下) 實(shí)例6 矩陣鍵盤(pán) 第4章 對(duì)不起接個(gè)電話 4.1 十萬(wàn)火急——中斷 4.2 中斷的特性 4.3 使用中斷時(shí)的注意事項(xiàng) 4.4 ATmega48/88/168單片機(jī)有哪些中斷源 4.5 如何編寫(xiě)一個(gè)中斷的服務(wù)程序代碼 4.6 ATmega48/88/168單片機(jī)中斷的開(kāi)關(guān)控制 4.7 ATmega48/88/168中斷標(biāo)志位 4.8 ATmega48/88/168中斷優(yōu)先級(jí) 4.9 ATmega48/88/168單片機(jī)中斷向量 4.10 中斷與查詢之爭(zhēng) 4.11 用查詢方式響應(yīng)外設(shè)中斷 4.12 中斷誤觸發(fā) 4.13 前后臺(tái)與原子操作 實(shí)例7 中斷喚醒的鍵盤(pán)掃描 實(shí)例8 旋轉(zhuǎn)編碼器 第5章 一秒究竟有多長(zhǎng) 5.1 單片機(jī)與時(shí)間 5.2 軟件延時(shí) 5.3 不需要加載的“自由計(jì)時(shí)器” 5.4 通過(guò)重加載控制定時(shí)中斷周期 5.5 使用代碼生成器生成定時(shí)器1初始化代碼 5.6 定時(shí)器的其他工作模式 5.7 PWM波及其應(yīng)用簡(jiǎn)介 5.8 人類能看懂的電子時(shí)鐘——實(shí)時(shí)時(shí)鐘簡(jiǎn)介 實(shí)例9 閃爍的燈 實(shí)例10 漸明漸暗的燈 實(shí)例11 復(fù)雜閃爍控制 第6章 電量低 6.1 從猜數(shù)游戲到A/D轉(zhuǎn)換器 6.2 ATmega48/88/168的A/D轉(zhuǎn)換器 6.3 ATmega48/88/168單片機(jī)中與A/D相關(guān)的引腳 6.4 ATmega48/88/168單片機(jī)中與A/D相關(guān)的寄存器 6.5 使用A/D時(shí)需要注意些什么 6.6 怎樣知道A/D轉(zhuǎn)換完成 6.7 讀取A/D的轉(zhuǎn)換結(jié)果 6.8 使用代碼生成器生成ADC初始化代碼 6.9 書(shū)寫(xiě)具有工程結(jié)構(gòu)的初始化代碼 6.10 電量計(jì)原理概述 …… 第7章 正在過(guò)收費(fèi)站 第8章 包裝的學(xué)問(wèn) 第9章 傻孩子求職記 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指針都是紙老虎 第13章 來(lái)自身邊的啟示 第14章 初識(shí)嵌入式系統(tǒng)
上傳時(shí)間: 2014-05-05
上傳用戶:佳期如夢(mèng)
串行編程器源程序(Keil C語(yǔ)言)//FID=01:AT89C2051系列編程器//實(shí)現(xiàn)編程的讀,寫(xiě),擦等細(xì)節(jié)//AT89C2051的特殊處:給XTAL一個(gè)脈沖,地址計(jì)數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0 P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準(zhǔn)備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設(shè)置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉(zhuǎn)換并設(shè)置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫(xiě)器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) //寫(xiě)一個(gè)單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗(yàn):循環(huán)讀,直到讀出與寫(xiě)入的數(shù)相同 { nTimeOut++; if(nTimeOut>1000)//超時(shí)了 { return 0; } } C2051_XTAL=1; C2051_XTAL=0;//一個(gè)脈沖指向下一個(gè)單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) //讀一個(gè)單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個(gè)脈沖指向下一個(gè)單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫(xiě)鎖定位{ InitPro01();//先設(shè)置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號(hào) if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); } if(ComBuf[2]>=2) { C2051_P3_3=1; C2051_P3_4=1; C2051_P3_5=0; C2051_P3_7=0; Delay_us(20); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設(shè)置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}
上傳時(shí)間: 2013-11-12
上傳用戶:gut1234567
什么是JTAG 到底什么是JTAG呢? JTAG(Joint Test Action Group)聯(lián)合測(cè)試行動(dòng)小組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試。現(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。 JTAG最初是用來(lái)對(duì)芯片進(jìn)行測(cè)試的,基本原理是在器件內(nèi)部定義一個(gè)TAP(Test Access Port�測(cè)試訪問(wèn)口)通過(guò)專用的JTAG測(cè)試工具對(duì)進(jìn)行內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試。JTAG測(cè)試允許多個(gè)器件通過(guò)JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,能實(shí)現(xiàn)對(duì)各個(gè)器件分別測(cè)試。現(xiàn)在,JTAG接口還常用于實(shí)現(xiàn)ISP(In-System rogrammable�在線編程),對(duì)FLASH等器件進(jìn)行編程。 JTAG編程方式是在線編程,傳統(tǒng)生產(chǎn)流程中先對(duì)芯片進(jìn)行預(yù)編程現(xiàn)再裝到板上因此而改變,簡(jiǎn)化的流程為先固定器件到電路板上,再用JTAG編程,從而大大加快工程進(jìn)度。JTAG接口可對(duì)PSD芯片內(nèi)部的所有部件進(jìn)行編程 JTAG的一些說(shuō)明 通常所說(shuō)的JTAG大致分兩類,一類用于測(cè)試芯片的電氣特性,檢測(cè)芯片是否有問(wèn)題;一類用于Debug;一般支持JTAG的CPU內(nèi)都包含了這兩個(gè)模塊。 一個(gè)含有JTAG Debug接口模塊的CPU,只要時(shí)鐘正常,就可以通過(guò)JTAG接口訪問(wèn)CPU的內(nèi)部寄存器和掛在CPU總線上的設(shè)備,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)內(nèi)置模塊的寄存器,象UART,Timers,GPIO等等的寄存器。 上面說(shuō)的只是JTAG接口所具備的能力,要使用這些功能,還需要軟件的配合,具體實(shí)現(xiàn)的功能則由具體的軟件決定。 例如下載程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要參照SOC DataSheet的寄存器說(shuō)明,設(shè)置RAM的基地址,總線寬度,訪問(wèn)速度等等。有的SOC則還需要Remap,才能正常工作。運(yùn)行Firmware時(shí),這些設(shè)置由Firmware的初始化程序完成。但如果使用JTAG接口,相關(guān)的寄存器可能還處在上電值,甚至?xí)r錯(cuò)誤值,RAM不能正常工作,所以下載必然要失敗。要正常使用,先要想辦法設(shè)置RAM。在ADW中,可以在Console窗口通過(guò)Let 命令設(shè)置,在AXD中可以在Console窗口通過(guò)Set命令設(shè)置。
上傳時(shí)間: 2013-10-23
上傳用戶:aeiouetla
上傳時(shí)間: 2014-04-28
上傳用戶:maizezhen
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1