介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

11
介介介介介介介介 Object Teaching of Interface Design 實實實 實實實實實實 實實實實 實實實

description

介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗. 授課教師:任才俊. 實驗目的. (a) 掌握 TMS320F2812 程式空間的分置。 (b) 掌握 TMS320F2812 資料空間的分置。 (c) 能夠熟練運用 TMS320F2812 資料空間的指令。. 實驗說明. 本實驗程式將對 0x003F9020H 開始的 8 個位址空間,填寫入 0xAAAA 的數值,然後讀出,並儲存到 0x003f9028H 開始的 8 個位址空間。. 實驗步驟 (1). - PowerPoint PPT Presentation

Transcript of 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

Page 1: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

介面設計專題實務 Object Teaching of Interface Design

實驗二 資料儲存實驗

授課教師:任才俊

Page 2: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

實驗目的 • (a) 掌握 TMS320F2812 程式空間的分置。• (b) 掌握 TMS320F2812 資料空間的分置。• (c) 能夠熟練運用 TMS320F2812 資料空間

的指令。

Page 3: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

實驗說明 • 本實驗程式將對 0x003F9020H 開始的 8 個

位址空間,填寫入 0xAAAA 的數值,然後讀出,並儲存到 0x003f9028H 開始的 8個位址空間。

Page 4: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

實驗步驟 (1) Step1 :加入檔案於專案中,並進行編譯,接著點選 File->Load Program 功能表下載入 Debug 目錄下的檔名 .out 檔案。

Page 5: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

實驗步驟 (2) Step2 :載入完畢後,點選 View->Memory 查看記憶體單元,並輸入要查看的記憶體單元位址,本實驗要查看 0x003F9020H~0x3F902FH 單元數值變化,輸入位址 0x003F9020H ,如下圖所示。

Page 6: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

實驗步驟 (3) Step3 :查看 0x003F9020H~0x3F902FH 單元的初始值,單擊 Run 執行程式,也可以“單步”執行程式。

Page 7: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

實驗步驟 (4) Step4 :觀察實驗結果,查看 0x003F9020H~0x003F902F 單元內數值的變化。

Page 8: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

//------------------頭文件 -------------------------------------//#include "DSP281x_Device.h" // DSP281x Headerfile Include File#include "DSP281x_Examples.h" // DSP281x Examples Include File

//------------------主程序 -------------------------------------//void main(void){

int i; volatile unsigned int *room = (volatile unsigned int *)0x3f9020;volatile unsigned int *room2= (volatile unsigned int *)0x3f902F;

// Initialize System Control:// PLL, WatchDog, enable Peripheral ClocksInitSysCtrl();

// Disable CPU interrupts DINT;

// Disable CPU interrupts and clear all CPU interrupt flags:IER = 0x0000;IFR = 0x0000;

Page 9: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

for(;;){

/*xf管腳置低 */asm(" clrc xf");

for(p=0;p<10000;p++)for(q=0;q<100;q++);

/*xf管腳置高 */asm(" setc xf");

for(p=0;p<10000;p++)for(q=0;q<100;q++);

}}

Page 10: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

/* 將 0xAAAA寫入從數據空間的地址 0x3f9020開始的 8個單元中 */for(i=0;i<8;i++)

{*room=0xAAAA;room++;

}

/* 從 0x3f9020開始的 8個空間讀出數據依次寫入從 0x3f9028開始的 8個單元中 */for(i=0;i<8;i++) {

*room2=*(room-1); room--;room2--;

}}

Page 11: 介面設計專題實務 Object Teaching of Interface Design 實驗二 資料儲存實驗

練習題• 試將 0x003F9020H~0x003F9027 單元內數值填入 0~7 ;而在 0x003F9028H~0x003F902F單元內數值分別填入 F 、 E 、 D 、 C 、 B、 A 、 9 、 8 。