基于AT89S52的紅外遙控電子密碼鎖設(shè)計(jì) 本設(shè)計(jì)以單片機(jī)AT89S52作為密碼鎖監(jiān)控裝置的檢測(cè)和控制核心,分為主機(jī)和從機(jī),實(shí)現(xiàn)鑰匙信息在主機(jī)上的初步認(rèn)證注冊(cè)、密碼信息的加密、紅外傳輸、鑰匙丟失報(bào)廢等功能。根據(jù)51單片機(jī)之間的串行通信原理,利用紅外來(lái)傳輸,這便于對(duì)密碼信息的隨機(jī)加密和保護(hù)。而且采用紅外遙控相對(duì)于機(jī)械鎖和鍵盤輸入的電子密碼鎖具有較高的優(yōu)勢(shì)。如紅外線發(fā)射裝置采用紅外發(fā)光二極管,遙控發(fā)射器易于小型化且價(jià)格低廉;采用數(shù)字信號(hào)編碼和二次調(diào)制方式,不僅可以實(shí)現(xiàn)多路信息的控制,增加遙控功能,提高信號(hào)傳輸?shù)目垢蓴_性,減少錯(cuò)誤動(dòng)作,而且功率消耗低;紅外線不會(huì)向室外泄露,不會(huì)產(chǎn)生信號(hào)串?dāng)_;反應(yīng)速度快、傳輸效率高、工作穩(wěn)定可靠等。所以紅外線遙控是目前使用最廣泛的一種通信和遙控手段。軟件設(shè)計(jì)采用自上而下的模塊化設(shè)計(jì)思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。測(cè)試結(jié)果表明,本系統(tǒng)各項(xiàng)功能已達(dá)到本設(shè)計(jì)的所有要求。
上傳時(shí)間: 2013-10-18
上傳用戶:icarus
C8051F單片機(jī) C8051F系列單片機(jī) 單片機(jī)自20世紀(jì)70年代末誕生至今,經(jīng)歷了單片微型計(jì)算機(jī)SCM、微控制器MCU及片上系統(tǒng)SoC三大階段,前兩個(gè)階段分別以MCS-51和80C51為代表。隨著在嵌入式領(lǐng)域中對(duì)單片機(jī)的性能和功能要求越來(lái)越高,以往的單片機(jī)無(wú)論是運(yùn)行速度還是系統(tǒng)集成度等多方面都不能滿足新的設(shè)計(jì)需要,這時(shí)Silicon Labs 公司推出了C8051F系列單片機(jī),成為SoC的典型代表。 C8051F具有上手快(全兼容8051指令集)、研發(fā)快(開(kāi)發(fā)工具易用,可縮短研發(fā)周期)和見(jiàn)效快(調(diào)試手段靈活)的特點(diǎn),其性能優(yōu)勢(shì)具體體現(xiàn)在以下方面: 基于增強(qiáng)的CIP-51內(nèi)核,其指令集與MCS-51完全兼容,具有標(biāo)準(zhǔn)8051的組織架構(gòu),可以使用標(biāo)準(zhǔn)的803x/805x匯編器和編譯器進(jìn)行軟件開(kāi)發(fā)。CIP-51采用流水線結(jié)構(gòu),70%的的指令執(zhí)行時(shí)間為1或2個(gè)系統(tǒng)時(shí)鐘周期,是標(biāo)準(zhǔn)8051指令執(zhí)行速度的12倍;其峰值執(zhí)行速度可達(dá)100MIPS(C8051F120等),是目前世界上速度最快的8位單片機(jī)。 增加了中斷源。標(biāo)準(zhǔn)的8051只有7個(gè)中斷源Silicon Labs 公司 C8051F系列單片機(jī)擴(kuò)展了中斷處理這對(duì)于時(shí)實(shí)多任務(wù)系統(tǒng)的處理是很重要的擴(kuò)展的中斷系統(tǒng)向CIP-51提供22個(gè)中斷源允許大量的模擬和數(shù)字外設(shè)中斷一個(gè)中斷處理需要較少的CPU干預(yù)卻有更高的執(zhí)行效率。 集成了豐富的模擬資源,絕大部分的C8051F系列單片機(jī)都集成了單個(gè)或兩個(gè)ADC,在片內(nèi)模擬開(kāi)關(guān)的作用下可實(shí)現(xiàn)對(duì)多路模擬信號(hào)的采集轉(zhuǎn)換;片內(nèi)ADC的采樣精度最高可達(dá)24bit,采樣速率最高可達(dá)500ksps,部分型號(hào)還集成了單個(gè)或兩個(gè)獨(dú)立的高分辨率DAC,可滿足絕大多數(shù)混合信號(hào)系統(tǒng)的應(yīng)用并實(shí)現(xiàn)與模擬電子系統(tǒng)的無(wú)縫接口;片內(nèi)溫度傳感器則可以迅速而精確的監(jiān)測(cè)環(huán)境溫度并通過(guò)程序作出相應(yīng)處理,提高了系統(tǒng)運(yùn)行的可靠性。 集成了豐富的外部設(shè)備接口。具有兩路UART和最多可達(dá)5個(gè)定時(shí)器及6個(gè)PCA模塊,此外還根據(jù)不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外設(shè)接口在不使用時(shí)可以分別禁止以降低系統(tǒng)功耗。與其他類型的單片機(jī)實(shí)現(xiàn)相同的功能需要多個(gè)芯片的組合才能完成相比,C8051單片機(jī)不僅減少了系統(tǒng)成本,更大大降低了功耗。 增強(qiáng)了在信號(hào)處理方面的性能,部分型號(hào)具有16x16 MAC以及DMA功能,可對(duì)所采集信號(hào)進(jìn)行實(shí)時(shí)有效的算法處理并提高了數(shù)據(jù)傳送能力。 具有獨(dú)立的片內(nèi)時(shí)鐘源(精度最高可達(dá)0.5%),設(shè)計(jì)人員既可選擇外接時(shí)鐘,也可直接應(yīng)用片內(nèi)時(shí)鐘,同時(shí)可以在內(nèi)外時(shí)鐘源之間自如切換。片內(nèi)時(shí)鐘源降低了系統(tǒng)設(shè)計(jì)的復(fù)雜度,提高了系統(tǒng)可靠性,而時(shí)鐘切換功能則有利于系統(tǒng)整體功耗的降低。 提供空閑模式及停機(jī)模式等多種電源管理方式來(lái)降低系統(tǒng)功耗 實(shí)現(xiàn)了I/O從固定方式到交叉開(kāi)關(guān)配置。固定方式的I/O端口,既占用引腳多,配置又不夠靈活。在C8051F中,則采用開(kāi)關(guān)網(wǎng)絡(luò)以硬件方式實(shí)現(xiàn)I/O端口的靈活配置,外設(shè)電路單元通過(guò)相應(yīng)的配置寄存器控制的交叉開(kāi)關(guān)配置到所選擇的端口上。 復(fù)位方式多樣化,C8051F把80C51單一的外部復(fù)位發(fā)展成多源復(fù)位,提供了上電復(fù)位、掉電復(fù)位、外部引腳復(fù)位、軟件復(fù)位、時(shí)鐘檢測(cè)復(fù)位、比較器0復(fù)位、WDT復(fù)位和引腳配置復(fù)位。眾多的復(fù)位源為保障系統(tǒng)的安全、操作的靈活性以及零功耗系統(tǒng)設(shè)計(jì)帶來(lái)極大的好處。 從傳統(tǒng)的仿真調(diào)試到基于JTAG接口的在系統(tǒng)調(diào)試。C8051F在8位單片機(jī)中率先配置了標(biāo)準(zhǔn)的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不僅支持Flash ROM的讀/寫操作及非侵入式在系統(tǒng)調(diào)試,它的JTAG邏輯還為在系統(tǒng)測(cè)試提供邊界掃描功能。通過(guò)邊界寄存器的編程控制,可對(duì)所有器件引腳、SFR總線和I/O口弱上拉功能實(shí)現(xiàn)觀察和控制。 C8051F系列單片機(jī)型號(hào)齊全,可根據(jù)設(shè)計(jì)需求選擇不同規(guī)模和帶有特定外設(shè)接口的型號(hào),提供從多達(dá)100個(gè)引腳的高性能單片機(jī)到最小3mmX3mm的封裝,滿足不同設(shè)計(jì)的需要。 基于上述特點(diǎn),Silicon Labs 公司C8051F系列單片機(jī)作為SoC芯片的杰出代表能夠滿足絕大部分場(chǎng)合的復(fù)雜功能要求,并在嵌入式領(lǐng)域的各個(gè)場(chǎng)合都得到了廣泛的應(yīng)用:在工業(yè)控制領(lǐng)域,其豐富的模擬資源可用于工業(yè)現(xiàn)場(chǎng)多種物理量的監(jiān)測(cè)、分析及控制和顯示;在便攜式儀器領(lǐng)域,其低功耗和強(qiáng)大的外設(shè)接口也非常適合各種信號(hào)的采集、存儲(chǔ)和傳輸;此外,新型的C8051F5xx系列單片機(jī)也在汽車電子行業(yè)中嶄露頭角。正是這些優(yōu)勢(shì),使得C8051單片機(jī)在進(jìn)入中國(guó)市場(chǎng)的短短幾年內(nèi)就迅速風(fēng)靡,相信隨著新型號(hào)的不斷推出以及推廣力度的不斷加大,C8051系列單片機(jī)將迎來(lái)日益廣闊的發(fā)展空間,成為嵌入式領(lǐng)域的時(shí)代寵兒 此系列單片機(jī)完全兼容MCS-51指令集,容易上手,開(kāi)發(fā)周期短,大大節(jié)約了開(kāi)發(fā)成本。C8051F系統(tǒng)集成度高,總線時(shí)鐘可達(dá)25M
上傳時(shí)間: 2013-11-24
上傳用戶:testAPP
擴(kuò)展1個(gè)I2C總線為多個(gè);通過(guò)主機(jī)I2C命令進(jìn)行總線選擇;每次選擇一個(gè)下級(jí)總線;廣播模式下可同時(shí)打開(kāi)所有通道;收集中斷并發(fā)送給主機(jī);復(fù)位芯片可取消所有通道選擇,在總線掛起時(shí)恢復(fù)主機(jī)的控制。
上傳時(shí)間: 2013-11-20
上傳用戶:songrui
單片機(jī)入門基礎(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ù)字,如前面我們寫進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆耍y記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫的匯編格式的指令轉(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少寫了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫的: 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條指令才能寫完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個(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
ARM處理器的工作模式 ARM處理器狀態(tài) ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對(duì)齊的ARM指令;第二種為Thumb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令。在程序的執(zhí)行過(guò)程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開(kāi)始執(zhí)行代碼時(shí),應(yīng)該處于ARM狀態(tài)。 ARM處理器狀態(tài) 進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時(shí),可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時(shí),自動(dòng)切換到Thumb狀態(tài)。 進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令時(shí)可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進(jìn)行異常處理時(shí),把PC指針?lè)湃氘惓DJ芥溄蛹拇嫫髦校漠惓O蛄康刂烽_(kāi)始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。ARM處理器模式 ARM微處理器支持7種運(yùn)行模式,分別為:用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)。快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問(wèn)終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM處理器模式 ARM微處理器的運(yùn)行模式可以通過(guò)軟件改變,也可以通過(guò)外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問(wèn)的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問(wèn)受保護(hù)的系統(tǒng)資源等情況。ARM寄存器 ARM處理器共有37個(gè)寄存器。其中包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。以及6個(gè)32位狀態(tài)寄存器。 關(guān)于寄存器這里就不詳細(xì)介紹了,有興趣的人可以上網(wǎng)找找,很多這方面的資料。異常處理 當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作:進(jìn)入異常處理的基本步驟:將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。將CPSR復(fù)制到相應(yīng)的SPSR中。根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。如果異常發(fā)生時(shí),處理器處于Thumb狀態(tài),則當(dāng)異常向量地址加載入PC時(shí),處理器自動(dòng)切換到ARM狀態(tài)。 ARM微處理器對(duì)異常的響應(yīng)過(guò)程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當(dāng)運(yùn)行于 ARM 工作狀態(tài)時(shí)If == Reset or FIQ then;當(dāng)響應(yīng) FIQ 異常時(shí),禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。將SPSR復(fù)制回CPSR中。若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。
上傳時(shí)間: 2013-11-15
上傳用戶:hanbeidang
設(shè)計(jì)了一種基于C8051F005 單片機(jī)控制多路PZT(壓電陶瓷)的驅(qū)動(dòng)電路,采用串行數(shù)據(jù)傳輸?shù)姆椒ǎ眯滦蛿?shù)模轉(zhuǎn)換器AD5308 具有8 通道DAC 輸出的特性,極大的簡(jiǎn)化了電路設(shè)計(jì),給出了硬件系統(tǒng)設(shè)計(jì)和軟件流程圖以及主要的軟件模塊設(shè)計(jì)。本電路主要用于自適應(yīng)光學(xué)合成孔徑成像相位實(shí)時(shí)校正系統(tǒng)中。結(jié)果表明,該電路可以成功為12 路PZT 提供所需的驅(qū)動(dòng)電壓。
標(biāo)簽: PZT 單片機(jī)控制 多路 驅(qū)動(dòng)
上傳時(shí)間: 2013-10-19
上傳用戶:pans0ul
無(wú)論是功能,還是性能,德州儀器(TI)的MSC1210單片機(jī)都達(dá)到了混合信號(hào)處理的顛峰,它集成了一個(gè)增強(qiáng)型8051內(nèi)核,有8路24位低功耗(4roW)A. A/D轉(zhuǎn)換器;21個(gè)中斷源;16位PWM;全雙工UART(并兼容有SPI功能);停止方式電流小于1 A;比標(biāo)準(zhǔn)8051內(nèi)核執(zhí)行速度快3倍且全兼容;片內(nèi)集成32K字節(jié)FLASH,而且FLASH可定義為程序分區(qū)與數(shù)據(jù)存儲(chǔ)分區(qū),給設(shè)計(jì)帶來(lái)非常大的靈活性;片內(nèi)SRAM也多達(dá)1.2K字節(jié);采用TQFP64小型封裝。由于具有如此高的模擬和數(shù)字集成度,對(duì)各種要求小體積、高集成度和精確測(cè)量而言,MCS1210實(shí)為理想的整合選擇。表1列出MSC1210的主要特性。
標(biāo)簽: 1210 MSC 24位 AD轉(zhuǎn)換
上傳時(shí)間: 2013-10-11
上傳用戶:yangzhiwei
本文檔著重介紹如何使用Philips 半導(dǎo)體的收發(fā)器PCA82C250[1]和PCA82C251[2]實(shí)現(xiàn)物理媒體連接子層物理信令子層和數(shù)據(jù)鏈路層之間的連接是通過(guò)集成的協(xié)議控制器實(shí)現(xiàn)的這些產(chǎn)品有像Philips 的PCx82C200 SJA1000 等而媒體相關(guān)接口負(fù)責(zé)連接傳輸媒體譬如將總線節(jié)點(diǎn)連接到總線的連接器像Philips 的TJA1050[3]或PCA82C250[4]等收發(fā)器
上傳時(shí)間: 2013-10-19
上傳用戶:31633073
LPC900 系列單片機(jī)由于其功能強(qiáng)大,性能穩(wěn)定一直深受用戶歡迎。P89LPC901 是LPC900 系列單片機(jī)的一員,性價(jià)比極高,為SO8/DIP8 封裝,內(nèi)含1KB FLASH,支持ICP,且具有6 個(gè)I/O 口、4 個(gè)TIMER、1 路PWM 輸出、模擬比較器、鍵盤中斷等眾多功能部件。本文利用LPC901 單片機(jī)的強(qiáng)大功能實(shí)現(xiàn)ADC/DAC,并且通過(guò)模擬UART 與PC 機(jī)進(jìn)行通信;通過(guò)PC 端軟件可以顯示DA 轉(zhuǎn)換結(jié)果及控制DA 輸出電壓。
上傳時(shí)間: 2013-11-06
上傳用戶:shus521
高壓雙管反激變換器的設(shè)計(jì):介紹一種雙管反激的電路拓?fù)洌治隽似涔ぷ髟恚o出了一些關(guān)鍵技術(shù)參數(shù)的計(jì)算公式,設(shè)計(jì)并研制成功的30W 380V AC5 0H z/510V DC/+15.1 V DC(1A )、+5.2VDC(2A)輔助開(kāi)關(guān)電源具有功率密度高、變換效率高、可靠性高等優(yōu)良的綜合性能。該變換器在高電壓輸人情況下有重要的應(yīng)用價(jià)值。【關(guān) 鍵 詞 】變換器,輔助開(kāi)關(guān)電源,雙管反激 [Abstract】 A n e wt opologyfo rd oubles witchfl ybackc onverteris in troduced.Th eo perationp rincipleis a nalyzeda nds ome for mulas for calculating key parameters for the topology are presented. The designed and produced auxiliary switching power supply,i. e. 30W 380V AC5 0H z/5 10V DC/+15.1 V DC《1A )、+5.2 V DC《2A ),hase xcellentc omprehensivep erformances sucha sh ighp owerd ensity, hi ghc onversione fficiencya ndh ighr eliability.Th isc onverterh asim portanta pplicationv aluef orh igh input voltag [Keywords ]converter,au xiliary switchingp owers upply,do ubles witchf lybac
上傳時(shí)間: 2013-11-01
上傳用戶:Ants
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1