PCF8883T是NXP半導(dǎo)體最新推出的一款電容式接近開(kāi)關(guān),它采用了EDSIEN專利,用數(shù)字方法來(lái)檢測(cè)遙感板的電容變化。通過(guò)使用連續(xù)自動(dòng)校準(zhǔn)功能,可以自動(dòng)補(bǔ)償靜態(tài)的電容變化(而非動(dòng)態(tài)的電容變化)。遙感板(如導(dǎo)電箔)可以直接連接到IC,也可以使用同軸電纜與IC遠(yuǎn)程連接。
標(biāo)簽: 8883 PCF 應(yīng)用筆記
上傳時(shí)間: 2013-10-26
上傳用戶:XLHrest
PCF8883T是NXP半導(dǎo)體最新推出的一款電容式接近開(kāi)關(guān),它采用了EDSIEN專利,用數(shù)字方法來(lái)檢測(cè)遙感板的電容變化。通過(guò)使用連續(xù)自動(dòng)校準(zhǔn)功能,可以自動(dòng)補(bǔ)償靜態(tài)的電容變化(而非動(dòng)態(tài)的電容變化)。遙感板(如導(dǎo)電箔)可以直接連接到IC,也可以使用同軸電纜與IC遠(yuǎn)程連接。
上傳時(shí)間: 2013-10-28
上傳用戶:時(shí)代將軍
單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載 單片機(jī)第八課(尋址方式與指令系統(tǒng)) 通過(guò)前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開(kāi)始,我們將要系統(tǒng)地學(xué)習(xí)8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計(jì)算機(jī)做事,就得給計(jì)算機(jī)以指令,并且我們已知,計(jì)算機(jī)很“笨”,只能懂得數(shù)字,如前面我們寫(xiě)進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆耍y記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫(xiě)指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫(xiě)的匯編格式的指令轉(zhuǎn)換為機(jī)器碼格式,這種轉(zhuǎn)換有兩種方法:手工匯編和機(jī)器匯編。手工匯編實(shí)際上就是查表,因?yàn)檫@兩種格式純粹是格式不同,所以是一一對(duì)應(yīng)的,查一張表格就行了。不過(guò)手工查表總是嫌麻煩,所以就有了計(jì)算機(jī)軟件,用計(jì)算機(jī)軟件來(lái)替代手工查表,這就是機(jī)器匯編。 二、尋址 讓我們先來(lái)復(fù)習(xí)一下我們學(xué)過(guò)的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個(gè)因?yàn)樗腿氲臄?shù)可以讓燈全滅掉,第二個(gè)是為了要實(shí)現(xiàn)延時(shí),從這里我們可以看出來(lái),在用單片機(jī)的編程語(yǔ)言編程時(shí),經(jīng)常要用到數(shù)據(jù)的傳遞,事實(shí)上數(shù)據(jù)傳遞是單片機(jī)編程時(shí)的一項(xiàng)重要工作,一共有28條指令(單片機(jī)共111條指令)。下面我們就從數(shù)據(jù)傳遞類指令開(kāi)始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結(jié)論,第一個(gè)詞MOV是命令動(dòng)詞,也就是決定做什么事情的,MOV是MOVE少寫(xiě)了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類指令中,均將目的地寫(xiě)在指令的后面,而將源寫(xiě)在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫(xiě)的: MAIN: SETB P1.0 ;(1) LCALL DELAY ;(2) CLR P1.0 ;(3) LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,#250 ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表1 MAIN: SETB P1.0 ;(1) MOV 30H,#255 LCALL DELAY ; CLR P1.0 ;(3) MOV 30H,#200 LCALL DELAY ;(4) AJMP MAIN ;(5) ;以下子程序 DELAY: MOV R7,30H ;(6) D1: MOV R6,#250 ;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ;(9) RET ;(10) END ;(11) 表2 這樣一來(lái),我每次調(diào)用延時(shí)程序延時(shí)的時(shí)間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時(shí)時(shí)間為0.13S燈滅,燈滅后延時(shí)0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時(shí)程序改成這樣(見(jiàn)表2):調(diào)用則見(jiàn)表2中的主程,也就是先把一個(gè)數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過(guò)來(lái)的數(shù)確定。這樣就可以滿足要求。 從這里我們可以得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時(shí)候,這個(gè)數(shù)并不能直接給出,需要變化,這就引出了一個(gè)概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個(gè)問(wèn)題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來(lái),MOV A,00H,和MOV A,R0不就沒(méi)什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過(guò)程不同,執(zhí)行第一條指令需要2個(gè)周期,而第二條則只需要1個(gè)周期,第一條指令變成最終的目標(biāo)碼要兩個(gè)字節(jié)(E5H 00H),而第二條則只要一個(gè)字節(jié)(E8h)就可以了。 這么斤斤計(jì)較!不就差了一個(gè)周期嗎,如果是12M的晶振的話,也就1個(gè)微秒時(shí)間了,一個(gè)字節(jié)又能有多少? 不對(duì),如果這條指令只執(zhí)行一次,也許無(wú)所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬(wàn)次,就是1S的誤差,這就很可觀了,單片機(jī)做的是實(shí)時(shí)控制的事,所以必須如此“斤斤計(jì)較”。字節(jié)數(shù)同樣如此。 再來(lái)提一個(gè)問(wèn)題,現(xiàn)在我們已知,尋找操作數(shù)可以通過(guò)直接給的方式(立即尋址)和直接給出數(shù)所在單元地址的方式(直接尋址),這就夠了嗎? 看這個(gè)問(wèn)題,要求從30H單元開(kāi)始,取20個(gè)數(shù),分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數(shù),就用MOV A,30H,那么下一個(gè)數(shù)呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個(gè)數(shù),不是得20條指令才能寫(xiě)完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫(xiě)上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫(xiě)在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫(xiě)在指令中,而是把地址放在另外一個(gè)寄存器單元中,根據(jù)這個(gè)寄存器單元中的數(shù)值決定該到哪個(gè)單元中取數(shù)據(jù),比如,當(dāng)前這個(gè)寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個(gè)問(wèn)題了。怎么個(gè)解決法呢?既然是看的寄存器中的值,那么我們就可以通過(guò)一定的方法讓這里面的值發(fā)生變化,比如取完一個(gè)數(shù)后,將這個(gè)寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數(shù)的對(duì)象卻不一樣了,不是嗎。通過(guò)例子來(lái)說(shuō)明吧。 MOV R7,#20 MOV R0,#30H LOOP:MOV A,@R0 INC R0 DJNZ R7,LOOP 這個(gè)例子中大部份指令我們是能看懂的,第一句,是將立即數(shù)20送到R7中,執(zhí)行完后R7中的值應(yīng)當(dāng)是20。第二句是將立即數(shù)30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個(gè)值作為地址,取這個(gè)地址單元的內(nèi)容送入A中,此時(shí),執(zhí)行這條指令的結(jié)果就相當(dāng)于MOV A,30H。第四句,沒(méi)學(xué)過(guò),就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學(xué)過(guò),將R7中的值減1,看是否等于0,不等于0,則轉(zhuǎn)到標(biāo)號(hào)LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉(zhuǎn)去執(zhí)行MOV A,@R0這句話,此時(shí)相當(dāng)于執(zhí)行了MOV A,31H(因?yàn)榇藭r(shí)的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實(shí)現(xiàn)了我們的要求:從30H單元開(kāi)始將20個(gè)數(shù)據(jù)送入A中。 這也是一種尋找數(shù)據(jù)的方法,由于數(shù)據(jù)是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數(shù)據(jù)。 二、指令 數(shù)據(jù)傳遞類指令 1) 以累加器為目的操作數(shù)的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過(guò)的。第四條指令是將立即數(shù)data送到A中。 下面我們通過(guò)一些例子加以說(shuō)明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內(nèi)存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個(gè)值作為地址,并將這個(gè)地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數(shù)34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 這組指令功能是把源地址單元中的內(nèi)容送入工作寄存器,源操作數(shù)不變。
標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識(shí)
上傳時(shí)間: 2013-10-13
上傳用戶:3294322651
1.1 微型計(jì)算機(jī)的組成及工作原理1.1.1 微型計(jì)算機(jī)中的基本概念1. 微處理器2. 微型計(jì)算機(jī) (1)單片微處理機(jī) (2)通用微型計(jì)算機(jī)3. 微型計(jì)算機(jī)系統(tǒng)1.1.2 微機(jī)基本結(jié)構(gòu) 微型計(jì)算機(jī)的基本組成如圖1.1所示,它由中央處理器(CPU)、存儲(chǔ)器(Memory)、輸入輸出接口(I/O接口)和系統(tǒng)總線(BUS)構(gòu)成。 1.1.3 微型計(jì)算機(jī)的基本工作過(guò)程 微型計(jì)算機(jī)的基本工作過(guò)程是執(zhí)行程序的過(guò)程,也就是CPU自動(dòng)從程序存放的第1個(gè)存儲(chǔ)單元起,逐步取出指令、分析指令,并根據(jù)指令規(guī)定的操作類型和操作對(duì)象,執(zhí)行指令規(guī)定的相關(guān)操作。如此重復(fù),周而復(fù)始,直至執(zhí)行完程序的所有指令,從而實(shí)現(xiàn)程序的基本功能,這就是微型計(jì)算機(jī)的基本工作原理。 1.2 典型單片機(jī)產(chǎn)品簡(jiǎn)介1.2.1 MCS-51單片機(jī)系列 MCS-51可分為兩個(gè)子系列和4種類型,如表1-1所示。按資源的配置數(shù)量,MCS-51系列分為51和52兩個(gè)子系列,其中51子系列是基本型,而52子系列屬于增強(qiáng)型。表1-1 MCS-51系列單片機(jī)分類
標(biāo)簽: 微型計(jì)算機(jī) 基礎(chǔ)知識(shí)
上傳時(shí)間: 2013-11-07
上傳用戶:debuchangshi
74系列選型參考 00 四2 輸入與非門(mén)01 四2 輸入與非門(mén)(OC)02 四2 輸入與非門(mén)03 四2 輸入與非門(mén)(OC)04 六反相器05 六反相器(OC)06 六高壓輸出反相緩沖器/驅(qū)動(dòng)器(OC,30V)07 六高壓輸出緩沖器/驅(qū)動(dòng)器(OC,30V)08 四2 輸入與門(mén)09 四2 輸入與門(mén)(OC)10 三3 輸入與非門(mén)11 三3 輸入與門(mén)12 三3 輸入與非門(mén)(OC)13 雙4 輸入與非門(mén)(有施密特觸發(fā)器)14 六反相器(有施密特觸發(fā)器)
上傳時(shí)間: 2013-10-28
上傳用戶:rocketrevenge
匯編器在微處理器的驗(yàn)證和應(yīng)用中舉足輕重,如何設(shè)計(jì)通用的匯編器一直是研究的熱點(diǎn)之一。本文提出了一種開(kāi)放式的匯編器系統(tǒng)設(shè)計(jì)思想,在匯編語(yǔ)言與機(jī)器語(yǔ)言間插入中間代碼CMDL(code mapping description language)語(yǔ)言,打破匯編語(yǔ)言與機(jī)器語(yǔ)言的直接映射關(guān)系,由此建立起一套描述匯編語(yǔ)言與機(jī)器語(yǔ)言的開(kāi)放式映射體系。基于此開(kāi)放式映射體系開(kāi)發(fā)了一套匯編器系統(tǒng),具有較高層次上的通用性和可移植性。【關(guān)鍵詞】指令集,CMDL,匯編器,開(kāi)放式 Design of Retargetable Assembler System Liu Ling Feng Wen Nan Wang Ying Chun Jiang An Ping Ji Li Jiu IME of Peking University, 100871【摘要】An assembler plays a very important role in the field of microprocessor verifications and applications, thus how to build a retargetable assembler system has been a hotspot in this field for long time. This paper presents a new method about the retargetable assembler system design.It provides a kind of language CMDL, code mapping description language. During the process of assembling, assembler languages are firstly translated to CMDL, and then mapped to the machine codes. In an other word, CMDL is inserted between assembler languages and machine codes during the translation procedure. As a medium code, CMDL has a lot of features, such as high extraction, strong descript capabilities. It can describe almost all attributes of assembler languages. By breaking the direct mapping relationship between assembler languages and machine codes, the complexities of machine codes are hided to the users, therefore, the new retargetable assembler system has higher retargetable level by converting the mapping from assembler languages and machine codes to assembler languages and CMDL, and implementationof it becomes easier. Based on the new mapping system structure, a retargetable assemblersystem is developed. It proved the whole system has good retargetability and implantability.【關(guān)鍵詞】instruction set, symbol table, assembler, lexical analysis, retargetability
上傳時(shí)間: 2013-10-10
上傳用戶:meiguiweishi
單片機(jī)是一門(mén)實(shí)踐性非常強(qiáng)的技術(shù),一味的看書(shū)不做實(shí)驗(yàn)的話10年估計(jì)也是學(xué)不 會(huì)的。下面制作的燒錄器是一款具有在線燒錄功能的(也就是可以邊寫(xiě)改程序邊看效果)。這對(duì)初學(xué)者的進(jìn)步是非常的有好處的。
上傳時(shí)間: 2014-11-16
上傳用戶:siying
EPC-6000是廣州致遠(yuǎn)電子有限公司基于S3C2440A處理器(ARM920T架構(gòu))、采用標(biāo)準(zhǔn)PC/104結(jié)構(gòu)設(shè)計(jì)的一款嵌入式通用PC/104 嵌入式工控機(jī)主板。其資源豐富、接口齊全、功耗低、可靠性高,預(yù)裝正版Microsoft Windows CE 5.0操作系統(tǒng),并提供所有板載外設(shè)驅(qū)動(dòng)庫(kù),可通過(guò)本地U盤(pán)或Internet遠(yuǎn)程升級(jí)Windows CE操作系統(tǒng)
上傳時(shí)間: 2013-11-13
上傳用戶:zyt
51單片機(jī)實(shí)訓(xùn)指南:一、 實(shí)習(xí)課題基于單片機(jī)最小系統(tǒng)的頻率計(jì)設(shè)計(jì)二、 實(shí)習(xí)內(nèi)容單片機(jī)最小系統(tǒng)電路原理設(shè)計(jì)分析與講解,PCB設(shè)計(jì)分析與講解,電路板焊接培訓(xùn)與實(shí)際操作,程序設(shè)計(jì)、調(diào)試分析與講解,程序調(diào)試實(shí)際操作。三、硬件資源※ 89S51單片機(jī);※ 6位共陽(yáng)極數(shù)碼管;※ 段碼驅(qū)動(dòng)器74HC573,位選譯碼器74HC138;※ 4路獨(dú)立式按鍵;※ 外部晶振電路;※ ISP下載接口(In system program,在系統(tǒng)編程);※ DC+5V電源試配器(選配);※ ISP下載線(選配);※ 單片機(jī)實(shí)訓(xùn)模塊(頻率計(jì)分頻預(yù)處理電路)。四、電路原理分析與設(shè)計(jì)P1為外部電源輸入座(DC+5V),S8為電源最小系統(tǒng)的電源開(kāi)關(guān),E1和C3為電源濾波,去耦電容。D1為系統(tǒng)電源指示燈。J2為ISP下載接口,S7系統(tǒng)復(fù)位按鍵。CRY1,C1,C2為外部時(shí)針電路。IC1為89S51(DIP-40),左上角為第一腳。PRE1,PRE2。為上拉排阻(阻值4.7k—10k)。J5,J9,J6,J10分別對(duì)應(yīng)單片機(jī)的P0,P1,P2,P3口。便于二次開(kāi)發(fā)。6路共陽(yáng)極數(shù)碼管動(dòng)態(tài)顯示電路,P0口通過(guò)74HC573(起驅(qū)動(dòng)和隔離作用,讓電流通過(guò)74CH573流入公共地),來(lái)控制數(shù)碼管的8路段碼,P20-P22通過(guò)74HC138譯碼器(使用其中的6路)控制數(shù)碼管的公共端(中間還有三極管做驅(qū)動(dòng)器)。這樣設(shè)計(jì)的理由:為了保證該單片機(jī)最小系統(tǒng)的二次開(kāi)發(fā)的資源充足和合理性。
標(biāo)簽: 51單片機(jī)
上傳時(shí)間: 2013-10-14
上傳用戶:ryb
基于M CORE微控制器的嵌入式系統(tǒng)從應(yīng)用的角度出發(fā),全面介紹了構(gòu)成嵌人式系統(tǒng)的微控制器的結(jié)構(gòu)和常用支撐硬件的原理以及設(shè)計(jì)開(kāi)發(fā)方法。本書(shū)共 24章,分為3大部分。第 1部分(第 1~14章)介紹具有 32位 RISC CPU核的M·CORE微控制器的結(jié)構(gòu)及原理,按模塊分章,對(duì)各功能模塊的原理及使用方法都有詳盡的講解。眾所周知,微控制器種類繁多,雖然不同種類微控制器的CPU及內(nèi)部功能模塊有所不同,但基本原理(尤其是一些通用的功能)是一致的。第2部分(第15—19章)介紹嵌入式系統(tǒng)常用外圍電路的原理及設(shè)計(jì)和使用方法,包括有:異步串行接口的互連及應(yīng)用舉例、同步串行總線及應(yīng)用舉例、液晶顯示模塊、液晶控制器、觸摸屏及觸摸屏控制器和各類存儲(chǔ)器的應(yīng)用舉例。第3部分(第20—24章)介紹嵌人式系統(tǒng)的開(kāi)發(fā)環(huán)境與軟件開(kāi)發(fā),在討論嵌人式系統(tǒng)軟件開(kāi)發(fā)的一般過(guò)程和開(kāi)發(fā)工具需求的基礎(chǔ)上,介紹M·CORE軟件開(kāi)發(fā)支持工具集、MMC2107微控制器評(píng)估板、M·CORE常用工具軟件、QodeWarrior集成開(kāi)發(fā)環(huán)境IDE及M·CORE的基本程序設(shè)計(jì)技術(shù)。 第1部分 M·COREM控制器的結(jié)構(gòu)及原理 第1章 微控制器及其應(yīng)用技術(shù)概述 1.1 微控制器的特點(diǎn) 1.2 微控制器技術(shù)的發(fā)展 1.3 M·CORE系列微控制器 l.3.1 MMC2107的特點(diǎn)及組成 1.3.2 MMC2107的引腳描述 1.3.3 MMC2107的系統(tǒng)存儲(chǔ)器地址映射 第2章 M·CORE M210中央處理單元(CPU) 2.1 M·CORE處理器綜述 2.1.1 M·CORE處理器的微結(jié)構(gòu) 2.1.2 M·CORE處理器的編程模型 2.1.3 M·CORE的數(shù)據(jù)格式 2.1.4 M·CORE處理器的寄存器 2.2 M·CORE處理器指令系統(tǒng)簡(jiǎn)述 2. 2.l 指令類型和尋址方式
標(biāo)簽: CORE 微控制器 嵌入式系統(tǒng)
上傳時(shí)間: 2013-10-28
上傳用戶:lhw888
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1