⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example_28xgpio.c

📁 TMS320F2812驱动LCD显示器OCM4X8C 可以显示汉字和位图
💻 C
📖 第 1 页 / 共 2 页
字号:

#include "DSP28_Device.h"
#include "DSP28_Globalprototypes.h"

#define uint  unsigned int
#define uchar unsigned char

#define LCDPORT GpioDataRegs.GPBDAT

#define RS  GpioDataRegs.GPBDAT.bit.GPIOB8
#define RW  GpioDataRegs.GPBDAT.bit.GPIOB9
#define EN  GpioDataRegs.GPBDAT.bit.GPIOB10
#define RESET_LCD GpioDataRegs.GPEDAT.bit.GPIOE2

#define DELAY Delay_ms(10)

void     Clear_Screen(void);
void	 SetLCDPORT(uint content);
uchar	 ReadLCDPORT();
uchar    Read_data();
void     Send_comm(uint content);
void     Send_data(uint content);
void     Disp_String(uint StartRow, uint StartColumn,uchar *pcontent);
void	 Disp_Img(int left, int top, uint width, uint heigh, uchar *pimg);
void	 Clear_Img(int left, int top, uint width, uint heigh);
void 	 Disp_FullImg(uchar *pImg);
void	 LCD_init();
void     Delay_us(uint us);
void     Delay_ms(uint ms);
uchar    Check_busy(void);
void     Reverse_displine(uint line);
void 	Cursor_OnOff(uchar CursorOnOff,uchar reverseOnOff);
void    Cursor_GoOrig();
void	Cursor_Move(int LeftRight);
void	ScrollVert(int UpDown);
void 	ScrollHori(int val);

#define MAX(x,y) (x>y?x:y)
#define MIN(x,y) (x<y?x:y)

uchar tab1[]={
"内置二级字库可在"
"任意位置反白显示"
};

uchar  tab3[]={
"1金鹏电子1有限公司"
"Golden Palm TECH1234567890Golden Palm TECH"
};

