




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章基于S3C2410的系統硬件設計第五章基于3C2410的系統硬件設計1第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.1
S3C2410簡介S3C2410是Samsung公司推出的16/32位RISC處理器,主要面向手持設備以及高性價比、低功耗的應用。CPU內核采用的是ARM公司設計的16/32位ARM920T
RISC處理器。S3C2410A提供一組完整的系統外圍設備:√2個USB主設備接口,1個USB從設備接口;√4通道PWM定時器和1通道內部定時器;√看門狗定時器;√117位通用I/O口和24通道外部中斷源;√電源控制模式包括:正常、慢速、空閑和掉電四種模式;√8通道10位ADC和觸摸屏接口;√具有日歷功能的RTC;√使用PLL的片上時鐘發生器。√1.8V/2.0V內核供電,3.3V存儲器供電,3.3V外部I/O供電;√具有16KB的ICache和16KB的DCache以及
MMU;√外部存儲器控制器;√LCD控制器提供1通道LCD專用DMA;√4通道DMA并有外部請求引腳;√3通道UART和2通道SPI;√1通道多主機IIC總線和1通道IIS總線控制器;√SD主接口版本1.0和MMC卡協議2.11兼容版;1第5章基于S3C2410的系統硬件設計S3C2410結構框圖1第5章基于S3C2410的系統硬件設計5.1.1
S3C2410A的特點√體系結構√系統管理器√NAND
Flash啟動裝載器√Cache存儲器√時鐘和電源管理√中斷控制器√具有脈沖帶寬調制(PWM)的定時器√RTC(實時時鐘)√通用I/O口√UART√DMA控制器√A/D轉換和觸摸屏接口√LCD控制器STN
LCD顯示特性√TFT彩色顯示特性√看門狗定時器√IIC總線接口√IIS總線接口√USB主設備√USB從設備√SD主機接口√SPI接口√工作電壓√封裝1第5章基于S3C2410的系統硬件設計5.1.2存儲器控制器S3C2410A的存儲器控制器提供訪問外部存儲器所需要的存儲器控制信號。·支持小/大端(通過軟件選擇)·地址空間:每bank有128M字節(總共有8個banks,共1G字節)·除bank0(只能是16/32位寬)之外,其他bank都具有可編程的訪問大小(可以是8/16/32位寬)·總共有8個存儲器banks(bank0~bank7)·其中6個banks用于ROM,SRAM等·剩下2個banks用于ROM,SRAM,SDRAM等·7個固定的存儲器bank(bank0~bank6)起始地址·最后一個bank(bank7)的起始地址是可調整的·最后兩個bank(bank6~bank7)的大小是可編程的·所有存儲器bank的訪問周期都是可編程的·總線訪問周期可以通過插入外部等待來延長·支持SDRAM的自刷新和掉電模式特性1第5章基于S3C2410的系統硬件設計存儲器映射1第5章基于S3C2410的系統硬件設計5.1.3
NAND
Flash控制器特性·NAND
Flash模式:支持讀/擦除/編程NAND
Flash存儲器。·自動啟動模式:復位后,啟動代碼被傳送到Steppingston中。傳送完畢后,啟動代碼在Steppingstone中執行。·具備硬件ECC(校驗碼,Error
Correction
Code)生成模(硬件生成校驗碼,通過軟件校驗)。·NAND
Flash啟動以后,4KB的內部SRAM緩沖器Steppingstone可以作為其他用途使用。·NAND
Flash控制器不能通過DMA訪問,可以使用LDM/STM指令來代替DMA操作。1第5章基于S3C2410的系統硬件設計·
NAND
Flash控制器的結構框圖1第5章基于S3C2410的系統硬件設計·
NAND
Flash的工作方式1第5章基于S3C2410的系統硬件設計·
NAND
Flash存儲器的時序1第5章基于S3C2410的系統硬件設計5.1.4
時鐘和電源管理1時鐘和電源管理模塊包括三部分:·時鐘控制:CPU所需的FCLK時鐘信號、AHB總線外圍設備所需的HCLK時鐘信號,以及APB總線外圍設備所需的PCLK時鐘信號。·USB控制·電源控制√正常模式√慢速模式√空閑模式√掉電模式第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.2.1
S3C2410A的I/O口工作原理1GPIO(General
Purpose
I/O,通用輸入/輸出接
口)也稱為并行I/O(parallel
I/O),是最基本的
I/O形式,由一組輸入引腳、輸出引腳或輸入/輸出引腳組成,CPU對它們能夠進行存取操作。有些
GPIO引腳能夠通過軟件編程改變輸入/輸出方向。一個雙向GPIO端口(D0)的簡化功能邏輯圖如圖
5.2.1所示,圖中PORT為數據寄存器和DDR(Data
Direction
Register)為數據方向寄存器。第5章基于S3C2410的系統硬件設計圖5.2.1
雙向GPIO功能邏輯圖5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計DDR設置端口的方向。如果DDR的輸出為1,則GPIO端口為輸出形式;如果DDR的輸出為零,則GPIO端口為輸入形式。寫入WR—DDR信號能夠改變DDR的輸出狀態。DDR在微控制器地址空間中是一個映射單元。這種情況下,如果需要改變DDR,則需要將恰當的值置于數據總線的第0位(即D0),同時激活WR—DDR信號。讀DDR,就能得到DDR的狀態,同時激活RD—DDR信號。如果設置PORT引腳端為輸出,則PORT寄存器控制著該引腳端狀態。如果將PORT引腳端設置為輸入,則此輸入引腳端的狀態由引腳端上的邏輯電路層來實現對它的控制。對PORT寄存器的寫操作,需要激活WR—PORT信號。PORT寄存器也映射到微控制器的地址空間。需指出,即使當端口設置為輸入時,如果對PORT寄存器進行寫操作,并不會對該引腳產生影響。但從PORT寄存器的讀出,不管端口是什么方向,總會影響該引腳端的狀態5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計S3C2410A共有117個多功能復用輸入/輸出端口(I/O口),分為端口A~端口H共8組。為了滿足不同系統設計的需要,每個I/O口可以很容易地通過軟件對進行配置。每個引腳的功能必須在啟動主程序之前進行定義。如果一個引腳沒有使用復用功能,那么它可以配置為I/O口。注意:端口A除了作為功能口外,只能夠作為輸出口使用。5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計在S3C2410A中,大多數的引腳端都是復用的,所以對于每一個引腳端都需要定義其功能。為了使用I/O口,首先需要定義引腳的功能。每個引腳端的功能通過端口控制寄存器(PnCON)來定義(配置)。與配置I/O口相關的寄存器包括:端口控制寄存器(GPACON~GPHCON)、端口數據寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、雜項控制寄存器以及外部中斷控制寄存器(EXTINTN)等。S3C2410A的I/O口配置情況請參考表5.2.1~5.2.7所列。端口A(GPA)是1個23位輸出口;端口B(GPB)和端口H(GPH)是2個11位I/O口;端口C(GPC)、端口D(
GPD)、端口E(GPE)和端口G(GPG)是4個16位I/O口;端口F(GPF)是1個8位I/O口。5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計表5.2.1
S3C2410A的端口A
I/O口配置情況5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計5.2.1
S3C2410A的I/O口工作原理1表5.2.2
S3C2410A的端口B
I/O口配置情況第5章基于S3C2410的系統硬件設計5.2.1
S3C2410A的I/O口工作原理1表5.2.3
S3C2410A的端口C
I/O口配置情況的系統硬件設計理15.2.1第5章基于S3C2410S3C2410A的I/O口工作原表5.2.4
S3C2410A的端口D
I/O口配置情況的系統硬件設計理1第5章基于S3C24105.2.1S3C2410A的I/O口工作原表5.2.5
S3C2410A的端口E、F
I/O口配置情況第5章基于S3C2410的系統硬件設計5.2.1
S3C2410A的I/O口工作原理1表5.2.5
S3C2410A的端口E、F
I/O口配置情況(續)第5章基于S3C2410的系統硬件設計5.2.1
S3C2410A的I/O口工作原理1表5.2.6
S3C2410A的端口G
I/O口配置情況的系統硬件設計理15.2.1S3C2410A的I/O第5章基于S3C2410口工作原表5.2.6
S3C2410A的端口G
I/O口配置情況(續)第5章基于S3C2410的系統硬件設計5.2.1
S3C2410A的I/O口工作原理1表5.2.7
S3C2410A的端口H
I/O口配置情況第5章基于S3C2410的系統硬件設計在S3C2410A中,大多數的引腳端都是復用的,所以對于每一個引腳端都需要定義其功能。為了使用I/O口,首先需要定義引腳的功能。每個引腳端的功能通過端口控制寄存器(PnCON)來定義(配置)。與配置I/O口相關的寄存器包括:端口控制寄存器(GPACON~GPHCON)、端口數據寄存器(GPADAT~GPHDAT)、端口上拉寄存器(GPBUP~GPHUP)、雜項控制寄存器以及外部中斷控制寄存器(EXTINTN)等。在掉電模式,如果GPF0~GPF7和GPG0~GPG7用作為喚醒信號,那么這些端口必須配置為中斷模式。5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計如果端口配置為輸出口,數據可以寫入到端口數據寄存器(PnDAT)的相應位中;如果將端口配置為輸入口,則可以從端口數據寄存器(PnDAT)的相應位中讀出數據。端口上拉寄存器用于控制每組端口的上拉電阻為使能/不使能。如果相應位設置為0,則表示該引腳的上拉電阻使能;為1,則表示該引腳的上拉電阻不使能。如果使能了端口上拉寄存器,則不論引腳配置為哪種功能(輸入、輸出、DATAn、EINTn等),上拉電阻都會起作用。5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計雜項控制寄存器用于控制數據端口的上拉電阻、高阻狀態、USB
Pad和CLKOUT的選擇。24個外部中斷通過不同的信號方式被請求。EXTINTn寄存器用于配置這些信號對于外部中斷請求采用的是低電平觸發、高電平觸發、下降沿觸發、上升沿觸發還是雙邊沿觸發。有8個外部中斷有數字濾波器。僅16
EINT引腳端(EINT[15:0])用來作為喚醒源。所有GPIO寄存器的值在掉電模式下都會被保存。外部中斷屏蔽寄存器EINTMASK不能阻止從掉電模式喚醒,但是如果EINTMASK正在屏蔽的是EINT[15:4]中的某位,則可以實現喚醒,不過寄存器SRCPND的位EINT4和EINT8
23在剛剛喚醒后不能設置為1。相關寄存器的設置分別描述如下:5.2.1
S3C2410A的I/O口工作原理15.2.1
S3C2410第5章基于S3CA的I/O口工作2410的系統硬件原理端口A控制寄存器1設計第5章基于S3C2410的系統硬件設計端口B控制寄存器5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計端口C控制寄存器5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計端口D控制寄存器5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計端口E控制寄存器5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計端口F控制寄存器5.2.1
S3C2410A的I/O口工作原理1設計1第5章基于S3C2410的系統硬件5.2.1
S3C2410端口GA的I/O口工作控制寄存器原理第5章基于S3C2410的系統硬件設計端口H控制寄存器5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計雜項控制寄存器DCLK控制寄存器15.2.1
S3C2410A的I/O口工作原理第5章基于S3C2410的系統硬件設計外部中斷控制寄存器5.2.1
S3C2410A的I/O口工作原理1設計15.2.1S3C2外部中410A斷控制第5章基于S3C2的I/O口工作寄存器(續)410的系統硬件原理設計1第5章基于S3C2410的系統硬件5.2.1S3C24外部中10A斷濾的I/O口工作波寄存器原理計15.2.1
S3C2410第5章基于S3C2410的A的I/O口工作原系統硬件設理外部中斷屏蔽寄存器5.2.1
S3C2410第5章基于S3C2410A的I/O口工作的系統硬件設原理外部中斷掛起寄存器1計第5章基于S3C2410的系統硬件設計通用狀態寄存器5.2.1
S3C2410A的I/O口工作原理1第5章基于S3C2410的系統硬件設計5.2.2
I/O口編程實例舉例:通過對G口的操作控制CPU板左下角的LED1和LED2實現輪流閃爍。void
Main(void){int
flag,
i;Target_Init();
//進行硬件初始化操作,包括對I/O口的初始化操作for(;;){if(flag==0){for(i=0;i<1000000;i++);//延時rGPGCON=rGPGCON
&
0xfff0ffff
|
0x00050000;//配置第8、第9位為輸出引腳
rGPGDAT=rGPGDAT
&
0xeff
|
0x200;//第8位輸出為低電平//第9位輸出高電平for(i=0;i<10000000;i++);//延時
flag=1;}else
{for(i=0;i<1000000;i++);//延時rGPGCON=rGPGCON
&
0xfff0ffff
|
0x00050000;//配置第8、第9位為輸出引腳
rGPGDAT=rGPGDAT
&
0xdff
|
0x100;//第8位輸出為高電平//第9位輸出低電平for(i=0;i<1000000;i++);//延時
flag=0;}}}1第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.3.1
ARM的中斷原理1ARM系統包括兩類中斷:一是IRQ中斷,一是FIQ中斷。處理中斷的步驟如下:·(1)保存現場。保存當前的PC值到R14,保存當前的程序運行狀態到SPSR。·(2)模式切換。根據發生的中斷類型,進入IRQ模式或FIQ模式。·(3)獲取中斷源。以異常向量表保存在低地址處為例,若是IRQ中斷,則PC指針跳到0x18處;若是FIQ中斷,則跳到0x1C處。IRQ或FIQ的異常向量地址處一般保存的是中斷服務子程序的地址,所以接下來PC指針跳入中斷服務子程序處理中斷。·(4)中斷處理。為各種中斷定義不同的優先級別,并為每一個中斷設置一個中斷標志位。當發生中斷時,通過判斷中斷優先級以及訪問中斷標志位的狀態來識別到底哪一個中斷發生了。進而調用相應的函數進行中斷處理。·(5)中斷返回,恢復現場。當完成中斷服務子程序后,將SPSR中保存的程序運行狀態恢復到CPSR中,R14中保存的被中斷程序的地址恢復到PC中,進而繼續執行被中斷的程序。第5章基于S3C2410的系統硬件設計5.3.2
S3C2410A的中斷控制器中斷控制器使用的寄存器1第5章基于S3C2410的系統硬件設計·
優先級生成模塊1第5章基于S3C2410的系統硬件設計5.3.3中斷編程實例舉例:通過定時器1中斷控制CPU板左下角的LED1和LED2實現輪流閃爍。11.對定時器1初始化,并設定定時器的中斷時間為1秒。
void
Timer1_init(void){rGPGCON=rGPGCON
&
0xfff0ffff
|
0x00050000;//配置GPG口為輸出rGPGDAT
=
rGPGDAT
|0x300;rTCFG0rTCFG1=
255;=
0
<<
4;//在pclk=50MHZ下,1秒鐘的記數值rTCNTB1=50000000/4/256=48828;rTCNTB1=48828;rTCMPB1
=
0x00;rTCONrTCON=(1<<11)|(1<<9)|(0<<8);//禁用定時器1,手動加=(1<<11)|(0<<9)|(1<<8);//啟動定時器1,自動裝}第5章基于S3C2410的系統硬件設計舉例:通過定時器1中斷控制CPU板左下角的LED1和LED2實現輪流閃爍。1為了使CPU響應中斷,在中斷服務子程序執行之前,必須打開ARM920T的CPSR中的I位,以及相應的中斷屏蔽寄存器中的位。void
Timer1INT_Init(void){//定時器接口使能if((rINTPND
&
BIT_TIMER1)){rSRCPND
|=
BIT_TIMER1;}//寫入定時器1中斷服務子程序的入口地址pISR_TIMER1
=
(int)Timer1_ISR;rINTMSK
&=
~(BIT_TIMER1);
//開中斷;}等待定時器中斷,通過一個死循環如“while(1);”實現等待過程。第5章基于S3C2410的系統硬件設計舉例:通過定時器1中斷控制CPU板左下角的LED1和LED2實現輪流閃爍。14.根據設置的定時時間,將產生定時器中斷。定時器中斷發生后,首先進行現場保護,接下來轉入中斷的入口代碼處執行,該部分代碼通常使用匯編語言書寫。在執行中斷服務程序之前,首先要確保HandleIRQ地址處保存中斷分發程序
IsrIRQ的入口地址。ldrldrstrr0,=HandleIRQr1,=IsrIRQr1,[r0]接下來將執行IsrIRQ中斷分發程序,具體代碼如下:IsrIRQ;為保存PC預留堆棧空間;加載INTOFFSET寄存器值到r9;加載中斷向量表的基地址到r8;獲得中斷向量sub
sp,sp,#4stmfd
sp!,{r8-r9}ldr
r9,=INTOFFSETldr
r9,[r9]ldr
r8,=HandleEINT0add
r8,r8,r9,lsl
#2ldrstrldmfdr8,[r8]r8,[sp,#8]sp!,{r8-r9,pc};加載中斷服務程序的入口地址到r8;保存sp,將其作為新的pc值;跳轉到中斷服務子程序執行第5章基于S3C2410的系統硬件設計舉例:通過定時器1中斷控制CPU板左下角的LED1和LED2實現輪流閃爍。1執行中斷服務子程序,該子程序實現將LED1和LED2燈熄滅或點亮,從現象中看到LED1和LED2燈閃爍一次,則說明定時器發生了一次中斷。int
flag;void
irq Timer1
ISR(
void
){if
(flag
==
0)
{rGPGDAT
=
rGPGDAT
&
0xeff
|
0x200;flag
=
1;}else{rGPGDAT
=
rGPGDAT
&
0xdff
|
0x100;flag
=
0;}rSRCPND
|=
BIT_TIMER1;rINTPND
|=
BIT_TIMER1;}從中斷返回,恢復現場,跳轉到被中斷的主程序繼續執行,等待下一次中斷的到來。第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.4.1
DMA工作原理1所謂DMA方式,即直接存儲器存取(Direct
Memory
Acess),是指存儲器與外設在DMA控制器的控制下,直接傳送數據而不通過CPU,傳輸速率主要取決于存儲器存取速度。采用DMA方式進行數據傳輸的具體過程如下:外設向DMA控制器發出DMA請求;DMA控制器向CPU發出總線請求信號;CPU執行完現行的總線周期后,向DMA控制器發出響應請求的回答信號;CPU將控制總線、地址總線及數據總線讓出,由DMA控制器進行控制;DMA控制器向外部設備發出DMA請求回答信號;進行DMA傳送;數據傳送完畢,DMA控制器通過中斷請求線發出中斷信號。CPU在接收到中斷信號后,轉入中斷處理程序進行后續處理。中斷處理結束后,CPU返回到被中斷的程序繼續執行。CPU重新獲得總線控制權。第5章基于S3C2410的系統硬件設計5.4.2
S3C2410A的DMA控制器1S3C2410A支持位于系統總線和外圍總線之間的具有4個通道的DMA控制器。以3種狀態的FSM來描述DMA的操作過程如下:·狀態1:作為初始狀態,DMA等待一個DMA請求。如果出現DMA請求,進入狀態2。在這種狀態下,DMA
ACK和INT
REQ為0。·狀態2:在這種狀態下,DMA
ACK變為1,并且從DCON[19:0]寄存器向計數器(CURR_TC)加載計數值。注意此時DMA
ACK一直是1直到以后被清零。·狀態3:在這種狀態下,子FSM處理DMA的原子操作被初始化。子FSM從源地址讀取數據,并將其寫入目標地址。這一操作被重復執行,直到在整體服
務模式下計數器(CURR_TC)變為0;這一操作在單個服務模式下則只執行
一次。當子FSM每完成一次原子操作,主FSM將CURR_TC進行一次向下計數。另外,當CURR_TC變為0時,主FSM將INT
REQ信號置1,并將DCON寄存器的中斷設置位[29]置1。除此以外,如果發生以下情況,則對DMA
ACK清零:√在整體服務模式下CURR_TC變為0;√在單個復位模式下完成原子操作。第5章基于S3C2410的系統硬件設計要進行DMA操作,首先要對S3C2410A的相關寄存器進行正確配置。每個DMA通道有9個控制寄存器,因此對于4通道的DMA控制器來說總共有36個寄存器。其中每個DMA通道的9個控制寄存器中有6個用于控制DMA傳輸,另外3個用于監控DMA控制器的狀態。·DMA初始源寄存器(DISRC)·DMA初始源控制寄存器(DISRCC)·DMA初始目標地址寄存器(DIDST)·DMA初始目標控制寄存器(DIDSTC)·DMA控制寄存器(DCON)·DMA狀態寄存器(DSTAT)·DMA當前源寄存器(DCSRC)·DMA當前目標寄存器(DCDST)·DMA屏蔽觸發寄存器(DMASKTRIG)·
DMA操作的相關寄存器1第5章基于S3C2410的系統硬件設計5.4.3
DMA編程實例舉例:使用DMA方式實現從存儲器到串口0進行數據發送。#define#define1SEND_DATASEND_ADDR(*(volatile
unsigned
char
*)
0x30200000)((volatile
unsigned
char
*)
0x30200000)//待發送數據的起始地址void
Main(void){volatile
unsigned
char*
p
=
SEND_ADDR;int
i;Target_Init();Delay(1000);SEND_DATA=0x41;//初始化要發送的數據
for(i=0;i<128;i++){*p++
=
0x41
+
i;}rUCON0=rUCON0
&
0xff3
|
0x8;//Uart設置成DMA形式
rDISRC0=(U32)(SEND_ADDR);//DMA0初始化rDISRCC0=(0<<1)|(0<<0);//源=AHB,傳送后地址增加rDIDST0=(U32)UTXH0;
//發送FIFO緩沖區地址
rDIDSTC0=(1<<1)|(1<<0);//目標=APB,地址固定//設置DMA0控制寄存器:握手模式,與APB同步,使能中斷,單位傳輸,單個模式,目標=UART0,//硬件請求模式,不自動加載,半字,計數器初值=50rDCON0=(0<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(1<<24)|(1<<23)|(1<<22)|(0<<20)|(50);rDMASKTRIG0=(1<<1);
//打開DMA通道0while(1);}第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.5.1
UART的工作原理UART(Universal
AsynchronousReceiverandTransmitter,通用異步收發器)是廣泛使用的串行數據傳輸方式。RS232C是通用的串行數據傳輸接口標準,其DB9引腳定義如下:1第5章基于S3C2410的系統硬件設計·
RS-232C接口的基本連接方式簡單連接完全連接1第5章基于S3C2410的系統硬件設計·
UART的功能和組成UART的主要功能是將數據以字符為單位,按照先低位后高位的順序進行逐位傳輸。根據發送方和接收方是否使用同一個時鐘,通訊方式分成同步和異步兩種。UART主要由數據線接口、控制邏輯、配置寄存器、波特率發生器、發送部分和接收部分組成。UART以字符為單位進行數據傳輸,每個字符的傳輸格式如下:1第5章基于S3C2410的系統硬件設計5.5.2
S3C2410A的UARTS3C2410A的UART提供3個獨立的異步串行I/O口(SIO),它們都可以運行于中斷模式或DMA模式。S3C2410A的每個UART由波特率發生器、發送器、接收器以及
控制單元組成。1第5章基于S3C2410的系統硬件設計·
與UART相關的操作1·1.數據發送·2.數據接收·3.自動流控制(Auto
Flow
Control,AFC)·4.RS-232接口·5.中斷/DMA請求發生·6.波特率發生波特率時鐘通過把源時鐘除以16再除以一個16位的因子到,該16位的因子可以在UART波特率因子寄存器(UBRDIVn)中指定。UBRDIVn=(int)(PCLK/(bps×16))-1UBRDIVn=(int)(UEXTCLK/(bps×16))-1·7.回送模式·8.紅外模式第5章基于S3C2410的系統硬件設計·
與UART相關的寄存器1·UART行控制寄存器(ULCONn)·UART控制寄存器(UCONn)·UART
FIFO控制寄存器(UFCONn)·UART
Modem控制寄存器(UMCONn)·UART
TX/RX狀態寄存器(UTRSTATn)·UART錯誤狀態寄存器(UERSTATn)·UART
FIFO狀態寄存器(UFSTATn)·UART
MODEM狀態寄存器(UMSTATn)·UART發送緩沖寄存器(UTXHn)·UART接收緩沖寄存器(URXHn)·UART波特率因子寄存器(UBRDIVn)第5章基于S3C2410的系統硬件設計5.5.3
UART編程實例舉例:從UART0接收數據,然后分別從UART0和UART1發送出去。1.定義與UART相關的寄存器。#definerULCON0(*(volatileunsigned*)0x50000000)//UART0行控制寄存器#definerUCON0(*(volatileunsigned*)0x50000004)//UART0控制寄存器#definerUFCON0(*(volatileunsigned*)0x50000008)//UART0FIFO控制寄存器#definerUMCON0(*(volatileunsigned*)0x5000000c)//UART0Modem控制寄存器#definerUTRSTAT0(*(volatileunsigned*)0x50000010)//UART0Tx/Rx狀態寄存器#definerUERSTAT0(*(volatileunsigned*)0x50000014)//UART0Rx錯誤狀態寄存器#definerUFSTAT0(*(volatileunsigned*)0x50000018)//UART0FIFO狀態寄存器#definerUMSTAT0(*(volatileunsigned*)0x5000001c)//UART0Modem狀態寄存器#define…
…rUBRDIV0(*(volatileunsigned*)0x50000028)//UART0波特率因子寄存器1第5章基于S3C2410的系統硬件設計2.對串口進行初始化操作。參數pclk為時鐘源的時鐘頻率,
band為數據傳輸的波特率。舉例:從UART0接收數據,然后分別從UART0和UART1發送出去。void
Uart_Init(int
pclk,int
baud){int
i;if(pclk
==
0)pclk
=
PCLK;1//UART0
FIFO控制寄存器,FIFO禁止//UART1
FIFO控制寄存器,FIFO禁止//UART2
FIFO控制寄存器,FIFO禁止//UART0
MODEM控制寄存器,AFC禁止//UART1
MODEM控制寄存器,AFC禁止rUFCON0
=
0x0;rUFCON1
=
0x0;rUFCON2
=
0x0;rUMCON0
=
0x0;rUMCON1
=
0x0;//UART0rULCON0
=
0x3;rUCON0
=
0x245;//行控制寄存器:正常模式,無奇偶校驗,1位停止位,8位數據位。//控制寄存器rUBRDIV0=((int)(pclk/16./baud+0.5)-1);
//波特率因子寄存器…
…}第5章基于S3C2410的系統硬件設計舉例:從UART0接收數據,然后分別從UART0和UART1發送出去。3.使用串口發送數據。其中whichUart為全局變量,指示當前選擇的UART通道,使用串口發送一個字節的代碼如下:void
Uart_SendByte(int
data){if(whichUart==0){if(data=="\n"){while(!(rUTRSTAT0
&
0x2));1//延時,因為超級終端速度較慢Delay(10);WrUTXH0("\r");//等待直到發送狀態就緒}while(!(rUTRSTAT0
&
0x2));Delay(10);WrUTXH0(data);}else
if(whichUart==1){
…
…
}else
if(whichUart==2){
…
…
}}第5章基于S3C2410的系統硬件設計舉例:從UART0接收數據,然后分別從UART0和UART1發送出去。4.使用串口接收數據。如果沒有接收到字符則返回0。//UART0接收到數據1char
Uart_GetKey(void){if(whichUart==0){if(rUTRSTAT0
&
0x1)return
RdURXH0();elsereturn
0;}else
if(whichUart==1){
…
…
}else
if(whichUart==2){
…
…
}else
return
0;}第5章基于S3C2410的系統硬件設計舉例:從UART0接收數據,然后分別從UART0和UART1發送出去。5.書寫主函數。實現的功能為從UART0接收字符,然后將接收到的字符再分別從UART0和UART1發送出去,其中Uart_Select(n)用于選擇使用的傳輸通道為UARTn。void
Main(void){char
data;Target_Init();while(1){1//接收字符data
=
Uart_GetKey();if
(data
!=
0x0){Uart_Select(0);//從UART0發送出去Uart_Printf("key=%c\n",data);Uart_Select(1);
//從UART1發送出去
Uart_Printf("key=%c\n",data);Uart_Select(0);}}}第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.6.1
A/D接口原理1A/D轉換器是模擬信號和CPU之間聯系的接口,它將連續變化的模擬信號轉換為數字信號,以供計算機和數字系統進行分析、處理、存儲、控制和顯示。按照轉換速度、精度、功能以及接口等因素,常用的A/D轉換器有以下兩種:·雙積分型的A/D轉換器·逐次逼近型的A/D轉換器第5章基于S3C2410的系統硬件設計5.6.2
S3C2410A的A/D轉換器1S3C2410A的A/D轉換器包含一個8通道的模擬輸入轉換器,可以將模擬輸入信號轉換成10位數字編碼。在AD轉換時鐘為2.5MHz時,其最大轉換率為500KSPS,輸入電壓范圍是0~3.3V。與A/D轉換相關的寄存器:·ADC控制寄存器(ADCCON)·ADC觸摸屏控制寄存器(ADCTSC)·ADC啟動延時寄存器(ADCDLY)·ADC轉換數據寄存器(ADCDATn)第5章基于S3C2410的系統硬件設計5.6.3
A/D接口編程實例舉例:從A/D轉換器的通道0獲取模擬數據,并將轉換后的數字量以波形的形式在LCD上顯示。1.定義與A/D轉換相關的寄存器。#define
rADCCON#define
rADCTSC#define
rADCDLY(*(volatile
unsigned
*)0x58000000)//ADC控制寄存器
(*(volatile
unsigned
*)0x58000004)//ADC觸摸屏控制寄存器
(*(volatile
unsigned
*)0x58000008)//ADC啟動或間隔延時寄存器#define
rADCDAT0#define
rADCDAT1(*(volatile
unsigned
*)0x5800000c)//ADC轉換數據寄存器0(*(volatile
unsigned
*)0x58000010)//ADC轉換數據寄存器12.對A/D轉換器進行初始化。這里的參數ch表示選擇的通道號。void
AD_Init(unsigned
char
ch){1=
100;=
0;//ADC啟動或間隔延時//選擇ADC模式rADCDLYrADCTSCrADCCON=
(1<<14)|(49<<6)|(ch<<3)|(0<<2)|(0<<1)|(0);//設置ADC控制寄存器}第5章基于S3C2410的系統硬件設計舉例:從A/D轉換器的通道0獲取模擬數據,并將轉換后的數字量以波形的形式在LCD上顯示。3.獲取A/D的轉換值。參數ch為選用的通道號。int
Get_AD(unsigned
char
ch){int
i;int
val=0;1if(ch>7)
return
0;for(i=0;i<16;i++){rADCCON
|=
0x1;//通道不能大于7//為轉換準確,轉換16次//啟動A/D轉換rADCCON
=
rADCCON
&
0xffc7
|
(ch<<3);//避免第一個標志出錯//避免第二個標志出錯while
(rADCCON
&
0x1);while
(!(rADCCON
&
0x8000));val
+=
(rADCDAT0
&
0x03ff);Delay(10);}return(val>>4);
//為轉換準確,除以16取均值}4.書寫主函數。實現將轉換后的數據在LCD上以波形的方式顯示。第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.7.1鍵盤和LED的接口原理HA7279A是一片具有串行接口并可同時驅動8位共陰式數碼管或64只獨立LED的智能顯示驅動芯片。該芯片同時可連接多達64鍵的鍵盤矩陣,一片即可完成LED顯示及鍵盤接口的全部功能。·HA7279A一共有28個引腳:·RESET:復位端。通常,該端接+5V電源;·DIG0~DIG7:8個LED管的位驅動輸出端;·SA~SG:LED數碼管的A段~G段的輸出端;·DP:小數點的驅動輸出端;·RC:外接振蕩元件連接端。·HD7279A與微處理器僅需4條接口線:√CS:片選信號(低電平有效);√DATA:串行數據端。√CLK:數據串行傳送的同步時鐘輸入端,時鐘的上升沿表示數據有效。√KEY:按鍵信號輸出端。該端在無鍵按下時為高電平;而在有鍵按下時變為低電平,并一直保持到按鍵釋放為止。1第5章基于S3C2410的系統硬件設計·
HD7279A與S3C2410A的連接原理圖1第5章基于S3C2410的系統硬件設計5.7.2鍵盤和LED控制的編程實例舉例:通過按鍵來控制LED的顯示。1.鍵盤中斷的初始化void
KeyINT_Init(void){rGPFCON=(rGPFCON&0xF3FF)|(2<<10);rGPECON=(rGPECON&0xF3FFFFFF)|(0x01<<26);//設置GPE13為輸出位,模擬時鐘輸出rEXTINT0
&=0xff8fffff;//外部中斷5低電平有效if(rEINTPEND
&
0x20)
//清除外部中斷5的中斷掛起位
rEINTPEND
|=0x20;if
((rINTPND
&
BIT_EINT4_7)){rSRCPND
|=
BIT_EINT4_7;rINTPND
|=
BIT_EINT4_7;}1rINTMSK
&=
~(BIT_EINT4_7);//使用外部中斷4~7//外部中斷5使能rEINTMASK
&=
0xffffdf;pISR_EINT4_7
=
(int)Key_ISR;}第5章基于S3C2410的系統硬件設計舉例:通過按鍵來控制LED的顯示。2.書寫中斷服務子程序void
irq
Key
ISR(
void
){int
j;rINTMSK |=BIT_ALLMSK;
//關中斷if
(rEINTPEND
&
0x20){key_number
=
read7279(cmd_read);//讀鍵盤指令程序rINTMSK
&=
~(BIT_EINT4_7);switch(key_number){1case0x04
:key_number=0x08;break;case0x05
:key_number=0x09;break;case0x06
:key_number=0x0A;break;case0x07
:key_number=0x0B;break;case0x08
:key_number=0x04;break;case0x09
:key_number=0x05;break;case0x0A
:key_number=0x06;break;case0x0b
:key_number=0x07;break;default:
break;}Uart_Printf("key
is
%x
\n",
key_number);}rEINTPEND
|=
0x20;rSRCPND
|=
BIT_EINT4_7;rINTPND
|=
BIT_EINT4_7;}第5章基于S3C2410的系統硬件設計舉例:通過按鍵來控制LED的顯示。3.主程序的主要功能是根據按鍵鍵值,向
HD7279A發送不同的處理命令,程序結構如下。void
Main(){char
p;Target_Init();//目標初始化
while(1){switch(key_number){1case
0:send_byte(cmd_test);//測試鍵
break;//右移8位case
1:
for(p=0;p<8;p++){send_byte(0xA0);send_byte(0xC8+7);send_byte(p);long_delay();Delay(7000);}
break;//case
2到case14case
15://最右兩個數碼管上顯示15write7279(decode1+5,key_number/16*8);write7279(decode1+4,key_number
&0x0f);break;default:
break;}key_number
=
0xff;Delay(50);}}第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.8.1
LCD顯示原理1所謂LCD,是Liquid
Crystal
Display的縮寫,即液晶顯示器。LCD液晶顯示器主要有兩類:STN(Super
Twisted
Nematic,超扭曲向列型)和TFT(Thin
Film
Transistor,薄膜晶體管型)。對于S3C2410A的LCD控制器,同時支持STN和TFT顯示器。STN與TFT的主要區別在于:·從工作原理上看,STN主要是增大液晶分子的扭曲角,而TFT為每個像素點設置一個開關電路,做到完全單獨的控制每個像素點;·從品質上看,STN的亮度較暗,畫面的質量較差,顏色不夠豐富,播放動畫時有拖尾現象,耗電量小,價格便宜;而TFT亮度高,畫面質量高,顏色豐富,播放動畫時清晰,耗電量大,價格高。常用的LCD顯示模塊有兩種:一是帶有驅動電路的LCD顯示模塊,一是不帶驅動電路的LCD顯示屏。大部分ARM處理器中都集成了LCD控制器,所以對于采用ARM處理器的系統,一般使用不帶驅動電路的LCD顯示屏。第5章基于S3C2410的系統硬件設計5.8.2
S3C2410A的LCD控制器S3C2410A中的LCD控制器可支持STN和TFT兩種液晶顯示屏。LCD控制器支持單色、4級、16級灰度LCD顯示,以及8位彩色、12位彩色LCD顯示。LCD控制器由REGBANK、LCDCDMA、VIDPRCS、TIMEGEN和LPC3600組成。1第5章基于S3C2410的系統硬件設計·
8位彩色LCD顯示原理1第5章基于S3C2410的系統硬件設計·
與LCD相關的寄存器1·LCD控制寄存器1(LCDCON1)·LCD控制寄存器2(LCDCON2)·LCD控制寄存器3(LCDCON3)·LCD控制寄存器4(LCDCON4)·LCD控制寄存器5(LCDCON5)·幀緩沖起始地址寄存器1(LCDSADDR1)·幀緩沖起始地址寄存器2(LCDSADDR2)·幀緩沖起始地址寄存器3(LCDSADDR3)·RGB查找表寄存器(REDLUT、GREENLUT、BLUELUT
)·抖動模式寄存器(DITHMODE)第5章基于S3C2410的系統硬件設計5.8.3
LCD顯示的編程實例舉例:在LCD上填充一個藍色的矩形,并畫一個紅色的圓。1.定義與LCD相關的寄存器#defineM5D(n)((n)
&
0x1fffff)#defineMVAL(13)#defineMVAL_USED(0)#defineMODE_CSTN_8BIT(0x2001)#defineLCD_XSIZE_CSTN(320)#defineLCD_YSIZE_CSTN(240)#defineSCR_XSIZE_CSTN(LCD_XSIZE_CSTN*2)
//虛擬屏幕大小#defineSCR_YSIZE_CSTN(LCD_YSIZE_CSTN*2)#defineHOZVAL_CSTN(LCD_XSIZE_CSTN*3/8-1)
//有效的VD數據行號是8#defineLINEVAL_CSTN(LCD_YSIZE_CSTN-1)#defineWLH_CSTN(0)#defineWDLY_CSTN(0)#defineLINEBLANK_CSTN(16
&0xff)#defineCLKVAL_CSTN(6)1//130hz
@50Mhz,WLH=16hclk,WDLY=16hclk,LINEBLANK=16*8hclk,VD=8#define
LCDFRAMEBUFFER
0x33800000
//幀緩沖區起始地址第5章基于S3C2410的系統硬件設計舉例:在LCD上填充一個藍色的矩形,并畫一個紅色的圓。2.初始化LCD,即對相關寄存器進行賦初值。其中參數type用于傳遞顯示器的類型,如STN8位彩色、STN12位彩色等。void1LCD_Init(int
type){rIISPSR=(2<<5)|(2<<0);
//IIS_LRCK=44.1Khz
@384fs,PCLK=50Mhz.rGPHCON
=
rGPHCON
&
~(0xf<<18)|(0x5<<18);switch(type){case
MODE_CSTN_8BIT:
//STN8位彩色模式frameBuffer8Bit=(U32
(*)[SCR_XSIZE_CSTN
/
4])LCDFRAMEBUFFER;rLCDCON1=(CLKVAL_CSTN<<8)|(MVAL_USED<<7)|(2<<5)|(3<<1)|0;//8-bit單掃描,8bpp
CSTN,ENVID=關閉rLCDCON2=(0<<24)|(LINEVAL_CSTN<<14)|(0<<6)|0;rLCDCON3=(WDLY_CSTN<<19)|(HOZVAL_CSTN<<8)|(LINEBLANK_CSTN<<0);rLCDCON4=(MVAL<<8)|(WLH_CSTN<<0);rLCDCON5=
0;rLCDSADDR1=(((U32)frameBuffer8Bit>>22)<<21)|M5D((U32)frameBuffer8Bit>>1);rLCDSADDR2=M5D(((U32)frameBuffer8Bit+((SCR_XSIZE_CSTN)*LCD_YSIZE_CSTN))>>1)rLCDSADDR3=(((SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)/2)<<11)|(LCD_XSIZE_CSTN
/
2);rDITHMODE=0;rREDLUT
=0xfdb96420;rGREENLUT=0xfdb96420;rBLUELUT
=0xfb40;break;default:
break;}}第5章基于S3C2410的系統硬件設計舉例:在LCD上填充一個藍色的矩形,并畫一個紅色的圓。書寫常用的繪圖函數。函數_PutCstn8Bit()實現了在LCD的(x,y)處打點的功能。void
_PutCstn8Bit(U32
x,U32
y,U32
c){if(x<SCR_XSIZE_CSTN&&
y<SCR_YSIZE_CSTN)frameBuffer8Bit[(y)][(x)/4]=(
frameBuffer8Bit[(y)][x/4]&
~(0xff000000>>((x)%4)*8)
)
|
(
(c&0x000000ff)<<((4-1-((x)%4))*8));}書寫主函數,通過調用初始化函數及繪圖API函數,實現在LCD上填充一個藍色的矩形,并畫一個紅色的圓。void
Main(void){int
Count
=
3000;1Target_Init();GUI_Init();//硬件初始化//圖形用戶接口初始化,包括對LCD的初始化Set_Color(GUI_BLUE);Fill_Rect(0,0,319,239);Delay(Count);Set_Color(GUI_RED);Draw_Circle(100,100,50);
Delay(Count);while(1);}第5章基于S3C2410的系統硬件設計主要內容132S3C2410簡介I/O口中斷A/D接口DMAUART6789
觸摸屏10111LCDUSB設備的數據收發音頻錄放鍵盤和LED控制第5章基于S3C2410的系統硬件設計5.9.1觸摸屏工作原理根據采用的不同技術原理,觸摸屏可分為以下五類:矢量壓力傳感式、電阻式、電容式、紅外線式和表面聲波式。其中電阻式觸摸屏在嵌入式系統中用的較多,結構如下。1第5章基于S3C2410的系統硬件設計5.9.2
S3C2410A的觸摸屏接口S3C2410A支持觸摸屏接口,它由一個觸摸屏面板、四個外部晶體管、一個外部電壓源、信號AIN[7]和信號AIN[5]組成。1第5章基于S3C2410的系統硬件設計·
CPU與觸摸屏連接圖1第5章基于S3C2410的系統硬件設計5.9.3觸摸屏編程實例舉例:在觸摸屏上按下的位置畫一個點。1.對與觸摸屏相關的寄存器進行初始化void
Touch_Init(void){rADCDLY
=
(0x5000);
//
ADC啟動或間隔延時rADCTSC
=(0<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);//設置成為等待中斷模式:11011rADCCON=
(1<<14)|(49<<6)|(7<<3)|(0<<2)|(1<<1)|(0);//設置ADC控制寄存器}第5章基于S3C2410的系統硬件設計舉例:在觸摸屏上按下的位置畫一個點。2.對觸摸屏中斷進行初始化//清除中斷掛起位1void
TouchINT_Init(void){if
((rSRCPND
&
BIT_ADC))rSRCPND
|=
BIT_ADC;if
((rINTPND
&
BIT_ADC))rINTPND
|=
BIT_ADC;if
((rSUBSRCPND
&
BIT_SUB_TC))rSUBSRCPND
|=
BIT_SUB_TC;if
((rSUBSRCPND
&
BIT_SUB_ADC))rSUBSRCPND
|=
BIT_SUB_ADC;rINTMSK
&=~(BIT_ADC);
//相關中斷屏蔽位置0,使能中斷
rINTSUBMSK
&=~(BIT_SUB_TC);pISR_ADC=(unsigned)Touch_ISR;
//設置中斷向量}第5章基于S3C2410的系統硬件設計舉例:在觸摸屏上按下的位置畫一個點。3.書寫觸摸屏中斷服務程序,當有觸筆按下時,轉到中斷服務程序執行。void
irq
Touch
ISR(void){1//關閉子中斷(ADC和TC)int
AD_XY,yPhys,xPhys;//關中斷rINTMSK
|=
(BIT_ADC);rINTSUBMSK
|=
(BIT_SUB_ADC
|
BIT_SUB_TC);//獲取位置AD_XY
=
GetTouch_XY_AD();yPhys
=
(AD_XY)
&
0xffff;//得到阿A/D轉換后的X/Y值//獲取Y的AD值xPhys=(AD_XY>>16)&
0xffff;//獲取X的AD值TOUCH_X=AD2X(xPhys);TOUCH_Y
=
AD2Y(yPhys);Touch_Show(TOUCH_X,TOUCH_Y);//實現在觸摸點位置畫點//開中斷,清空掛起位
rSUBSRCPND
|=BIT_SUB_TC;ClearPending(BIT_ADC);rINTMSK
&=
~(BIT_ADC);rINTSUBMSK
&=
~(BIT_SUB_ADC);rINTSUBMSK
&=
~(BIT_SUB_TC);}第5章基于S3C2410的系統硬件設計舉例:在觸摸屏上按下的位置畫一個點。4.書寫主程序,首先對硬件及圖形用戶界面進行初始化,接下來通過一個while循環語句等待觸摸屏中斷的發生,一旦有觸摸屏中斷發生,則轉到觸摸屏中斷服務程序執行。void
Main(void){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數學成數(同步練習)六年級下冊含答案
- 徐州工程學院《工程制圖C》2023-2024學年第二學期期末試卷
- 邢臺醫學高等專科學校《中學語文經典散文解讀》2023-2024學年第二學期期末試卷
- 雙河市2025年三年級數學第二學期期末聯考試題含解析
- 江蘇理工學院《法醫學》2023-2024學年第一學期期末試卷
- 宿州航空職業學院《高等數學提高》2023-2024學年第二學期期末試卷
- 新疆職業大學《企業經營管理沙盤》2023-2024學年第二學期期末試卷
- 福州市八縣協作校2025屆高三第二次診斷考試物理試題含解析
- 牽引并發癥的預防和護理
- 360色彩基礎知識課件
- 國家開放大學《人文英語3》章節測試參考答案
- 高教類課件:微電影創作教程
- 北京大學數字圖像處理(岡薩雷斯)通用課件
- 2022年班主任育人故事一等獎兩篇范文
- 用字母表示數——說課稿
- 德龍自卸車合格證掃描件(原圖)
- 公文收發文登記表
- 熱固板施工方案
- 彎矩調幅計算例題(共4頁)
- 基礎工程柱下獨立基礎課程設計
- 加油機計量作弊新動向解析與查處技巧加油機反作弊資料(二)
評論
0/150
提交評論