PIC單片機(jī)實(shí)用教程基礎(chǔ)篇+提高篇 PIC單片機(jī)(Peripheral Interface Controller)是一種用來開發(fā)的去控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng)?! IC 單片機(jī)是一個(gè)小的計(jì)算機(jī) PIC單片機(jī)有計(jì)算功能和記憶內(nèi)存像CPU并由軟件控制允行。然而,處理能力—存儲(chǔ)器容量卻很有限,這取決于PIC的類型。但是它們的最高操作頻率大約都在20MHz左右,存儲(chǔ)器容量用做寫程序的大約1K—4K字節(jié)。 時(shí)鐘頻率與掃描程序的時(shí)間和執(zhí)行程序指令的時(shí)間有關(guān)系。但不能僅以時(shí)鐘頻率來判斷程序處理能力,它還隨處理裝置的體系結(jié)構(gòu)改變(1*)。如果是同樣的體系結(jié)構(gòu),時(shí)鐘頻率較高的處理能力會(huì)較強(qiáng)。 這里用字來解釋程序容量。用一個(gè)指令(2*)表示一個(gè)字。通常用字節(jié)(3*)來表示存儲(chǔ)器(4*)容量。一個(gè)字節(jié)有8位,每位由1或0組成。PIC16F84A單片機(jī) 的指令由14位構(gòu)成。當(dāng)把1K個(gè)子轉(zhuǎn)換成位為:1 x 1,024 x 14 = 14,336位。再轉(zhuǎn)換為字節(jié)為:14,336/(8 x 1,024) = 1.75K。在計(jì)算存儲(chǔ)器的容量時(shí),我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因?yàn)檫@是用二進(jìn)制計(jì)算的緣故。 1*計(jì)算機(jī)的物理結(jié)構(gòu),包括組織結(jié)構(gòu)、容量、該計(jì)算機(jī)的CPU、存儲(chǔ)器以及輸入輸出設(shè)備間的互連。經(jīng)常特指CPU的組織結(jié)構(gòu),包括它的寄存器、標(biāo)志、總線、算術(shù)邏輯部件、指令譯碼與執(zhí)行機(jī)制以及定時(shí)和控制部件?! ?*指出某種操作并標(biāo)識(shí)其操作數(shù)(如果有操作數(shù)的話)的一種語言構(gòu)造 3*作為一個(gè)單位來操作(運(yùn)算)的一個(gè)二進(jìn)制字符串,通常比計(jì)算機(jī)的一個(gè)字短?! ?*處理機(jī)內(nèi)的所有可尋址存儲(chǔ)空間以及用于執(zhí)行指令的其它內(nèi)存儲(chǔ)器?! ≡谟?jì)算存儲(chǔ)器的容量時(shí),我們規(guī)定 1G 字節(jié) = 1,024M 字節(jié), 1M 字節(jié) = 1,024K 字節(jié), 1K 字節(jié)= 1,024 字節(jié). 它們不是以1000為倍數(shù),因?yàn)檫@是用二進(jìn)制計(jì)算的緣故。 用PIC單片機(jī)使電路做的很小巧變得可能?! ∫?yàn)镻IC單片機(jī)可以把計(jì)算部分、內(nèi)存、輸入和輸出等都做在一個(gè)芯片內(nèi)。所以她工作起來效率很高、功能也自由定義還可以靈活的適應(yīng)不同的控制要求,而不必去更換不同的IC。這樣電路才有可能做的很小巧。
標(biāo)簽: PIC 單片機(jī) 實(shí)用教程
上傳時(shí)間: 2013-10-15
上傳用戶:sxdtlqqjl
PCA9634是一款通過I2C總線控制的8位LED驅(qū)動(dòng)器,該驅(qū)動(dòng)器特別為紅/綠/藍(lán)/琥珀(RGBA)色的混合應(yīng)用進(jìn)行了優(yōu)化。每個(gè)LED輸出都有自己的8位分辨率(256級(jí))固定頻率的獨(dú)立PWM控制器,該控制器運(yùn)行在97KHz的頻率下,占空比可由0%到99.6%可調(diào),用以將LED設(shè)置到一個(gè)特定的亮度值。除此之外,該驅(qū)動(dòng)器還有一個(gè)8位分辨率(256級(jí))的組PWM控制器,該控制器的工作頻率可以為固定的190Hz,也可以在24Hz和每10.73秒一次(約0.093Hz)之間調(diào)整,其占空比為0%到99.6%可調(diào),用于使所有LED以同樣的值模糊(dim)或者閃爍。
上傳時(shí)間: 2013-12-20
上傳用戶:liaofamous
PCA9625是一款I(lǐng)2C總線控制的16位LED驅(qū)動(dòng)器,主要應(yīng)用于電流為100mA的紅/綠/藍(lán)/琥珀(RGBA)LED亮度和閃爍的控制,每個(gè)LED由獨(dú)立的8位分辨率(256級(jí))的固定頻率PWM控制器控制輸出。PWM控制器的工作頻率為97kHz,占空比從0%到99.6%可調(diào)整,使LED達(dá)到所需的亮度。附加的8位分辨率(256級(jí))PWM控制器組不但有固定的190Hz頻率,還可以在24Hz和每10.73秒的固定周期內(nèi)工作,產(chǎn)生占空比為0%至99.6%范圍內(nèi)的信號(hào),使所有的LED達(dá)到同樣的亮度或閃爍頻率。
上傳時(shí)間: 2013-10-31
上傳用戶:blans
PCA9624是一款帶I2C總線的8位LED的電壓開關(guān)優(yōu)化的LED驅(qū)動(dòng)器,它主要應(yīng)用于電流為100mA 的紅/綠/藍(lán)/琥珀(RGBA)的LED的亮度和閃爍的控制。每個(gè)LED輸出均有獨(dú)立的8位分辨率(256個(gè)梯度)且輸出頻率固定為97KHz的PWM控制器它可以在0%到99.6%的范圍內(nèi)對(duì)LED的亮度進(jìn)行調(diào)整,使發(fā)光二極管被設(shè)置為一個(gè)特定的亮度值。額外的8位分辨率(256個(gè)梯度)PWM控制器組既有固定的190Hz的頻率又可以在24Hz和每10.73秒的固定周期內(nèi)對(duì)LED燈亮度從0%至99.6%的范圍內(nèi)調(diào)整,使它們保持同樣的亮度或閃爍速度。
上傳時(shí)間: 2013-11-24
上傳用戶:38553903210
PCA9624是一款帶I2C總線的8位LED的電壓開關(guān)優(yōu)化的LED驅(qū)動(dòng)器,它主要應(yīng)用于電流為100mA 的紅/綠/藍(lán)/琥珀(RGBA)的LED的亮度和閃爍的控制。每個(gè)LED輸出均有獨(dú)立的8位分辨率(256個(gè)梯度)且輸出頻率固定為97KHz的PWM控制器它可以在0%到99.6%的范圍內(nèi)對(duì)LED的亮度進(jìn)行調(diào)整,使發(fā)光二極管被設(shè)置為一個(gè)特定的亮度值。額外的8位分辨率(256個(gè)梯度)PWM控制器組既有固定的190Hz的頻率又可以在24Hz和每10.73秒的固定周期內(nèi)對(duì)LED燈亮度從0%至99.6%的范圍內(nèi)調(diào)整,使它們保持同樣的亮度或閃爍速度。
上傳時(shí)間: 2014-12-27
上傳用戶:zhangliming420
LPC2470是NXP半導(dǎo)體公司針對(duì)各種高級(jí)通信、高質(zhì)量圖像顯示等廣泛應(yīng)用場(chǎng)合而設(shè)計(jì)的一款具有極高集成度并且以ARM7TDMI-S為內(nèi)核的微控制器,LPC2470微控制器沒有Flash。LPC2470帶有實(shí)時(shí)調(diào)試接口,包括JTAG和嵌入式跟蹤,可以執(zhí)行32位ARM指令和16位Thumb指令。
標(biāo)簽: TDMI-STM 2470 LPC ARM
上傳時(shí)間: 2014-12-27
上傳用戶:zhf01y
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í)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開始執(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指針放入異常模式鏈接寄存器中,并從異常向量地址開始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。ARM處理器模式 ARM微處理器支持7種運(yùn)行模式,分別為:用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)??焖僦袛嗄J?fiq):用于高速數(shù)據(jù)傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問終止模式(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)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶模式下,當(dāng)處理器運(yùn)行在用戶模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式;其中除去用戶模式和系統(tǒng)模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護(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í)能從正確的位置重新開始執(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)過程用偽碼可以描述為: 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ì)了一種基于MSP430單片機(jī)的高精度和高準(zhǔn)確度的液位監(jiān)控系統(tǒng),從硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)抗干擾、開澆停澆電壓補(bǔ)償和參數(shù)線性化五個(gè)方面詳細(xì)描述了整個(gè)系統(tǒng)。系統(tǒng)選用了高集成度、超低功耗的混合信號(hào)處理器MSP430F449,實(shí)現(xiàn)了信號(hào)的采集和處理,對(duì)液位進(jìn)行實(shí)時(shí)的監(jiān)控并且完成了與LTC1446、LTC1451的數(shù)據(jù)傳輸任務(wù)。除此之外,還可以根據(jù)液位變化情況進(jìn)行人工調(diào)整。系統(tǒng)解決了以往液位監(jiān)控系統(tǒng)中存在的問題,達(dá)到了高準(zhǔn)確度和高精度液位監(jiān)控儀器的各項(xiàng)標(biāo)準(zhǔn)。
上傳時(shí)間: 2013-11-10
上傳用戶:Late_Li
• 8255的控制字• 8255的工作方式1和工作方式2• DAC0832工作方式• ADC0809工作方式@ 要求 掌握 :• 8255接口芯片 • MCS-51單片機(jī)與D/A轉(zhuǎn)換器的接口連接 • MCS-51單片機(jī)與A/D轉(zhuǎn)換器的接口連接 • 初始化編程及應(yīng)用了解:• I/O口擴(kuò)展的原因 • 簡(jiǎn)單I/O口的擴(kuò)展 • 單片機(jī)的鍵盤技術(shù) 8.1 I/O口擴(kuò)展概述 8.2 簡(jiǎn)單I/O口擴(kuò)展8.3 8255可編程通用并行接口芯片8.4 8155可編程通用并行接口芯片8.1 I/O口擴(kuò)展概述 8.1.1 I/O口擴(kuò)展的原因MCS-51系列單片機(jī)共有四個(gè)并行I/O口,分別是P0、P1、P2和P3。其中P0口一般作地址線的低八位和數(shù)據(jù)線使用;P2口作地址線的高八位使用;P3是一個(gè)雙功能口,其第二功能是一些很重要的控制信號(hào),所以P3一般使用其第二功能。這樣供用戶使用的I/O口就只剩下P1口了。另外,這些I/O口沒有狀態(tài)寄存和命令寄存的功能,因此難以滿足復(fù)雜的I/O操作要求。由于MCS-51系列單片機(jī)I/O口數(shù)量和功能有限,所以在實(shí)際應(yīng)用中不得不使用擴(kuò)展的方法,來增加I/O口的數(shù)量,增強(qiáng)I/O口的功能。 8.1.2 I/O口的編址技術(shù)用戶可以通過對(duì)I/O口進(jìn)行讀和寫操作來完成數(shù)據(jù)的輸入和輸出。例如:P0口的地址為80H。用戶可以使用MOV指令對(duì)P0口進(jìn)行寫操作。 MOV P0, A 8.1.3 單片機(jī)I/O傳送的方式單片機(jī)為了實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出傳送,通常使用3種控制方式。1. 無條件傳送方式 當(dāng)外設(shè)和單片機(jī)能夠同步工作時(shí),可以采用無條件方式進(jìn)行傳送,即數(shù)據(jù)可以隨時(shí)進(jìn)行傳送。2. 查詢方式 查詢方式又稱為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。在進(jìn)行I/O操作之前,用戶要通過軟件查詢外設(shè)是否為數(shù)據(jù)傳送做好準(zhǔn)備,只有確認(rèn)外設(shè)為數(shù)據(jù)傳送做好準(zhǔn)備。單片機(jī)才能執(zhí)行數(shù)據(jù)的輸入/輸出(I/O)操作。3. 中斷方式 當(dāng)外設(shè)和計(jì)算機(jī)進(jìn)行數(shù)據(jù)交換時(shí),外設(shè)向單片機(jī)發(fā)出中斷請(qǐng)求(即通知單片機(jī))。單片機(jī)接到中斷請(qǐng)求后,就作出響應(yīng),暫停正在執(zhí)行的程序,而轉(zhuǎn)去為設(shè)備的數(shù)據(jù)輸入/輸出服務(wù)。當(dāng)服務(wù)完成后,程序返回,單片機(jī)再繼續(xù)執(zhí)行被中斷的程序。 中斷方式大大提高了單片機(jī)系統(tǒng)的工作效率,所以在單片機(jī)中被廣泛應(yīng)用。
上傳時(shí)間: 2013-11-10
上傳用戶:yqs138168
系統(tǒng)控制協(xié)處理器是MIPS體系結(jié)構(gòu)CPU中必需的一個(gè)單元模塊。它最主要的功能就是利用一系列特權(quán)寄存器記錄當(dāng)前CPU所處的狀態(tài),負(fù)責(zé)異常/中斷處理,提供指令正常執(zhí)行所需的環(huán)境。本文論述了一個(gè)實(shí)現(xiàn)MIPS 4Kc指令集CPU中系統(tǒng)控制協(xié)處理器的設(shè)計(jì),包括對(duì)特權(quán)寄存器寫操作的實(shí)現(xiàn),精確異常處理機(jī)制和全定制后端物理設(shè)計(jì)。關(guān)鍵詞:32位嵌入式CPU,系統(tǒng)控制協(xié)處理器,精確異常處理,流水線,全定制MIPS體系結(jié)構(gòu)中的系統(tǒng)控制協(xié)處理器簡(jiǎn)稱CP0,它提供指令正常執(zhí)行所需的環(huán)境,進(jìn)行異常/中斷處理、高速緩存填充、虛實(shí)地址轉(zhuǎn)換、操作模式轉(zhuǎn)換等操作。單從硬件的角度而言,系統(tǒng)控制協(xié)處理器對(duì)指令集的作用就相當(dāng)于操作系統(tǒng)對(duì)應(yīng)用程序的作用一樣。
標(biāo)簽: CPU 嵌入式 協(xié)處理器 系統(tǒng)控制
上傳時(shí)間: 2014-11-22
上傳用戶:daijun20803
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1