📄 example_28xgpio.c
字号:
#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 + -