資源簡介
用28335控制LCD12864的液晶顯示程序,可自行改變顯示內容。
代碼片段和文件信息
//###########################################################################
//
//?功能:???I/O口實現12864液晶顯示功能;
//?描述:??在液晶中顯示‘零零電子’名;
//?
//
//?????使用GPIO0-GPIO9,液晶與其對應的引腳如下所示:
//
//????????RS--GPIO0引腳,R/W--GND,EN--GPIO1引腳D0--GPIO2引腳
//????????D1--GPIO3引腳D2--GPIO4引腳D3--GPIO5引腳D4--GPIO6引腳
//???????D5--GPIO7引腳D6--GPIO8引腳D7--GPIO9引腳;
//????根據在RAM中調試的需要,這個項目配置成“boot?to?SARAM“.280x引導模式
//????表如下顯示.?常用的還有“boot?to?Flash“模式,當程序在RAM調試完善后就
//????可以將代碼燒進Flash中并使用“boot?to?Flash“引導模式.
//
//????????Boot??????GPIO18?????GPIO29????GPIO34
//????????Mode??????SPICLKA????SCITXDA
//??????????????????SCITXB
//????????-------------------------------------
//????????Flash???????1??????????1????????1
//????????SCI-A???????1??????????1????????0
//????????SPI-A???????1??????????0????????1
//????????I2C-A???????1??????????0????????0
//????????ECAN-A??????0??????????1????????1????????
//????????SARAM???????0??????????1????????0??<-?“boot?to?SARAM“
//????????OTP?????????0??????????0????????1
//????????I/0?????????0??????????0????????0?
//
//?
//###########################################################################
//?釋放日期:?2013.1.17
//###########################################################################
#include?“DSP2833x_Device.h“?????//?DSP2833x?Headerfile?Include?File
#include?“DSP2833x_Examples.h“???//?DSP2833x?Examples?Include?File
/***************全局變量定義****************/
#define?uchar?unsigned?char
/****************端口宏定義*****************/
#define?LCD_RS?GpioDataRegs.GPADAT.bit.GPIO0
//#define?LCD_RW?GpioDataRegs.GPADAT.bit.GPIO2?
#define?LCD_EN?GpioDataRegs.GPADAT.bit.GPIO1
#define?LCD_DB?GpioDataRegs.GPADAT.all
//?使用前,聲明本文件中的相關函數
void?Init_Port(void);
void?LCD_init(void);??????????????????????????//初始化函數
void?LCD_write_command(uchar?command);????????//寫指令函數
void?LCD_write_data(uchar?dat);???????????????//寫數據函數
void?main(void)
{
uchar?i;
//?步驟?1.?初始化系統控制:
//?設置PLL?WatchDog?使能外設時鐘
//?下面這個函數可以從DSP280x_SysCtrl.c文件中找到.
???InitSysCtrl();
//?步驟?2.?初始化通用輸入輸出多路復用器GPIO:?
//?這個函數在DSP280x_Gpio.c源文件中被定義了
//?這個函數使GPIO控制類寄存器初始化到默認狀態
//?InitGpio();??//?Skipped?for?this?example??
//本例僅初始化液晶對應的GPIO引腳;
//這些函數在DSP280x_EPwm.c文件里面
???Init_Port();
//?步驟?3.?清除所有中斷初始化中斷向量表:
//?禁止CPU全局中斷
???DINT;
//?初始化PIE控制寄存器到他們的默認狀態.
//?這個默認狀態就是禁止PIE中斷及清除所有PIE中斷標志?
//?這個函數放在DSP280x_PieCtrl.c源文件里
???InitPieCtrl();
???
//?禁止CPU中斷和清除所有CPU中斷標志?
???IER?=?0x0000;
???IFR?=?0x0000;
//初始化PIE中斷向量表,并使其指向中斷服務子程序(ISR)
//?這些中斷服務子程序被放在了DSP280x_DefaultIsr.c源文件中
//?這個函數放在了DSP280x_PieVect.c源文件里面.
???InitPieVectTable();
//?步驟?4.初始化片內外設:
//?InitPeripherals();??//?Not?required?for?this?example
???
//?步驟?5.?以下是用戶編寫的指定代碼?使能相關中斷:
//?步驟?6.?循環函數,顯示字符串:
???for(;;)
???{?? ???
?????LCD_init();
?LCD_write_command(0x80); //第一行數據指針地址
????for(i=0;i<4;i++)
{
?????LCD_writ
- 上一篇:28335epwm工作并觸發AD采樣
- 下一篇:dsp2812外部中斷控制實驗程序
評論
共有 條評論