uchar  tab5[]={
//--  调入了一幅图像:F:\梁\画图\HOCO12832.bmp  /
//--  宽度x高度=128x32  --
//横向存取字模
0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,
0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,
0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,
0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFC,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xF8,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF8,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0x79,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFE,0x00,0x00,0xF0,0xFF,0xFF,0xBF,0xCF,0xE7,0xF1,0xFF,0xF6,0x7F,0x7F,
0xFF,0xFF,0xFC,0x00,0x00,0xF0,0xFF,0xFF,0x0F,0xC7,0xE3,0xF1,0x3F,0x86,0x38,0x7F,
0xFF,0xFF,0xFC,0x00,0x01,0xF0,0xFF,0xF0,0x07,0xC7,0xE3,0xF1,0x1F,0x86,0x38,0x7F,
0xFF,0xFF,0xF8,0x00,0x03,0xF0,0xFF,0xC0,0x78,0xC7,0xE2,0x00,0x07,0x88,0x00,0xFF,
0xFF,0xFF,0xF8,0x00,0x05,0xF0,0xF1,0xFE,0x18,0x47,0xE2,0x00,0x03,0x18,0x08,0xDF,
0xFF,0xFF,0xF0,0x00,0x0C,0x00,0x01,0xFE,0x7C,0x47,0xE3,0xF0,0xFE,0x22,0x08,0x8F,
0xFF,0xFF,0xF0,0x00,0x0C,0xF0,0xF1,0xFE,0x4C,0x47,0x80,0x00,0x0E,0x40,0x00,0x0F,
0xFF,0xFF,0xF0,0x00,0x18,0xF0,0xF1,0xE0,0x07,0xC7,0x80,0x11,0x8E,0xC0,0x01,0x1F,
0xFF,0xFF,0xE0,0x00,0x18,0xF0,0xF1,0xFE,0x38,0xC7,0xE3,0x00,0x0F,0x87,0xC1,0x1F,
0xFF,0xFF,0xE0,0x00,0x38,0xF0,0xF1,0xF0,0x38,0x47,0xE3,0x11,0x9F,0x80,0x01,0x3F,
0xFF,0xFF,0xC0,0x00,0x78,0xF0,0xF1,0xFC,0x0C,0xC7,0xE3,0x11,0x8F,0x07,0xE1,0x3F,
0xFF,0xFF,0xC0,0x00,0xF8,0x00,0x01,0xF8,0x00,0xC1,0xE3,0x00,0x0E,0x0C,0x80,0x3F,
0xFF,0xFF,0x80,0x00,0xF8,0xF0,0xF1,0xF0,0x4F,0x80,0xE3,0x11,0x1E,0x44,0x08,0x3F,
0xFF,0xFF,0x80,0x01,0xF8,0xF0,0xF1,0xE2,0x70,0x07,0xE3,0x36,0x06,0xC8,0x98,0x3F,
0xFF,0xFF,0x00,0x03,0xFF,0xF0,0xFF,0xE2,0x41,0xC7,0xE0,0x00,0x03,0xC8,0x80,0x7F,
0xFF,0xFF,0x00,0x03,0xFF,0xF0,0xFF,0xC2,0x3F,0xC7,0xE3,0x1B,0x1F,0xC8,0x84,0x7F,
0xFF,0xFF,0x00,0x07,0xFF,0xF0,0xFF,0xE6,0x3F,0xC7,0xE3,0x8F,0x1F,0xC0,0x08,0x3E,
0xFF,0xFF,0x00,0x0F,0xFF,0xF0,0xFF,0xFE,0x3F,0xC7,0xE3,0xC7,0x1F,0xC1,0x80,0x1C,
0xFF,0xFE,0x00,0x0F,0xFF,0xF0,0xFF,0xFE,0x3F,0xC7,0xE3,0xC8,0x1F,0x83,0xC3,0x0C,
0xFF,0xFE,0x00,0x1F,0xFF,0xF0,0xFF,0xFE,0x3F,0xC7,0xE3,0xF8,0x3F,0x83,0x0F,0x98,
0xFF,0xFC,0x00,0x1F,0xFF,0xF0,0xFF,0xFE,0x7F,0xCF,0xE3,0xFE,0x3F,0xCE,0x3F,0xF8,
0x7F,0xFC,0x00,0x3F,0xFF,0xFF,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0x0F,0xF8,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0x0F,0xF8,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,
0x01,0xF8,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
0x01,0xF8,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00
};
uchar Bmp028[]=
{
/*------------------------------------------------------------------------------
;  源文件 / 文字 : C:\Documents and Settings\Administrator\桌面\microcyber2.bmp
;  宽×高(像素):48×48
------------------------------------------------------------------------------*/
0x00,0x03,0xFF,0xFF,0x80,0x00,0x00,0x0F,0xF8,0x03,0xE0,0x00,
0x00,0x3F,0xF0,0x01,0xFC,0x00,0x00,0x3F,0xF0,0x01,0xFE,0x00,
0x00,0xFF,0xF0,0x00,0xFF,0x00,0x03,0xFF,0x24,0x00,0x7F,0xC0,
0x03,0xF8,0x42,0x00,0x7E,0xF0,0x07,0xC0,0x40,0x80,0x3E,0x70,
0x0C,0x40,0x40,0x40,0x1E,0x38,0x08,0x80,0x40,0x20,0x70,0x1C,
0x18,0x80,0xC0,0x3F,0xFC,0x0C,0x10,0x80,0x80,0x3F,0xFC,0x0E,
0x21,0x00,0x80,0x3F,0xFC,0x06,0x21,0x00,0x80,0x7F,0xFE,0x02,
0x61,0x00,0x80,0x7F,0xFE,0x03,0x62,0x01,0x00,0x7F,0xFE,0x01,
0xE2,0x01,0x00,0x7F,0xFE,0x01,0xC2,0x01,0x00,0xFF,0xFF,0x00,
0xC4,0x02,0x00,0xFF,0xFF,0xDB,0xCE,0x02,0x00,0xFF,0xFF,0xBD,
0x9F,0x02,0x01,0xFF,0xFF,0xFD,0x9F,0x84,0x06,0xFF,0xFF,0xFD,
0x9F,0xC4,0x08,0x7F,0xFF,0x8D,0x9F,0xC4,0x70,0x3F,0xFE,0xE5,
0xFF,0xFB,0x00,0x07,0xFD,0xFD,0xFF,0xFC,0x00,0x07,0xF9,0xFF,
0xFF,0xF8,0x00,0x01,0xF3,0xFF,0xFF,0xF0,0x00,0x01,0xE7,0xFF,
0xBF,0xF0,0x00,0x00,0x87,0xFF,0xBF,0xF0,0x00,0x00,0x87,0xFB,
0xDF,0xF0,0x00,0x00,0x80,0x37,0xDF,0xF0,0x00,0x00,0x80,0x3F,
0xDF,0xF0,0x00,0x00,0x80,0x7F,0x7F,0xF0,0x00,0x00,0x80,0xC7,
0x7F,0xF0,0x00,0x00,0x80,0x8F,0x33,0xF0,0x00,0x00,0x80,0x0E,
0x32,0x0C,0x00,0x00,0x82,0x0E,0x19,0x02,0x00,0x00,0x82,0x0C,
0x0C,0x81,0x80,0x00,0x84,0x18,0x1C,0x80,0x40,0x01,0x80,0x18,
0x0E,0x40,0x20,0x27,0xE8,0x30,0x07,0x20,0x1F,0xFF,0xFC,0x60,
0x03,0x9C,0x0B,0xFF,0xFC,0xE0,0x00,0xC4,0x57,0xFF,0xFB,0x80,
0x00,0x7F,0xF7,0xFF,0xF7,0x00,0x00,0x3F,0xFF,0xFF,0xEC,0x00,
0x00,0x0F,0xFF,0xFF,0x78,0x00,0x00,0x03,0xFF,0xFD,0xE0,0x00
};


