lm3s811驱动lcd1602

上传人:第*** 文档编号:34611897 上传时间:2018-02-26 格式:DOC 页数:3 大小:38KB
返回 下载 相关 举报
lm3s811驱动lcd1602_第1页
第1页 / 共3页
lm3s811驱动lcd1602_第2页
第2页 / 共3页
lm3s811驱动lcd1602_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《lm3s811驱动lcd1602》由会员分享,可在线阅读,更多相关《lm3s811驱动lcd1602(3页珍藏版)》请在金锄头文库上搜索。

1、LM3S811 驱动 LCD1602 驱动程序经过一个下午的移植,将 LCD1602 的驱动程序,从 C51 移植到 LM3S811上。再用了一天时间,将它调试成功。读者可放心使用。呵呵。(是 16 个引脚的那种 LCD1602)#include systeminit.h#define LED GPIO_PIN_5#define LED_PERIPH SYSCTL_PERIPH_GPIOB#define LED_PORT GPIO_PORTB_BASE#define RS GPIO_PIN_0#define RS_PERIPH SYSCTL_PERIPH_GPIOA#define RS_POR

2、T GPIO_PORTA_BASE#define RW GPIO_PIN_1#define RW_PERIPH SYSCTL_PERIPH_GPIOA#define RW_PORT GPIO_PORTA_BASE#define E GPIO_PIN_2#define E_PERIPH SYSCTL_PERIPH_GPIOA#define E_PORT GPIO_PORTA_BASE#define PD GPIO_PIN_0 GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7#define PD

3、_PERIPH SYSCTL_PERIPH_GPIOD#define PD_PORT GPIO_PORTD_BASEvoid duankouInit(void);/端口初始化设置void LCD_write_command(unsigned char command);/写指令函数void LCD_write_data(unsigned char dat);/写数据函数void lcdzuobiao(unsigned char x,unsigned char y);/LCD 坐标void display(unsigned char *p);/显示/void LCD_init(void);/LC

4、D 初始化int main(void)jtagWait(); / 防止 JTAG 失效clockInit();duankouInit();LCD_init();while(1)GPIOPinWrite(LED_PORT,LED,0xdf);SysCtlDelay(1000* (TheSysClock / 3000); /约 1sGPIOPinWrite(LED_PORT,LED,0xff);SysCtlDelay(1000* (TheSysClock / 3000); /约 1slcdzuobiao(0,0);display(LCD1602 TEST);lcdzuobiao(0,1);disp

5、lay(ok);void duankouInit(void)SysCtlPeripheralEnable(LED_PERIPH);GPIOPinTypeGPIOOutput(LED_PORT, LED);GPIOPadConfigSet(LED_PORT,LED,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);/ 设置引脚SysCtlPeripheralEnable(RS_PERIPH);GPIOPinTypeGPIOOutput(RS_PORT, RS);GPIOPadConfigSet(RS_PORT,RS,GPIO_STRENGTH_2MA,GPIO_P

6、IN_TYPE_STD_WPU);/ 设置引脚SysCtlPeripheralEnable(RW_PERIPH);GPIOPinTypeGPIOOutput(RW_PORT, RW);GPIOPadConfigSet(RW_PORT,RW,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);SysCtlPeripheralEnable(E_PERIPH);GPIOPinTypeGPIOOutput(E_PORT, E);GPIOPadConfigSet(E_PORT,E,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);SysCtl

7、PeripheralEnable(PD_PERIPH);GPIOPinTypeGPIOOutput(PD_PORT, PD);GPIOPadConfigSet(PD_PORT,PD,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);void LCD_write_command(unsigned char dat)/写指令函数 SysCtlDelay(1* (TheSysClock / 3000); /约 1ms/RS=0;/指令GPIOPinWrite(RS_PORT,RS,0xfe);/RW=0;/写入GPIOPinWrite(RW_PORT,RW,0xfd)

8、;GPIOPinWrite(E_PORT,E,0xfb);/P0=dat;GPIOPinWrite(PD_PORT,PD,dat);SysCtlDelay(1* (TheSysClock / 3000); /约 1ms/E=1;/允许GPIOPinWrite(E_PORT,E,0xff);/E=0;SysCtlDelay(1* (TheSysClock / 3000); /约 1msGPIOPinWrite(E_PORT,E,0xfb);void LCD_write_data(unsigned char dat)/写数据函数 SysCtlDelay(1* (TheSysClock / 3000

9、); /约 1ms/RS=1;/数据GPIOPinWrite(RS_PORT,RS,0xff);/RW=0;/写入GPIOPinWrite(RW_PORT,RW,0xfd);GPIOPinWrite(E_PORT,E,0xfb);/P0=dat;GPIOPinWrite(PD_PORT,PD,dat);SysCtlDelay(1* (TheSysClock / 3000); /约 1ms/E=1;/允许GPIOPinWrite(E_PORT,E,0xff);SysCtlDelay(1* (TheSysClock / 3000); /约 1ms/E=0;GPIOPinWrite(E_PORT,E

10、,0xfb);/*初始化函数*void LCD_init(void)SysCtlDelay(15* (TheSysClock / 3000); /约 15msLCD_write_command(0x38);/设置 8 位格式,2 行,5x7SysCtlDelay(100* (TheSysClock / 3000); /约 100msLCD_write_command(0x0c);/整体显示,关光标,不闪烁SysCtlDelay(100* (TheSysClock / 3000); /约 100msLCD_write_command(0x06);/设定输入方式,增量不移位SysCtlDelay(

11、100* (TheSysClock / 3000); /约 100msLCD_write_command(0x01);/清除屏幕显示SysCtlDelay(100* (TheSysClock / 3000); /约 100ms/*LCD 坐标函数*void lcdzuobiao(unsigned char x,unsigned char y)if(y=0)LCD_write_command(0x80+x);elseLCD_write_command(0x80+0x40+x);void display(unsigned char *p)/显示/while(*p!=0)LCD_write_data(*p);p+;SysCtlDelay(1* (TheSysClock / 3000); /约 1ms

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号