《1602液晶显示屏显示自定义图形》由会员分享,可在线阅读,更多相关《1602液晶显示屏显示自定义图形(2页珍藏版)》请在金锄头文库上搜索。
1、#include systemInit.h#define lcden GPIO_PIN_0 /PB0;#define lcdrs GPIO_PIN_1 /PB1;unsigned char data; /PD0-PD7;unsigned char num;unsigned char table=0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00;/字符 */ void write_com(unsigned char com) /写命令GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0x00); / lcdrs=0;GPIOPinWrite(GP
2、IO_PORTD_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,com);/PD=com;SysCtlDelay(5 * (TheSysClock / 4000); / 延时 5msGPIOPinWrite(GPIO_PORTB_BASE,lcden,0xFF); / lcden=1; SysCtlDelay(5 * (TheSysClock / 4000); GPIOPinWrite(GPIO_PORTB_BASE,lcden,0x00); / lcde
3、n=0; void write_data(unsigned char date)GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0xFF); / lcdrs=1;GPIOPinWrite(GPIO_PORTD_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,date);/PD=date;SysCtlDelay(5 * (TheSysClock / 4000); GPIOPinWrite(GPIO_PORTB_BASE,lcden,0xF
4、F); / lcden=1; SysCtlDelay(5 * (TheSysClock / 4000); GPIOPinWrite(GPIO_PORTB_BASE,lcden,0x00); / lcden=0;void init()SysCtlPeriEnable(SYSCTL_PERIPH_GPIOD); /使能 A 端口GPIOPinTypeOut(GPIO_PORTD_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); SysCtlPeriEnabl
5、e(SYSCTL_PERIPH_GPIOB); GPIOPinTypeOut(GPIO_PORTB_BASE, GPIO_PIN_0|GPIO_PIN_1);GPIOPinWrite(GPIO_PORTB_BASE,lcden,0x00); / lcden=0; write_com(0x38); /8 位数据,双列,5*7 字形write_com(0x0c); /显示功能开,有光标,光标闪烁write_com(0x06); /write_com(0x01); / 开始清屏/ 主函数(程序入口)int main(void)clockInit(); / 时钟初始化:晶振,6MHzinit();char m=0; write_com(0x40); /设定 CGRAM 地址for(m=0;m8;m+) /将自定义代码C写入 CGRAM 中 write_data(tablem); write_com(0x85); /设定上排的显示位置 write_data(0); for (;)