




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、嵌入式微處理器體系結(jié)構(gòu)嵌入式微處理器的體系結(jié)構(gòu)可以采用馮諾依曼體系結(jié)構(gòu)或哈佛體系結(jié)構(gòu),指令系統(tǒng)可以選用精簡(jiǎn)指令系統(tǒng)RISC和復(fù)雜指令集系統(tǒng) CISC。1、馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu);1馮諾依曼結(jié)構(gòu)的電腦由 CPU和存儲(chǔ)器構(gòu)成,其程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,程序 指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置;采用單一的地址及數(shù)據(jù)總線,程序指令和數(shù)據(jù)的寬度相同。程序計(jì)數(shù)器PC是CPU內(nèi)部指示指令和數(shù)據(jù)的存儲(chǔ)位置的寄存器。2哈佛結(jié)構(gòu)的主要特點(diǎn)是將程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù) 存儲(chǔ)器是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問。提高執(zhí)行速度,提高數(shù)據(jù)
2、的吞吐率,具有較高的執(zhí)行效率。2、CISC 和 RISC類別CISCRISC指令系統(tǒng)指令數(shù)量很多較少,通常少于100執(zhí)行時(shí)間有些指令執(zhí)行時(shí)間很長(zhǎng), 如整塊的存儲(chǔ)器內(nèi)容拷貝; 或?qū)⒍鄠€(gè)寄存器的內(nèi)容 拷貝到存貯器沒有較長(zhǎng)執(zhí)行時(shí)間的指令編碼長(zhǎng)度編碼長(zhǎng)度可交,1-15字節(jié)二編碼長(zhǎng)度固定,通常為 4個(gè)字節(jié)尋址方式尋址方式多樣二簡(jiǎn)單尋址操作可以對(duì)存儲(chǔ)器和寄存器 進(jìn)行算術(shù)和邏輯操作只能對(duì)寄存器對(duì)行算術(shù)和邏輯操作,Load/Store體系結(jié)構(gòu)編譯難以用優(yōu)化編譯器生成 高效的目標(biāo)代碼程序采用優(yōu)化編譯技術(shù),生成高效的目標(biāo)代碼程序二、ARM狀態(tài)各模式下的寄存器1、所有的37個(gè)寄存器,分成兩大類:(1)31個(gè)通用32
3、位寄存器;(2) 6個(gè)狀態(tài)寄存器。2、R0R7為未分組的寄存器,也就是說對(duì)于任何處理器模式,這些寄存器都對(duì)應(yīng)于相同的32位物理寄存器。3、寄存器R8R14為分組寄存器。它們所對(duì)應(yīng)的物理寄存器取決于當(dāng)前的處理器模式,幾乎所有允許使用通用寄存器的指令都允許使用分組寄存器4、寄存器R8R12有兩個(gè)分組的物理寄存器。 一個(gè)用于除FIQ模式之外的所有寄存器模式, 另一個(gè)用于FIQ模式。這樣在發(fā)生 FIQ中斷后,可以加速 FIQ的處理速度5、寄存器R13、R14分別有6個(gè)分組的物理寄存器。一個(gè)用于用戶和系統(tǒng)模式,其余 5個(gè) 分別用于5種異常模式。三、處理器工作模式1、ARM處理器有7種工作模式; usr用
4、戶模式:ARM處理器正常程序執(zhí)行模式。 fiq快速中斷模式:用于高速數(shù)據(jù)傳輸或通道處理 irq外部中斷模式:用于通用的中斷處理 svc管理模式:操作系統(tǒng)使用的保護(hù)模式 abt (數(shù)據(jù)訪問終止模式):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存 儲(chǔ)保護(hù)。 sys系統(tǒng)模式:運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。 und未定義指令中止模式:當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM微處理器的運(yùn)行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。除用戶模式以外,其余的所有 6種模式稱之為非用戶模式,或 特權(quán)模式Privileged Modes;其中除去用戶模式和系統(tǒng)模
5、式以外的 5種又稱為異常模式Exception Modes,常 用于處理中斷或異常,以及需要訪問受保護(hù)的系統(tǒng)資源等情況。2、除用戶模式外,其它模式均為特權(quán)模式。ARM內(nèi)部全部系統(tǒng)資源和一些片內(nèi)外設(shè)在硬件 設(shè)計(jì)上只允許或者可選為只允許特權(quán)模式下訪問。3、此外,特權(quán)模式可以自由的切換處理器模式,而用戶模式不能直接切換到別的模式。四、ARM異常處理1、當(dāng)異常產(chǎn)生時(shí),ARM核:1拷貝 CPSR 到 SPSR_2設(shè)置適當(dāng)?shù)?CPSR位:a.改變處理器狀態(tài)進(jìn)入 ARM態(tài)b.改變處理器模式進(jìn)入相應(yīng)的異常模式c.設(shè)置中斷禁止位禁止相應(yīng)中斷(如需要)3保存返回地址到 LR_4設(shè)置PC為相應(yīng)的異常向量地址2、返回
6、時(shí),異常處理程序需要:1從 SPSR_恢復(fù) CPSR2從 LR_ 恢復(fù) PC3注意:這些操作只能在 ARM態(tài)執(zhí)行.五、ARM指令集1、ARM尋址方式:掌握 ARM微處理器9種尋址方式的特點(diǎn)。1.寄存器尋址操作數(shù)的值在寄存器中,指令中的地址碼字段給出的是寄存器編號(hào),寄存器的內(nèi)容是操 作數(shù),指令執(zhí)行時(shí)直接取出寄存器值操作。例如指令:MOVR1,R2; R1 R2SUBR0,R1,R2; R0-R1- R22.立即尋址在立即尋址指令中數(shù)據(jù)就包含在指令當(dāng)中,立即尋址指令的操作碼字段后面的地址碼部分就是操作數(shù)本身,取出指令也就取出了可以立即使用的操作數(shù)也稱為立即數(shù)。立即數(shù)要以為前綴,表示 16進(jìn)制數(shù)值時(shí)
7、以“ 0x”表示。例如指令:ADD R0,R0,#1; R0R0 + 1MOV R0,#0xff00; R00xff003.寄存器移位尋址寄存器移位尋址是 ARM指令集特有的尋址方式。第 2個(gè)寄存器操作數(shù)在與第 1個(gè)操 作數(shù)結(jié)合之前,先進(jìn)行移位操作。例如指令:MOVR0,R2,LSL #3; R2的值左移 3位,結(jié)果放入 R0,即R0=R2 * 8ANDSR1,R1,R2,LSL R3; R2的值左移 R3位,然后和 R1相與操作,結(jié)果放入 R1可采用的移位操作如下:LSL:邏輯左移Logical Shift Left,寄存器中字的低端空出的位補(bǔ)0。LSR:邏輯右移Logical Shift
8、Right,寄存器中字的高端空出的位補(bǔ)0。ASR :算術(shù)右移Arithmetic Shift Right,移位過程中保持符號(hào)位不變,即如果源操作數(shù)為 正數(shù),則字的高端空出的位補(bǔ)0,否則補(bǔ)1ROR:循環(huán)右移Rotate Right,由字的低端移出的位填入字的高端空出的位RRX :帶擴(kuò)展的循環(huán)右移Rotate Right extended by 1 place,操作數(shù)右移一位,高端空出的 位用原C標(biāo)志值填充。4.寄存器間接尋址指令中的地址碼給出的是一個(gè)通用寄存器編號(hào),所需要的操作數(shù)保存在寄存器指定地 址的存儲(chǔ)單元中,即寄存器為操作數(shù)的地址指針,操作數(shù)存放在存儲(chǔ)器中。例如指令:LDR R0,R1;
9、R0-R1將R1中的數(shù)值作為地址, 取出此地址中的數(shù)據(jù)保存在R0中STR R0,R1; R1 - R05.變址尋址變址尋址是將基址寄存器的內(nèi)容與指令中給出的偏移量相加,形成操作數(shù)的有效地址,變址尋址用于訪問基址附近的存儲(chǔ)單元,常用于查表,數(shù)組操作,功能部件寄存器訪問等。 例如指令:LDR R2,R3,#4; R2-R3 + 4將R3中的數(shù)值加 4作為地址,取出此地址的數(shù)值保存在R2中STR R1,R0,#-2; R0-2 - R1將R0中的數(shù)值減 2作為地址,把 R1中的內(nèi)容保存到此地址位置 6.多寄存器尋址LDM/STMLDM/STM 指令可以把存儲(chǔ)器中的一個(gè)數(shù)據(jù)塊加載到多個(gè)寄存器中,也可以
10、把多個(gè)寄 存器中的內(nèi)容保存到存儲(chǔ)器中。尋址操作中的寄存器可以是R0-R15這16個(gè)寄存器的子集或是所有寄存器。采用多寄存器尋址方式,一條指令可以完成多個(gè)寄存器值的傳送,這種尋址方式用一條指令最多可以完成16個(gè)寄存器值的傳送。格式為:LDM或STM條件類型基址寄存器! ,寄存器列表A該指令的常見用途是將多個(gè)寄存器的內(nèi)容入?;虺鰲?。 7.堆棧尋址堆棧是一種數(shù)據(jù)結(jié)構(gòu),堆棧是特定順序進(jìn)行存取的存儲(chǔ)區(qū),操作順序分為“后進(jìn)先出”和“先進(jìn)后出”,堆棧尋址時(shí)隱含的,它使用一個(gè)專門的寄存器堆棧指針指向一塊存儲(chǔ) 區(qū)域堆棧,指針?biāo)赶虻拇鎯?chǔ)單元就是堆棧的棧頂。8.塊復(fù)制尋址塊復(fù)制尋址用于把一塊從存儲(chǔ)器的某一位置復(fù)制
11、到另一位置,是一個(gè)多寄存器傳送指令。9.相對(duì)尋址相對(duì)尋址是變址尋址的一種變通,由程序計(jì)數(shù)器PC提供基準(zhǔn)地址,指令中的地址碼字段作為偏移量,兩者相加后得到的地址即為操作數(shù)的有效地址。2、堆棧尋址滿遞增堆棧FA:堆棧指針指向最后壓入的數(shù)據(jù),且由低地址向高地址生成。滿遞減堆棧FD:堆棧指針指向最后壓入的數(shù)據(jù),且由高地址向低地址生成。空遞增堆棧EA:堆棧指針指向下一個(gè)將要放入數(shù)據(jù)的空位置,且由低地址向高地址生成??者f減堆棧ED:堆棧指針指向下一個(gè)將要放入數(shù)據(jù)的空位置,且由高地址向低地址生成。3、多寄存器尋址(塊拷貝尋址)1塊拷貝尋址是多寄存器傳送指令LDM/STM的尋址方式。LDM/STM 指令可以把
12、存儲(chǔ)器中的一個(gè)數(shù)據(jù)塊加載到多個(gè)寄存器中,也可以把多個(gè)寄存器中的內(nèi)容保存到存儲(chǔ)器中。尋址操作中的寄存器可以是R0-R15這16個(gè)寄存器的子集或是所有寄存器。2LDM/STM指令依據(jù)其后綴名的不同其尋址的方式也有很大不同。3LDMIA R1!, R0 , R2, R3指令執(zhí)行后, R1 的值變?yōu)?R1+12 R1 ;注:!決定Rn的值是否隨著傳送而改變尋址模式描述起始地址結(jié)束地址Rn!IA執(zhí)行后增加RnRn+4*NRn+4*NIB執(zhí)行前增加Rn+4Rn+4*NRn+4*NDA執(zhí)行后減少RnRn-4*NRn-4*NDB執(zhí)行前減少Rn-4Rn-4*NRn-4*N六ARM狀態(tài)與Thumb狀態(tài)的轉(zhuǎn)換1、實(shí)
13、現(xiàn)ARM工作狀態(tài)轉(zhuǎn)換的指令,其句法如下:BX 目標(biāo)地址1BX指令將引起處理器轉(zhuǎn)移到目標(biāo)地址所指向的地址處執(zhí)行。2目標(biāo)地址的位0不用來作為地址的一部分。a.假設(shè)目標(biāo)地址的位0為1,則指令將CPSR中的標(biāo)志T置位,且將目標(biāo)地址的代碼解釋為Thumb代碼;b.假設(shè)目標(biāo)地址的位0為0,則指令將CPSR中的標(biāo)志T復(fù)位,且將目標(biāo)地址的代碼解釋為ARM代碼。七、ARM的硬件系統(tǒng)結(jié)構(gòu)1、S3C2410的存儲(chǔ)器系統(tǒng)1S3c2410支持大、小端模式,可通過軟件選擇大小端模式;2存儲(chǔ)空間分成 8個(gè)Bank,每個(gè)Bank 128Mbytes ,總共 1GB;6 個(gè) Bank 用于控制 ROM, SRAM, etc.剩
14、余的2個(gè)Bank用于控制 ROM, SRAM, SDRAM, etc .3除Bank0 (16/32-bit)外,所有的Bank都可以通過編程選擇總線寬度=(8/16/32-bit);47個(gè)Bank固定起始地址,最后一個(gè)Bank可調(diào)整起始地址;5最后兩個(gè)Bank大小可編程6所有Bank存儲(chǔ)周期可編程控制;7如果同時(shí)使用 Bank6/ Bank7 ,則要求連接相同容量的存儲(chǔ)器,而且其地址空間在物理 上是連續(xù)的。2、S3C2410 的 I/O 口配置S3c2410有117個(gè)多功能口,掌握如何通過軟件編程對(duì)每個(gè)I/O 口進(jìn)行配置。如將端口C的最低2為設(shè)置為01,既設(shè)置成輸出模式,其余位不變。rGPC
15、CON = rGPCCON&0xfffffffc|0x00000001;rGPCDAT= rGPCDAT |0x001;/PC0 口 電平輸出高表3.4.3 S3C2410A的端口 C I/O 口配置情況端口 C可選擇的引腳端功能GPC15 GPC8輸入/輸出VD7 VD0一GPC7 GPC5輸入/輸出LCDVF2 LCDVF0一GPC4輸入/輸出VM一GPC3輸入/輸出VFRAME一GPC2輸入/輸出VLINE一GPC1輸入/輸出VCLK一GPC0輸入/輸出LEND一寄存器地址讀/寫描述復(fù)位值GPCCON0x56000020R/W配置端口 C引腳端,使用位31:0,分別對(duì)端口 B的16個(gè)引腳
16、端進(jìn)行配置。00:輸入;01 :輸出; 10:第2功能;11:保留0x0GPCDAT0x56000024R/W端DC數(shù)據(jù)寄存器,使用位15:0未定義GPCUP0x56000028R/W端口 C上拉電阻不使能寄存器,使用位 15:0。0:使能;1 :不使能0x0保留0x5600002c一保留未定義表 端口 C控制寄存器3、掌握ARM微處理器的中斷系統(tǒng)的特點(diǎn)了解:一旦有中斷發(fā)生,ARM的中斷系統(tǒng)將如何處理。在ARM系統(tǒng)中,支持復(fù)位、未定義指令、軟中斷、預(yù)取中止、數(shù)據(jù)中止、 IRQ和FIQ7種異常,每種異常對(duì)應(yīng)于不同的處理器模式,有對(duì)應(yīng)的異常向量固定的存儲(chǔ)器地址。在ARM系統(tǒng)中,一旦有中斷發(fā)生,正在
17、執(zhí)行的程序都會(huì)停下來,通常都會(huì)執(zhí)行如下的中斷 步驟:1保存現(xiàn)場(chǎng)。保存當(dāng)前的PC值到R14,保存當(dāng)前的程序運(yùn)行狀態(tài)到SPSR。2模式切換。根據(jù)發(fā)生的中斷類型,進(jìn)入IRQ模式或FIQ模式。3獲取中斷服務(wù)子程序地址。PC指針跳到異常向量表所保存的IRQ或FIQ地址處,IRQ或FIQ的異常向量地址處一般保存的是中斷服務(wù)子程序的地址,PC指針跳入到中斷服務(wù)子程序,進(jìn)行中斷處理。4多個(gè)中斷請(qǐng)求處理。在 ARM系統(tǒng)中,可以存在多個(gè)中斷請(qǐng)求源,比方串口中斷、AD中斷、外部中斷、定時(shí)器中斷及DMA中斷等,所以可能出現(xiàn)多個(gè)中斷源同時(shí)請(qǐng)求中斷的情況。為了更好地區(qū)分各個(gè)中斷源,通常為這些中斷定義不同的優(yōu)先級(jí)別,并為每
18、一個(gè)中斷設(shè)置一個(gè)中斷標(biāo)志位。當(dāng)發(fā)生中斷時(shí),通過判斷中斷優(yōu)先級(jí)以及訪問中斷標(biāo)志位的狀態(tài)來識(shí)別 哪一個(gè)中斷發(fā)生了,進(jìn)而調(diào)用相應(yīng)的函數(shù)進(jìn)行中斷處理。5中斷返回,恢復(fù)現(xiàn)場(chǎng)。當(dāng)完成中斷服務(wù)子程序后,將SPSR中保存的程序運(yùn)行狀態(tài)恢復(fù)到CPSR中,R14中保存的被中斷程序的地址恢復(fù)到PC中,繼續(xù)執(zhí)行被中斷的程序。4、了解S3c2410的DMA控制器的基本工作原理。DMADirect Memory Acess ,直接存儲(chǔ)器存取 方式是指存儲(chǔ)器與外設(shè)在 DMA控制器的控 制下,直接傳送數(shù)據(jù)而不通過 CPU ,傳輸速率主要取決于存儲(chǔ)器存取速度。在DMA傳輸過程中,DMA控制器負(fù)責(zé)管理整個(gè)操作,并且無須CPU介入
19、,從而大大提高了 CPU的工作效率。DMA方式為高速I/O設(shè)備和存儲(chǔ)器之間的批量數(shù)據(jù)交換提供了直接的傳輸通道。由 于I/O設(shè)備直接同內(nèi)存發(fā)生成塊的數(shù)據(jù)交換,可以提高I/O效率?,F(xiàn)在大部分電腦系統(tǒng)均采用DMA技術(shù)。許多輸入/輸出設(shè)備的控制器都支持DMA方式。采用DMA方式進(jìn)行數(shù)據(jù)傳輸?shù)木唧w過程如下。(1)外設(shè)向DMA控制器發(fā)出DMA請(qǐng)求。(2) DMA控制器向CPU發(fā)出總線請(qǐng)求信號(hào)。3CPU執(zhí)行完現(xiàn)行的總線周期后,向 DMA控制器發(fā)出響應(yīng)請(qǐng)求的答復(fù)信號(hào)。4CPU將控制總線、地址總線及數(shù)據(jù)總線讓出,由 DMA控制器進(jìn)行控制。5DMA控制器向外部設(shè)備發(fā)出 DMA請(qǐng)求答復(fù)信號(hào)。6進(jìn)行DMA傳送。7數(shù)據(jù)
20、傳送完畢,DMA控制器通過中斷請(qǐng)求線發(fā)出中斷信號(hào)。CPU在接收到中斷信號(hào)后,轉(zhuǎn)人中斷處理程序進(jìn)行后續(xù)處理。8中斷處理結(jié)束后, CPU返回到被中斷的程序繼續(xù)執(zhí)行。CPU重新獲得總線控制權(quán)。每個(gè)DMA控制器可以處理以下 4種情況:1源和目的都在系統(tǒng)總線上;2源在系統(tǒng)總線上,目的在外圍總線上;3源在外圍總線上,目的在系統(tǒng)總線上;4源和目的都在外圍總線上。5、嵌入式存儲(chǔ)系統(tǒng)的特點(diǎn)。1高速緩沖存儲(chǔ)器原理及特點(diǎn)。高速緩沖存儲(chǔ)器cache用來提高存儲(chǔ)器系統(tǒng)的性能,許多微處理器體系結(jié)構(gòu)都把它作為 其定義的一部分。cache能夠減少內(nèi)存平均訪問時(shí)間。Cache可以分為統(tǒng)一 cache和獨(dú)立的數(shù)據(jù)/程序 cach
21、e。(2)存儲(chǔ)器管理單元 MMU主要完成的功能。1虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。采用了頁式虛擬存儲(chǔ)管理,它把虛擬地址空 間分成一個(gè)個(gè)固定大小的塊, 每一塊稱為一頁,把物理內(nèi)存的地址空間也分成同樣大小的頁。MMU實(shí)現(xiàn)的就是從虛擬地址到物理地址的轉(zhuǎn)換。2存儲(chǔ)器訪問權(quán)限的控制。3設(shè)置虛擬存儲(chǔ)空間的緩沖的特性。八、嵌入式系統(tǒng)I/O設(shè)備接口1、掌握S3c2410的I/O接口的編程要求:掌握I/O 口編程,能編寫實(shí)現(xiàn)LED1、 LED2、 LED3、 LED4輪流閃爍的程序。實(shí)現(xiàn)LED1和LED2輪流閃爍的程序代碼void Main void int flag , i ;Target Init;/進(jìn)行
22、硬件初始化操作,包括對(duì) I/O 口的初始化操作 for; if flag = = 0fori = 0; i 1000000; i+;/延時(shí)rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000 ; /配置第 8、第/9位為輸出引腳rGPGDAT= rGPGDAT & 0xeff | 0x200; 第 8 位輸出為低電平/第9位輸出高電平fori = 0; i 10000000; i+;/延時(shí)flag = 1 ;else fori = 0; i 1000000; i+;/延時(shí)rGPGCON = rGPGCON & 0xfff0ffff 0x00050000 ; /
23、配置第 8、第9位 為輸出引腳rGPGDAT = rGPGDAT& Oxdff | 0x100 ; 第 8 位輸出為高電平第9位輸 出彳氐電平fori = 0; i 1000000; i+;/延時(shí)flag = 0 ;2、掌握S3c2410的A/D轉(zhuǎn)換器接口的原理要求:掌握A/D轉(zhuǎn)換器接口的原理,能編寫 A/D轉(zhuǎn)換器初始化函數(shù)和獲取 A/D的轉(zhuǎn)換 值的程序。1A/D轉(zhuǎn)換器模/數(shù)轉(zhuǎn)換器完成電模擬量到數(shù)字量的轉(zhuǎn)換。實(shí)現(xiàn) A/D轉(zhuǎn)換的 方法很多,常用的方法有計(jì)數(shù)法、雙積分法和逐次逼近法等。2.對(duì)A/D轉(zhuǎn)換器進(jìn)行初始化程序中的參數(shù)ch表示所選擇的通道號(hào),程序如下: void AD_Init unsign
24、ed char ch rADCDL Y=100;/ADC啟動(dòng)或間隔延時(shí)rADCTSC=0;/選擇 ADC 模式rADCCON=114|496|ch3|02|07 return 0;通道不能大于 7fori=0; i 16; i+/為轉(zhuǎn)換準(zhǔn)確,轉(zhuǎn)換 16次rADCCON |=0x1;/啟動(dòng) A/D 轉(zhuǎn)換rADCCON= rADCCON & 0xffc7 |ch 4;為轉(zhuǎn)換準(zhǔn)確,除以 16取均值)3、掌握四線式電阻式觸摸屏的工作原理,能分析觸摸點(diǎn)的X軸坐標(biāo)和Y軸坐標(biāo)是如何測(cè)量出來的。觸摸屏按其工作原理可分為矢量壓力傳感式、電阻式、電容式、紅外線式和外表聲波式5類。在嵌入式系統(tǒng)中常用的是電阻式觸摸屏
25、。四線式觸摸屏的 X工作面和丫工作面分別加在兩個(gè)導(dǎo)電層上, 共有4根引出線:X+、X , Y +、Y分別連到觸摸屏的 X電極對(duì)和Y電極對(duì)上。四線電阻屏觸摸壽命小于 100萬次。當(dāng)給X方向的電極對(duì)施加一確定的電壓,而Y方向電極對(duì)不加電壓時(shí), 在x平行電壓場(chǎng)中,觸點(diǎn)處的電壓值可以在 Y+或Y一電極上反映出來,通過測(cè)量Y +電極對(duì)地的電壓大小, 通過A/D轉(zhuǎn)換,便可得知觸點(diǎn)的 X坐標(biāo)值。同理,當(dāng)給 Y電極對(duì)施加電壓,而 X電極對(duì)不 加電壓時(shí),通過測(cè)量 X +電極的電壓,通過 A/D轉(zhuǎn)換便可得知觸點(diǎn)的 Y坐標(biāo)。四線電阻觸摸屏的分辨方法是將四線電阻觸摸后變化的模擬量轉(zhuǎn)換成數(shù)字量,經(jīng)過軟件計(jì)算得出不同的屏
26、幕上不同的X, Y坐標(biāo)。此工作主要是靠S3C2440A芯片中的模數(shù)轉(zhuǎn)換器來實(shí)現(xiàn)的。4、了解 S3c2410的UART串行接口的工作原理,掌握 S3C2410的UART發(fā)送和接收數(shù)據(jù) 的程序設(shè)計(jì)。UART通用異步收發(fā)器主要由數(shù)據(jù)線接口、控制邏輯、配置寄存器、波特率發(fā)生器、發(fā)送部分和接收部分組成,采用異步串行通信方式,采用RS-232C 9芯接插件DB-9連接,是廣泛使用的串行數(shù)據(jù)傳輸方式.本程序?qū)嵗龑?shí)現(xiàn)從 UART0接收數(shù)據(jù),然后分別從UART0和UART1發(fā)送出去。其功能可 以把鍵盤敲擊的字符通過PC機(jī)的串口發(fā)送給 ARM系統(tǒng)上的UART0 ,ARM系統(tǒng)上的UART0接收到字符后,再通過UAR
27、T0和UART1送給PC機(jī),這樣就完成了串口間的收發(fā)數(shù)據(jù)。要實(shí)現(xiàn)以上數(shù)據(jù)的收發(fā)功能,需要編寫的主要代碼如下。 1發(fā)送數(shù)據(jù) 其中whichUart為全局變量,指示當(dāng)前選擇的 UART通道,使用串口發(fā)送一個(gè)字節(jié)的代碼如 下:void Uart_SendByte int data ifwhichUart= =0 ifdata= = n while!rUTRSTAT0 &0x2;Delay10;延時(shí),與終端速度有關(guān)WrUTXH r; while!rUTRSTAT0 &0x2;等待,直到發(fā)送狀態(tài)就緒Delay10; WrUTXH0 data; else if whichUart= =1 ifdata=
28、n while!rUTRSTAT1 & 0x2; Delay10;延時(shí),與終端速度有關(guān)rUTXH1= r; while!rUTRSTAT1&0x2;等待,直到發(fā)送狀態(tài)就緒Delay 10; rUTXH1 = data; else if whichUart= =2 if data= = n while!rUTRSTAT2 & 0x2; Delay10;延時(shí),與終端速度有關(guān)rUTXH2 = r; while!rUTRSTAT2&0x2;等待,直到發(fā)送狀態(tài)就緒Delay10; rUTXH2 = data;2.接收數(shù)據(jù)如果沒有接收到字符則返回0。使用串口接收一個(gè)字符的代碼如下:char Uart_Ge
29、tKey voidifwhichUart = = 0ifrUTRSTAT0&0x1return RdURXH0; elsereturn 0;else if whichUart= =1 ifrUTRSTAT1 &0x1return RdURXH1 ; elsereturn 0;else if whichUart= =2 if rUTRSTA T2 & 0x1return RdURXH2 ; elsereturn 0; elsereturn 0;/UARTO接收到數(shù)據(jù)/UART1接收到數(shù)據(jù)/UART2接收到數(shù)據(jù)5、掌握鍵盤接口設(shè)計(jì)的方法。要求:掌握矩陣式鍵盤的掃描原理,能設(shè)計(jì)一個(gè)與S3c2410連
30、接的4X4的矩陣式鍵盤的接口電路,并編寫鍵盤掃描程序。(1)矩陣鍵盤的按鍵按 N行M歹U排列,每個(gè)按鍵占據(jù)行列的一個(gè)交點(diǎn),需要的I/O 口數(shù)目是N+M ,容許的最大按鍵數(shù)是 NXMo矩陣鍵盤可以減少與微控制器I/O接口的連線數(shù),是常用的一種鍵盤結(jié)構(gòu)形式。根據(jù)矩陣鍵盤的識(shí)鍵和譯鍵方法的不同,矩陣鍵盤又可以分為非編碼鍵盤和編碼鍵盤兩種。(2) 一個(gè)用I/O 口實(shí)現(xiàn)的鍵盤接口,為了識(shí)別鍵盤上的閉合鍵,常采用行掃描法。行掃描法是使鍵盤上某一行線為低電平,而其余行接高電平,然后讀取列值,如果列值中有某位為低電平,則說明行列交點(diǎn)處的鍵被按下;否則掃描下一行,直到掃描完全部的行線為止。(3)根據(jù)行掃描法的原
31、理,識(shí)別矩陣鍵盤按鍵閉合分兩步進(jìn)行:a.識(shí)別鍵盤哪一行的鍵被按下:讓所有行線均為低電平,檢查各列線電平是否為低,如果 有列線為低,則說明該列有鍵被按下,否則說明無鍵被按下。b.如果某列有鍵被按下,識(shí)別鍵盤哪一行的鍵被按下:逐行置低電平,并置其余各行為高 電平,檢查各列線電平的變化, 如果列電平變?yōu)榈碗娖剑?則可確定此行此列交叉點(diǎn)處按鍵被 按下。void keyboard_test(void)(UINT8T ucChar;UINT8T szBuf40;uart_printf( n Keyboard Test Examplen );uart_printf( Press any key to exi
32、t n);Keyboard_init();g_nKeyPress=0xFE;While(1)(f_nKeyPress=0;while(f_nKeyPress=0)(if(uart_tetkey() /Press any key from UART0 to exit return;else if(ucChar=7)/or press 5*4 Key-7 to exitreturn;else if(g_nKeyPress!=0xFE) /or SB1202/SB1203 to exit return;)iic_read_keybd(0x70,0x1,&ucChar); /get data from
33、 ZLG7290 If(ucChar!=0)(ucChar-key_set(ucChar); /key map for Edukit II if(ucChar16)sprintf(&szBuf, “ press key %d” ,ucChar);else if(ucChar255)sprintf(&szBuf, “ press key %d” ,ucChar);if(ucChar=0xFF)sprintf(&szBuf, “ press key %c” ,ucChar);if(ucChar=0xFF)sprintf(&szBuf, press key FUN);#ifdef BOARDTEST
34、print_lcd(200,170,0x1c,&szBuf);#endifuart_printf(szBuf);uart_printf( n)uart_printf( end.n);九、嵌入式軟件及操作系統(tǒng)1、正確理解進(jìn)程、線程的概念,掌握進(jìn)程及進(jìn)程的主要特點(diǎn),并能說明進(jìn)程和程序有什么區(qū)別。(1)進(jìn)程process是在描述多道系統(tǒng)中并發(fā)活動(dòng)過程引入的一個(gè)概念。進(jìn)程和程序是兩 個(gè)既有聯(lián)系又有區(qū)別的概念,兩者不能混為一談。而進(jìn)程則是一次執(zhí)行過程,它是暫時(shí)的, 是動(dòng)態(tài)地產(chǎn)生和終止的。一個(gè)進(jìn)程通常包含有以下幾個(gè)方面的內(nèi)容:相應(yīng)的程序; CPU上下文;一組系統(tǒng)資源。進(jìn)程的特點(diǎn):進(jìn)程具有動(dòng)態(tài)性;進(jìn)程具有獨(dú)立性;進(jìn)程具有并發(fā)性。2線程thread是一個(gè)比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。所謂的線程,就是進(jìn)程當(dāng) 中的一條執(zhí)行流程。包括運(yùn)行上下文、內(nèi)存地址空間、打開的文件等??梢杂镁€程來作為 CPU的基本調(diào)度單位,使得各個(gè)線程之間可以并發(fā)執(zhí)行。對(duì)于同一個(gè)進(jìn)程當(dāng)中的各個(gè)線程來說, 運(yùn)行在相同的資源平臺(tái)上,可以共享該進(jìn)程的大部分資源,但也有一小部分資源是不能共享的,每個(gè)線程都必須擁有各自獨(dú)立的一份。2、任務(wù)的實(shí)現(xiàn)(1).任務(wù)的層次結(jié)構(gòu);(2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境電商創(chuàng)業(yè)者的融資與資本運(yùn)作
- 讀者需求驅(qū)動(dòng)下的出版業(yè)變革路徑
- 軟組織修復(fù)材料力學(xué)性能評(píng)價(jià)基礎(chǔ)知識(shí)點(diǎn)歸納
- 牦牛飼養(yǎng)的生物安全管理體系
- 哲學(xué)研究之我見
- 大學(xué)人生軌跡
- 音樂的力量與影響
- 多元融合盤活農(nóng)村閑置資源的背景意義及必要性
- 部門砥礪前行
- 推動(dòng)教育創(chuàng)新之路
- 跨文化溝通的本質(zhì)-PPT課件
- 合肥市建設(shè)工程消防設(shè)計(jì)審查、消防驗(yàn)收、備案與抽查文書樣式
- 《電氣工程基礎(chǔ)》熊信銀-張步涵-華中科技大學(xué)習(xí)題答案全解
- 財(cái)政一體化業(yè)務(wù)系統(tǒng)
- 北美連續(xù)油管技術(shù)的新進(jìn)展及發(fā)展趨勢(shì)李宗田
- 行政單位會(huì)計(jì)實(shí)習(xí)報(bào)告(共36頁)
- 110千伏變電站工程檢測(cè)試驗(yàn)項(xiàng)目計(jì)劃
- 《鐵路貨物運(yùn)價(jià)規(guī)則》
- YD_T 3956-2021 電信網(wǎng)和互聯(lián)網(wǎng)數(shù)據(jù)安全評(píng)估規(guī)范_(高清版)
- (完整版)數(shù)學(xué)常用英文詞匯
- 小學(xué)三年級(jí)下冊(cè)音樂《春天舉行音樂會(huì)》人音版(簡(jiǎn)譜2014秋)(18張)(1)ppt課件
評(píng)論
0/150
提交評(píng)論