zlggui菜单12864_悠景双色12864OLED驱动+ZLGGUI简单移植,有图有真相

最近也做了个OLED的温度计,方案是

ZLG Easy ARM1138+18B20+2.4OLED双色屏+LT3465

本来想等CP2102的USB转串口做完,可以在电脑上记录分析温度以后才传方案,

现在既然楼主先贴了,那我也来凑凑热闹吧。

48b42ab008152a1dab145c725c7f1128.png

(原文件名:Photo_0001.jpg)

37ccf7565808d60d0379a252c05702f2.png

(原文件名:Photo_0003.jpg)

几个比较关键的代码:

OLED屏幕定义,完全根据ZLG的TFT驱动来搞,没有更改,RS接A0的位置,其他都能对上号。

/*********************************************************************************************************

硬件相关接口定义

*********************************************************************************************************/

#define  LCD_PERI               SYSCTL_PERIPH_GPIOA | SYSCTL_PERIPH_GPIOB

#define  LCD_RS_BASE            GPIO_PORTB_BASE                         /* RS - PB0                     */

#define  LCD_RS_PIN             GPIO_PIN_0

#define  LCD_CS_BASE            GPIO_PORTB_BASE                         /* CS - PB1                     */

#define  LCD_CS_PIN             GPIO_PIN_1

#define  LCD_WR_BASE            GPIO_PORTB_BASE                         /* WR - PB2                     */

#define  LCD_WR_PIN             GPIO_PIN_2

#define  LCD_RD_BASE            GPIO_PORTB_BASE                         /* RD - PB3                     */

#define  LCD_RD_PIN             GPIO_PIN_3

#define  LCD_RST_BASE           GPIO_PORTB_BASE                         /* RST - PB4                    */

#define  LCD_RST_PIN            GPIO_PIN_4

#define  DATA_PORT_BASE         GPIO_PORTA_BASE                         /* DATA[7:0] - PA[7:0]          */

#define  DATA_PORT_PIN          0xFF

/*********************************************************************************************************

硬件相关的定义

*********************************************************************************************************/

#define  LCD_CS_BASE_PIN        LCD_CS_BASE,LCD_CS_PIN

#define  LCD_WR_BASE_PIN        LCD_WR_BASE,LCD_WR_PIN

#define  LCD_RS_BASE_PIN        LCD_RS_BASE,LCD_RS_PIN

#define  LCD_RD_BASE_PIN        LCD_RD_BASE,LCD_RD_PIN

#define  LCD_RST_BASE_PIN       LCD_RST_BASE,LCD_RST_PIN

#define  DATA_PORT_BASE_PIN     DATA_PORT_BASE,DATA_PORT_PIN

/*********************************************************************************************************

硬件相关的位操作定义

*********************************************************************************************************/

#define  LCD_RS                 HWREG(LCD_RS_BASE + (GPIO_O_DATA + (LCD_RS_PIN << 2)))

#define  LCD_CS                 HWREG(LCD_CS_BASE + (GPIO_O_DATA + (LCD_CS_PIN << 2)))

#define  LCD_WR                 HWREG(LCD_WR_BASE + (GPIO_O_DATA + (LCD_WR_PIN << 2)))

#define  LCD_RD                 HWREG(LCD_RD_BASE + (GPIO_O_DATA + (LCD_RD_PIN << 2)))

#define  LCD_RST                HWREG(LCD_RST_BASE + (GPIO_O_DATA + (LCD_RST_PIN << 2)))

#define  DATA_PORT              HWREG(DATA_PORT_BASE + (GPIO_O_DATA + (DATA_PORT_PIN << 2)))

#define  DATA_PROT_INPUT_SET()  HWREG(DATA_PORT_BASE + GPIO_O_DIR) = 0  /* 设置数据口为输入方向         */

#define  DATA_PROT_OUTPUT_SET() HWREG(DATA_PORT_BASE + GPIO_O_DIR) = 0xFF

/* 设置数据口为输出方向         */

/*********************************************************************************************************

** 函数名称: __writeData8

** 功能描述: (向当前地址的寄存器)写8位数据

** 输   入: ucData 要写入液晶的8位数据

** 输   出: 无

** 全局变量: 无

** 调用模块: 无

** 返    回:无

** 作   者:

** 日   期:

**------------------------------------------------------------------------------------------------------

** 修 改 人:

** 日   期:

**------------------------------------------------------------------------------------------------------

*********************************************************************************************************/

void __writeData8(INT8U ucData)       /* 写8位数据函数  */

{

LCD_RS = 0xFF;                    /* 拉高RS         */

LCD_CS = 0x00;                    /* 拉低CS         */

LCD_WR = 0x00;                    /* 拉低WR         */

DATA_PORT = ucData;    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值