PCF8579是一款低功耗的CMOS LCD列驅(qū)動(dòng)器,以1:8,1:16,1:24或1:32的復(fù)用率驅(qū)動(dòng)點(diǎn)陣圖形顯示器。該器件含40個(gè)輸出腳,可驅(qū)動(dòng)一個(gè)32行復(fù)用的32×40點(diǎn)陣LCD。最多可級(jí)聯(lián)16個(gè)PCF8579,同一I2C總線上最多可掛載32個(gè)器件(使用2個(gè)從機(jī)地址)。PCF8579最適合與PCF8578 LCD行/列驅(qū)動(dòng)器配合使用,這兩個(gè)器件共同形成了通用LCD點(diǎn)陣驅(qū)動(dòng)芯片組,可以驅(qū)動(dòng)顯示多達(dá)40960個(gè)點(diǎn)。PCF8579與大多數(shù)微控制器兼容并通過(guò)一個(gè)雙線I2C總線進(jìn)行通信。由于部分VDD可以關(guān)斷,SCL和SDA引腳的ESD保護(hù)系統(tǒng)并未通過(guò)二極管連接到VDD。器件具有自增尋址的顯示RAM和顯示區(qū)域切換等功能,使應(yīng)用系統(tǒng)的通信量減到最低。
上傳時(shí)間: 2013-10-29
上傳用戶:dalidala
PIC單片機(jī)實(shí)用教程基礎(chǔ)篇+提高篇 PIC單片機(jī)(Peripheral Interface Controller)是一種用來(lái)開(kāi)發(fā)的去控制外圍設(shè)備的集成電路(IC)。一種具有分散作用(多任務(wù))功能的CPU。與人類(lèi)相比,大腦就是CPU,PIC 共享的部分相當(dāng)于人的神經(jīng)系統(tǒng)。 PIC 單片機(jī)是一個(gè)小的計(jì)算機(jī) PIC單片機(jī)有計(jì)算功能和記憶內(nèi)存像CPU并由軟件控制允行。然而,處理能力—存儲(chǔ)器容量卻很有限,這取決于PIC的類(lèi)型。但是它們的最高操作頻率大約都在20MHz左右,存儲(chǔ)器容量用做寫(xiě)程序的大約1K—4K字節(jié)。 時(shí)鐘頻率與掃描程序的時(shí)間和執(zhí)行程序指令的時(shí)間有關(guān)系。但不能僅以時(shí)鐘頻率來(lái)判斷程序處理能力,它還隨處理裝置的體系結(jié)構(gòu)改變(1*)。如果是同樣的體系結(jié)構(gòu),時(shí)鐘頻率較高的處理能力會(huì)較強(qiáng)。 這里用字來(lái)解釋程序容量。用一個(gè)指令(2*)表示一個(gè)字。通常用字節(jié)(3*)來(lái)表示存儲(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í)和控制部件。 2*指出某種操作并標(biāo)識(shí)其操作數(shù)(如果有操作數(shù)的話)的一種語(yǔ)言構(gòu)造 3*作為一個(gè)單位來(lái)操作(運(yùn)算)的一個(gè)二進(jìn)制字符串,通常比計(jì)算機(jī)的一個(gè)字短。 4*處理機(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)。所以她工作起來(lái)效率很高、功能也自由定義還可以靈活的適應(yīng)不同的控制要求,而不必去更換不同的IC。這樣電路才有可能做的很小巧。
標(biāo)簽: PIC 單片機(jī) 實(shí)用教程
上傳時(shí)間: 2013-10-15
上傳用戶:sxdtlqqjl
C51使用手冊(cè) .pdf 第二節(jié)內(nèi)存區(qū)域(Memory Areas)1. Pragram Area由Code 說(shuō)明可有多達(dá)64kBytes 的程序存儲(chǔ)器2. Internal Data Memory:內(nèi)部數(shù)據(jù)存儲(chǔ)器可用以下關(guān)鍵字說(shuō)明data 直接尋址區(qū)為內(nèi)部RAM 的低128 字節(jié)00H 7FHidata 間接尋址區(qū) 包括整個(gè)內(nèi)部RAM 區(qū)00H FFHbdata 可位尋址區(qū) 20H 2FH3. External Data Memory外部RAM 視使用情況可由以下關(guān)鍵字標(biāo)識(shí)xdata 可指定多達(dá)64KB 的外部直接尋址區(qū)地址范圍0000H 0FFFFHpdata 能訪問(wèn)1 頁(yè)(25bBytes)的外部RAM 主要用于緊湊模式(Compact Model)4. Speciac Function Register Memory
上傳時(shí)間: 2013-11-19
上傳用戶:busterman
石英具有非凡的機(jī)械和壓電特性, 使得從19 世紀(jì)40 年代中期以來(lái)一直作為基本的時(shí)鐘器件. 盡管在陶瓷, 硅晶和RLC電路方面有60 多年的研究, 在此之前沒(méi)有哪種材料或技術(shù)能替代石英振蕩器, 鑒于其異常的溫度穩(wěn)定性和相位噪聲特性. 估計(jì)2006 年將有100億顆石英振蕩器被制造出來(lái)并放置到汽車(chē), 數(shù)碼相機(jī), 工業(yè)設(shè)備, 游戲設(shè)備, 寬帶設(shè)備,蜂窩電話, 以及事實(shí)上每一種數(shù)字產(chǎn)品當(dāng)中. 石英振蕩器的制造數(shù)量比地球上的人口還要多.
上傳時(shí)間: 2013-10-17
上傳用戶:xinshou123456
單片機(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ù)傳遞類(lèi)指令開(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ù)傳遞類(lèi)指令中,均將目的地寫(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ù)傳遞類(lèi)指令 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
• 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ī)的鍵盤(pán)技術(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口沒(méi)有狀態(tài)寄存和命令寄存的功能,因此難以滿足復(fù)雜的I/O操作要求。由于MCS-51系列單片機(jī)I/O口數(shù)量和功能有限,所以在實(shí)際應(yīng)用中不得不使用擴(kuò)展的方法,來(lái)增加I/O口的數(shù)量,增強(qiáng)I/O口的功能。 8.1.2 I/O口的編址技術(shù)用戶可以通過(guò)對(duì)I/O口進(jìn)行讀和寫(xiě)操作來(lái)完成數(shù)據(jù)的輸入和輸出。例如:P0口的地址為80H。用戶可以使用MOV指令對(duì)P0口進(jìn)行寫(xiě)操作。 MOV P0, A 8.1.3 單片機(jī)I/O傳送的方式單片機(jī)為了實(shí)現(xiàn)數(shù)據(jù)的輸入/輸出傳送,通常使用3種控制方式。1. 無(wú)條件傳送方式 當(dāng)外設(shè)和單片機(jī)能夠同步工作時(shí),可以采用無(wú)條件方式進(jìn)行傳送,即數(shù)據(jù)可以隨時(shí)進(jìn)行傳送。2. 查詢方式 查詢方式又稱為有條件傳送方式,即數(shù)據(jù)的傳送是有條件的。在進(jìn)行I/O操作之前,用戶要通過(guò)軟件查詢外設(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
C51 中的關(guān)鍵字關(guān)鍵字 用途 說(shuō)明auto 存儲(chǔ)種類(lèi)說(shuō)明 用以說(shuō)明局部變量,缺省值為此break 程序語(yǔ)句 退出最內(nèi)層循環(huán)case 程序語(yǔ)句 Switch 語(yǔ)句中的選擇項(xiàng)char 數(shù)據(jù)類(lèi)型說(shuō)明 單字節(jié)整型數(shù)或字符型數(shù)據(jù)const 存儲(chǔ)類(lèi)型說(shuō)明 在程序執(zhí)行過(guò)程中不可更改的常量值continue 程序語(yǔ)句 轉(zhuǎn)向下一次循環(huán)default 程序語(yǔ)句 Switch 語(yǔ)句中的失敗選擇項(xiàng)do 程序語(yǔ)句 構(gòu)成do..while 循環(huán)結(jié)構(gòu)double 數(shù)據(jù)類(lèi)型說(shuō)明 雙精度浮點(diǎn)數(shù)else 程序語(yǔ)句 構(gòu)成if..else 選擇結(jié)構(gòu)enum 數(shù)據(jù)類(lèi)型說(shuō)明 枚舉extern 存儲(chǔ)種類(lèi)說(shuō)明 在其他程序模塊中說(shuō)明了的全局變量flost 數(shù)據(jù)類(lèi)型說(shuō)明 單精度浮點(diǎn)數(shù)for 程序語(yǔ)句 構(gòu)成for 循環(huán)結(jié)構(gòu)goto 程序語(yǔ)句 構(gòu)成goto 轉(zhuǎn)移結(jié)構(gòu)if 程序語(yǔ)句 構(gòu)成if..else 選擇結(jié)構(gòu)int 數(shù)據(jù)類(lèi)型說(shuō)明 基本整型數(shù)long 數(shù)據(jù)類(lèi)型說(shuō)明 長(zhǎng)整型數(shù)register 存儲(chǔ)種類(lèi)說(shuō)明 使用CPU 內(nèi)部寄存的變量return 程序語(yǔ)句 函數(shù)返回short 數(shù)據(jù)類(lèi)型說(shuō)明 短整型數(shù)signed 數(shù)據(jù)類(lèi)型說(shuō)明 有符號(hào)數(shù),二進(jìn)制數(shù)據(jù)的最高位為符號(hào)位sizeof 運(yùn)算符 計(jì)算表達(dá)式或數(shù)據(jù)類(lèi)型的字節(jié)數(shù)static 存儲(chǔ)種類(lèi)說(shuō)明 靜態(tài)變量struct 數(shù)據(jù)類(lèi)型說(shuō)明 結(jié)構(gòu)類(lèi)型數(shù)據(jù)swicth 程序語(yǔ)句 構(gòu)成switch 選擇結(jié)構(gòu)typedef 數(shù)據(jù)類(lèi)型說(shuō)明 重新進(jìn)行數(shù)據(jù)類(lèi)型定義union 數(shù)據(jù)類(lèi)型說(shuō)明 聯(lián)合類(lèi)型數(shù)據(jù)unsigned 數(shù)據(jù)類(lèi)型說(shuō)明 無(wú)符號(hào)數(shù)數(shù)據(jù)void 數(shù)據(jù)類(lèi)型說(shuō)明 無(wú)類(lèi)型數(shù)據(jù)volatile 數(shù)據(jù)類(lèi)型說(shuō)明 該變量在程序執(zhí)行中可被隱含地改變while 程序語(yǔ)句 構(gòu)成while 和do..while 循環(huán)結(jié)構(gòu)ANSIC 標(biāo)準(zhǔn)關(guān)鍵字關(guān)鍵字 用途 說(shuō)明bit 位標(biāo)量聲明 聲明一個(gè)位標(biāo)量或位類(lèi)型的函數(shù)sbit 位標(biāo)量聲明 聲明一個(gè)可位尋址變量
標(biāo)簽: C51
上傳時(shí)間: 2013-10-08
上傳用戶:waves_0801
1992 I2C 總線規(guī)范的這個(gè)版本有以下的修正• 刪除了用軟件編程從機(jī)地址的內(nèi)容因?yàn)閷?shí)現(xiàn)這個(gè)功能相當(dāng)復(fù)雜而且不被使用• 刪除了低速模式實(shí)際上這個(gè)模式是整個(gè)I2C 總線規(guī)范的子集不需要明確地詳細(xì)說(shuō)明• 增加了快速模式它將位速率增加4 倍到達(dá)400kbit/s 快速模式器件都向下兼容即它們可以在0~100kbit/s 的I2C 總線系統(tǒng)中使用• 增加了10 位尋址允許1024 個(gè)額外的從機(jī)地址• 快速模式器件的斜率控制和輸入濾波改善了EMC 性能注意100kbit/s 的I2C 總線系統(tǒng)或100kbit/s 器件都沒(méi)有改變
上傳時(shí)間: 2013-10-30
上傳用戶:athjac
I2C BUS(Inter IC BUS)是NXP 推出的芯片間串行傳輸總線,它以2 根連線實(shí)現(xiàn)了完善的雙向同步數(shù)據(jù)傳送,可以極方便地構(gòu)成多機(jī)系統(tǒng)和外圍器件擴(kuò)展系統(tǒng)。I2C 總線采用了器件地址的硬件設(shè)置方法,通過(guò)軟件尋址完全避免了器件的片選線尋址方法,從而使硬件系統(tǒng)具有最簡(jiǎn)單而靈活的擴(kuò)展方法。I2C 總線的2 根線(串行數(shù)據(jù)——SDA,串行時(shí)鐘——SCL)連接到總線上的任何一個(gè)器件,每個(gè)器件都應(yīng)有一個(gè)唯一的地址,而且都可以作為一個(gè)發(fā)送器或接收器。此外,器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或從機(jī)。
上傳時(shí)間: 2013-11-05
上傳用戶:qb1993225
MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用TI公司的MSP430系列微控制器是一個(gè)近期推出的單片機(jī)品種。它在超低功耗和功能集成上都有一定的特色,尤其適合應(yīng)用在自動(dòng)信號(hào)采集系統(tǒng)、液晶顯示智能化儀器、電池供電便攜式裝置、超長(zhǎng)時(shí)間連續(xù)工作設(shè)備等領(lǐng)域。《MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用》對(duì)這一系列產(chǎn)品的原理、結(jié)構(gòu)及內(nèi)部各功能模塊作了詳細(xì)的說(shuō)明,并以方便工程師及程序員使用的方式提供軟件和硬件資料。由于MSP430系列的各個(gè)不同型號(hào)基本上是這些功能模塊的不同組合,因此,掌握《MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用》的內(nèi)容對(duì)于MSP430系列的原理理解和應(yīng)用開(kāi)發(fā)都有較大的幫助。《MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用》的內(nèi)容主要根據(jù)TI公司的《MSP430 Family Architecture Guide and Module Library》一書(shū)及其他相關(guān)技術(shù)資料編寫(xiě)。 《MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用》供高等院校自動(dòng)化、計(jì)算機(jī)、電子等專業(yè)的教學(xué)參考及工程技術(shù)人員的實(shí)用參考,亦可做為應(yīng)用技術(shù)的培訓(xùn)教材。MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用 目錄 第1章 MSP430系列1.1 特性與功能1.2 系統(tǒng)關(guān)鍵特性1.3 MSP430系列的各種型號(hào)??第2章 結(jié)構(gòu)概述2.1 CPU2.2 代碼存儲(chǔ)器?2.3 數(shù)據(jù)存儲(chǔ)器2.4 運(yùn)行控制?2.5 外圍模塊2.6 振蕩器、倍頻器和時(shí)鐘發(fā)生器??第3章 系統(tǒng)復(fù)位、中斷和工作模式?3.1 系統(tǒng)復(fù)位和初始化3.2 中斷系統(tǒng)結(jié)構(gòu)3.3 中斷處理3.3.1 SFR中的中斷控制位3.3.2 外部中斷3.4 工作模式3.5 低功耗模式3.5.1 低功耗模式0和模式13.5.2 低功耗模式2和模式33.5.3 低功耗模式43.6 低功耗應(yīng)用要點(diǎn)??第4章 存儲(chǔ)器組織4.1 存儲(chǔ)器中的數(shù)據(jù)4.2 片內(nèi)ROM組織4.2.1 ROM表的處理4.2.2 計(jì)算分支跳轉(zhuǎn)和子程序調(diào)用4.3 RAM與外圍模塊組織4.3.1 RAM4.3.2 外圍模塊--地址定位4.3.3 外圍模塊--SFR??第5章 16位CPU?5.1 CPU寄存器5.1.1 程序計(jì)數(shù)器PC5.1.2 系統(tǒng)堆棧指針SP5.1.3 狀態(tài)寄存器SR5.1.4 常數(shù)發(fā)生寄存器CG1和CG2?5.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號(hào)模式5.2.4 絕對(duì)模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時(shí)鐘周期與長(zhǎng)度5.3 指令集概述5.3.1 雙操作數(shù)指令5.3.2 單操作數(shù)指令5.3.3 條件跳轉(zhuǎn)5.3.4 模擬指令的簡(jiǎn)短格式5.3.5 其他指令5.4 指令分布??第6章 硬件乘法器?6.1 硬件乘法器的操作6.2 硬件乘法器的寄存器6.3 硬件乘法器的SFR位6.4 硬件乘法器的軟件限制6.4.1 硬件乘法器的軟件限制--尋址模式6.4.2 硬件乘法器的軟件限制--中斷程序??第7章 振蕩器與系統(tǒng)時(shí)鐘發(fā)生器?7.1 晶體振蕩器7.2 處理機(jī)時(shí)鐘發(fā)生器7.3 系統(tǒng)時(shí)鐘工作模式7.4 系統(tǒng)時(shí)鐘控制寄存器7.4.1 模塊寄存器7.4.2 與系統(tǒng)時(shí)鐘發(fā)生器相關(guān)的SFR位7.5 DCO典型特性??第8章 數(shù)字I/O配置?8.1 通用端口P08.1.1 P0的控制寄存器8.1.2 P0的原理圖8.1.3 P0的中斷控制功能8.2 通用端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理圖8.2.3 P1、P2的中斷控制功能8.3 通用端口P3、P48.3.1 P3、P4的控制寄存器8.3.2 P3、P4的原理圖8.4 LCD端口8.5 LCD端口--定時(shí)器/端口比較器??第9章 通用定時(shí)器/端口模塊?9.1 定時(shí)器/端口模塊操作9.1.1 定時(shí)器/端口計(jì)數(shù)器TPCNT1--8位操作9.1.2 定時(shí)器/端口計(jì)數(shù)器TPCNT2--8位操作9.1.3 定時(shí)器/端口計(jì)數(shù)器--16位操作9.2 定時(shí)器/端口寄存器9.3 定時(shí)器/端口SFR位9.4 定時(shí)器/端口在A/D中的應(yīng)用9.4.1 R/D轉(zhuǎn)換原理9.4.2 分辨率高于8位的轉(zhuǎn)換??第10章 定時(shí)器?10.1 Basic Timer110.1.1 Basic Timer1寄存器10.1.2 SFR位10.1.3 Basic Timer1的操作10.1.4 Basic Timer1的操作--LCD時(shí)鐘信號(hào)fLCD?10.2 8位間隔定時(shí)器/計(jì)數(shù)器10.2.1 8位定時(shí)器/計(jì)數(shù)器的操作10.2.2 8位定時(shí)器/計(jì)數(shù)器的寄存器10.2.3 與8位定時(shí)器/計(jì)數(shù)器有關(guān)的SFR位10.2.4 8位定時(shí)器/計(jì)數(shù)器在UART中的應(yīng)用10.3 看門(mén)狗定時(shí)器11.1.3 比較模式11.1.4 輸出單元11.2 TimerA的寄存器11.2.1 TimerA控制寄存器TACTL11.2.2 捕獲/比較控制寄存器CCTL11.2.3 TimerA中斷向量寄存器11.3 TimerA的應(yīng)用11.3.1 TimerA增計(jì)數(shù)模式應(yīng)用11.3.2 TimerA連續(xù)模式應(yīng)用11.3.3 TimerA增/減計(jì)數(shù)模式應(yīng)用11.3.4 TimerA軟件捕獲應(yīng)用11.3.5 TimerA處理異步串行通信協(xié)議11.4 TimerA的特殊情況11.4.1 CCR0用做周期寄存器11.4.2 定時(shí)器寄存器的啟/停11.4.3 輸出單元Unit0??第12章 USART外圍接口--UART模式?12.1 異步操作12.1.1 異步幀格式12.1.2 異步通信的波特率發(fā)生器12.1.3 異步通信格式12.1.4 線路空閑多處理機(jī)模式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幀啟動(dòng)接收操作12.4.2 時(shí)鐘頻率的充分利用與UART模式的波特率12.4.3 節(jié)約MSP430資源的多處理機(jī)模式12.5 波特率的計(jì)算??第13章 USART外圍接口--SPI模式?13.1 USART的同步操作13.1.1 SPI模式中的主模式--MM=1、SYNC=113.1.2 SPI模式中的從模式--MM=0、SYNC=113.2 中斷與控制功能13.2.1 USART接收允許13.2.2 USART發(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章 液晶顯示驅(qū)動(dòng)?14.1 LCD驅(qū)動(dòng)基本原理14.2 LCD控制器/驅(qū)動(dòng)器14.2.1 LCD控制器/驅(qū)動(dòng)器功能14.2.2 LCD控制與模式寄存器14.2.3 LCD顯示內(nèi)存14.2.4 LCD操作軟件例程14.3 LCD端口功能14.4 LCD與端口模式混合應(yīng)用實(shí)例??第15章 A/D轉(zhuǎn)換器?15.1 概述15.2 A/D轉(zhuǎn)換操作15.2.1 A/D轉(zhuǎn)換15.2.2 A/D中斷15.2.3 A/D量程15.2.4 A/D電流源15.2.5 A/D輸入端與多路切換15.2.6 A/D接地與降噪15.2.7 A/D輸入與輸出引腳15.3 A/D控制寄存器??第16章 其他模塊16.1 晶體振蕩器16.2 上電電路16.3 晶振緩沖輸出??附錄A 外圍模塊地址分配?附錄B 指令集描述?B1 指令匯總B2 指令格式B3 不增加ROM開(kāi)銷(xiāo)的指令模擬B4 指令說(shuō)明B5 用幾條指令模擬的宏指令??附錄C EPROM編程?C1 EPROM操作C2 快速編程算法C3 通過(guò)串行數(shù)據(jù)鏈路應(yīng)用\"JTAG\"特性的EPROM模塊編程C4 通過(guò)微控制器軟件實(shí)現(xiàn)對(duì)EPROM模塊編程??附錄D MSP430系列單片機(jī)參數(shù)表?附錄E MSP430系列單片機(jī)產(chǎn)品編碼?附錄F MSP430系列單片機(jī)封裝形式?
標(biāo)簽: MSP 430 超低功耗 位單片機(jī)
上傳時(shí)間: 2014-05-07
上傳用戶:lwq11
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1