工具/软件:Code Composer Studio
#include
#include
#include "inc/hw_memmap.h"
#include "driverlib/fpu.h"
#include "driverlib/sysctl.h"
#include "driverlib/rom.h"
#include "driverlib/pin_map.h"
#include "driverlib/uart.h"
#include "grlib/grlib.h"
#include "drivers/cfal96x64x16.h"
#include "utils/uartstdio.h"
#include "driverlib/gpio.h"
#include "inc/hw_types.h"
#include "inc/hw_gpio.h"
CHAR CGRAM_LUT[8]={0x1f、0x11、0x11、0x11、0x11、0x11、0x1f、0x00};
//////////////////////////////////////// LCD_CMD ()//////////////////////////////////////////////
LCD_CMD (无符号字符 cmd)
{
GPIOPinWrite (GPIO_PORTF_BASE、(GPIO_PIN_0 | GPIO_PIN_1 |GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 |GPIO_PIN_6 | GPIO_PIN_7)、(cmd);
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_5,0X00);//RS=0;
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_6、0x00);//r/w
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_7,0X80);//en=1
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_7、0x00);//en=0
SysCtlDelay (160000);
}
///////////////////////////////////////////////////// LCD_DATA//////////////////////
LCD_DATA (无符号字符数据)
{
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_7,0X00);
GPIOPinWrite (GPIO_PORTF_BASE、(GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7)、DATA);
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_5,0X20);//RS=1;
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_6、0x00);//r/w
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_7,0X80);//en=1
GPIOPinWrite (GPIO_Porth_BASE、GPIO_PIN_7、0);//en=0
SysCtlDelay (160000);
}
LCD_STR (char * p)
{
while (* p)
{
LCD_DATA (*(p++));
SysCtlDelay (SysCtlClockGet ()/11);
}
}
////////////////////////////////////////// LCD_Init//////////////////////////////////////////////////////////////////////////////
lcd_init ()
{
LCD_CMD (0x30);
SysCtlDelay (1500);
LCD_CMD (0x38);
SysCtlDelay (1500);
LCD_CMD (0x10);
SysCtlDelay (150);
LCD_CMD (0x01);
SysCtlDelay (150);
LCD_CMD (0x06);
SysCtlDelay (150);
LCD_CMD (0x0F);
}
////////////////// (三 STORE _CGRAM (存储 CGRAM)*****
void Store_CGRAM (空)
{
字符 I;
LCD_CMD (0x00);
for (i=0;i<8;i++)
{
LCD_CMD (0x40+8*I);
LCD_DATA (CGRAM_LUT[i]);
SysCtlDelay (500);
// LCD_CMD (0x00+8);
}
}
内部
main (空)
{
SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN| SYSCTL_XTAL_16MHz);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOH);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOF);
SysCtlPeripheralSlepEnable (SYSCTL_Periph_GPIOH);
SysCtlPeripheralSlepEnable (SYSCTL_Periph_GPIOF);
HWREG (GPIO_PORTF_BASE + GPIO_LO_LOCK)= GPIO_LOCK_KEY;
HWREG (GPIO_PORTF_BASE + GPIO_O_CR)|= 0x01;
HWREG (GPIO_PORTF_BASE + GPIO_AFSEL)|= 0x000;
HWREG (GPIO_PORTF_BASE + GPIO_LO_LOCK)= 0;
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_0);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_1);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_2);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_3);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_4);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_5);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_6);
GPIOPinTypeGPIOOutput (GPIO_PORTF_BASE、GPIO_PIN_7);
//******** 其他引脚********
GPIOPinTypeGPIOOutput (GPIO_Porth_BASE、GPIO_PIN_5);//RS
GPIOPinTypeGPIOOutput (GPIO_Porth_BASE、GPIO_PIN_6);//R/W
GPIOPinTypeGPIOOutput (GPIO_Porth_BASE、GPIO_PIN_7);//en
lcd_init();
SysCtlDelay (1500);
LCD_CMD (0x80);
LCD_STR ("Satu");
LCD_CMD (0xC0);
/////////////////////////////////////////////////////////// CGRAM ////////////////////////////////////////////////////////////////
STORE_CGRAM();
LCD_CMD (0xca);
LCD_DATA (0);
while (1)
{
SysCtlDelay (SysCtlClockGet ()/11);
//LCD_CMD (0x1C);
}
}