東南大學自動化學院
實驗報告
課程名稱: dsp原理及c程式開發
第三次實驗
姓名學號
實驗室實驗組別
同組人員實驗時間:2012 年 4 月 25 日
評定成績審閱教師
一.實驗目的
通過實驗學習使用28335a dsp的擴充套件埠控制外圍裝置的方法,了解(1)發光二極體的控制程式設計方法、(2)液晶顯示器程式設計方法、(3)鍵盤外設控制程式設計方法。
二.實驗裝置
計算機,icetek-f28335-edu 實驗箱(或icetek **器+icetek–f28335-a 系統板+相關連線及電源)。
三.實驗原理
1. 發光二極體顯示陣列(交通燈)控制
tms320f28335dsp的擴充套件儲存器介面(emif)用來與大多數外圍裝置進行連線,典型應用如連線片外擴充套件儲存器等。這一介面提供位址連線、資料連線和一組控制線。icetek-f28335-a 將這些擴充套件線引到了板上的擴充套件插座上供擴充套件使用。
實驗箱中icetek-ctr板上的發光二極體顯示陣列(交通燈)的顯示是由擴充套件埠控制,擴充套件在emif 介面的兩個暫存器提供具體控制。
交通燈一共12個,使其順序亮滅的例程如下所示:
unsigned int uledmy[12]=;
void main(void) }
2. 液晶顯示器控制顯示
液晶顯示模組的訪問、控制是由28335a dsp 對擴充套件介面的操作完成。控制口的定址:命令控制介面的位址為0x208001,資料控制介面的位址為0x208003 和0x208004,輔助控制介面的位址為0x208002。
液晶顯示模組中有兩片顯示緩衝儲存器,分別對應螢幕顯示的象素,向其中寫入數值將改變顯示,寫入「1」則顯示一點,寫入「0」則不顯示。液晶屏是64*64點陣的,乙個基本字元占用8*8點陣。其位址與象素的對應方式如下:
傳送控制命令:向液晶顯示模組傳送控制命令的方法是通過向命令控制介面寫入命令控制字,然後再向輔助控制介面寫入0。下面給出的是基本命令字、解釋和c語言控制語句舉例:
● 顯示開關:0x3f 開啟顯示;0x3e 關閉顯示;
● 設定顯示起始行:0x0c0+起始行取值,其中起始行取值為0至63;
● 設定操作頁:0x0b8+頁號,其中頁號取值為0-7;
● 設定操作列:0x40+列號,其中列號為取值為0-63;
寫顯示資料:在使用命令控制字選擇操作位置(頁數、列數)之後,可以將待顯示的資料寫入液晶顯示模組的快取。將資料傳送到相應資料控制i/o介面即可。
3. 鍵盤輸入
鍵盤的掃瞄碼由dsp 的擴充套件位址0x208001 給出,當有鍵盤輸入時,讀此埠得到掃瞄碼,當無鍵被按下時讀此埠的結果為0。各按鍵的掃瞄碼排列如下所示(scancode.h)。
#define scancode_0 0x70
#define scancode_1 0x69
#define scancode_2 0x72
#define scancode_3 0x7a
#define scancode_4 0x6b
#define scancode_5 0x73
#define scancode_6 0x74
#define scancode_7 0x6c
#define scancode_8 0x75
#define scancode_9 0x7d
#define scancode_del 0x49
#define scancode_enter 0x5a
#define scancode_plus 0x79
#define scancode_minus 0x7b
#define scancode_mult 0x7c
define scancode_divid 0x4a
#define scancode_num 0x77
四.實驗步驟
1.開啟例程「lab402-ledarray」工程,編譯執行,觀察交通燈流水亮滅。
實驗程式:
#define lcddelay 1
#define lcdcmdturnon 0x3f
#define lcdcmdturnoff 0x3e
#define lcdcmdstartline 0xc0
#define lcdcmdpage 0xb8
#define lcdcmdveraddress 0x40
#define ctrgr *(int *)0x208000
#define ctrlcdcmdr *(int *)0x208001
#define ctrkey *(int *)0x208001
#define ctrlcdcr *(int *)0x208002
#define ctrclkey *(int *)0x208002
#define ctrlcdlcr *(int *)0x208003
#define ctrlcdrcr *(int *)0x208004
#define ctrla *(int *)0x208005
void main(void)
}2. 開啟例程「lab405-lcd」工程,編譯執行,可以觀察到液晶屏左側頂部第乙個8*8單元顯示從0到9的計數單字元。
實驗程式:
unsigned char ledkey[10][8]=
, //0
, //1
, //2
,,,,,,};for (;;)
{ for(j=0;j<10;j++)
{ctrlcdcmdr=lcdcmdpage設定操作頁=0
delay(lcddelay);
ctrlcdcr=0;
delay(lcddelay);
ctrlcdcmdr=lcdcmdveraddress; // 起始列=0
delay(lcddelay);
ctrlcdcr=0;
delay(lcddelay);
for ( i=0;i<8;i++ )
DSP技術及應用實驗報告實驗三
實驗三用定時器實現數字振盪器 一 實驗目的 1 學習數字振盪器的原理 2 學習c54x定時器使用 3 學習中斷服務程式編寫 4 實現數字振盪器的設計。二 實驗內容 1 設計數字振盪器的演算法 2 綜合運用各種知識在c54x晶元上實現數字振盪器的演算法 3 通過ccs提供的圖形顯示視窗觀察輸出訊號波形...
DSP課程設計報告
jiu jiang university 題目利用按鍵任意輸入乙個數值控制的轉動角度 院系電子工程學院 專業電子資訊工程 姓名班級1211 學號35 日期 2015.5.22 內容提要 步進電機作為一種電脈衝 角位移的轉換元件,由於具有 低廉 易於控制 無積累誤差和計算機介面方便等優點,在機械 儀表...
DSP課程設計報告
課程性質 考察 學號 姓名 專業 授課教師 完成日期 目錄一 板卡及板卡晶元介紹3 1 板卡簡介3 2 板卡晶元的簡單介紹4 二 ccs4環境介紹5 1 ccsv4簡介5 2.ccsv4的主要功能9 三 濾波器的設計9 1 數字濾波器的介紹9 2 fir濾波器的設計原理10 3.課程設計結果及分析1...