// Prototype statements for functions found within this file.
// interrupt void ISRTimer2(void);
void Gpio_select(void);

void main(void)
{

	InitSysCtrl();

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

	// Initialize Pie Control Registers To Default State:
	InitPieCtrl();
	InitPieVectTable();	


	
	Gpio_select();	
	// Toggle I/Os  using DATA register for ever

	
	RESET_LCD = 0;
	Delay_ms(10);
	RESET_LCD = 1;
	LCD_init();
	Delay_ms(20);
//	Disp_String(1,1,tab3);
	//Reverse_displine(1);
	//Clear_Screen();
	Disp_FullImg(tab5);
	//Disp_Img(0,0,48,48,Bmp028);
	Clear_Img(16,16,48,48);
//	Cursor_OnOff(1,0);
//	Cursor_GoOrig();	
//	Cursor_Move(-5);

//	ScrollHori(5);
//	ScrollVert(-5);
	while(1)
	{    
		;
    }
	
} 	

void Gpio_select(void)
{
	 EALLOW;
	 
    GpioMuxRegs.GPBMUX.all=0;   
    GpioMuxRegs.GPBDIR.all=0xffff;   		// GPIO DIR select GPIOs as output 
    GpioMuxRegs.GPBQUAL.all=0;   
 
    GpioMuxRegs.GPEMUX.all=0;   
    GpioMuxRegs.GPEDIR.all=0xffff;   		// GPIO DIR select GPIOs as output 
    GpioMuxRegs.GPEQUAL.all=0;   
    
    EDIS;
     
}     
void   Clear_Screen(void)
{
	uchar i,j;
	//上半屏
	for (j=0;j<32;j++) {
		for(i=0;i<8;i++){
			Send_comm(0x34);//扩展指令
			Send_comm(0x80+j);//垂直的坐标
			Send_comm(0x80+i);//水平坐标	
			Send_comm(0x30);//基本指令
			Send_data(0);
			Send_data(0);			

		}
	}
	//下半屏
	for (j=0;j<32;j++) {
		for(i=0;i<8;i++){
			Send_comm(0x34);//扩展指令
			Send_comm(0x80+j);//垂直坐标
			Send_comm(0x88+i);//水平坐标	
			Send_comm(0x30);//基本指令
			Send_data(0);
			Send_data(0);			
		}
	}
	Send_comm(0x36);//显示图形
}
void SetLCDPORT(uint content)
{
	uchar temp=0;
	GpioMuxRegs.GPBDIR.all=0;
	temp= GpioDataRegs.GPBDAT.all;
	temp=temp&0xff00;
	content = content&0x00ff;
	GpioMuxRegs.GPBDIR.all=0xffff;
	GpioDataRegs.GPBDAT.all=temp|content;
}
uchar	 ReadLCDPORT()
{
	return 0;
}
//---------------------------------------
uchar Check_busy ()
{
    RS=0;   //
	DELAY;
    RW=1;   //Read  
	DELAY;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -