455|2

471

帖子

3

TA的资源

五彩晶圆(初级)

楼主
 

【FRDM-MCXN947】LCD160160显示屏测试 [复制链接]

本帖最后由 TL-LED 于 2024-12-22 14:36 编辑

测试并口方式驱动LCD160160显示屏。

 

一、电路图部分

使用FlexIO LCD接口的引脚,模拟并口方式。

 

二、配置端口

 

配置显示屏有关的引脚

 

三、显示屏接口时序图

 

 

四、程序部分

 

4.1、UC1698Driver.c

  • /**
  • * @File UC1698Driver.c
  • * @author guoweilkd
  • * @version V1.1.0
  • * @date 2018/05/09
  • * @brief Lcd驱动
  • * 本文件Lcd为UC1698
  • */
  • #include "main.h"
  • const uint8_t DataToBit2[] = {0x00,0x0f,0xf0,0xff};
  • void lcd_delay(uint16_t dl)
  • {
  • uint16_t dd;
  • for(dd=0;dd<dl;dd++)
  • {
  • __NOP();
  • }
  • }
  • /**
  • *@brief 引脚初始化
  • *@param None
  • *@retval None
  • */
  • static void LcdGpioConfig(void)
  • {
  • init_tm160160_pins();
  • //LCD_BLA_ON();
  • LCD_CS_HIGH();
  • }
  • /**
  • *@brief 写命令
  • *@param cmd 命令
  • *@retval None
  • */
  • void WriteLcdCommand(uint8_t cmd)
  • {
  • LCD_RS_LOW();
  • LCD_RD_HIGH();
  • LCD_DATABUS(cmd);
  • lcd_delay(10);
  • LCD_WR_LOW();
  • lcd_delay(1);
  • LCD_WR_HIGH();
  • }
  • /**
  • *@brief 写数据
  • *@param data 数据
  • *@retval None
  • */
  • void WriteLcdData(uint8_t data)
  • {
  • LCD_RS_HIGH();
  • LCD_RD_HIGH();
  • LCD_DATATOBIT((data&0x03));
  • lcd_delay(10);
  • LCD_WR_LOW();
  • lcd_delay(5);
  • LCD_WR_HIGH();
  • }
  • /**
  • *@brief 设置起始行
  • *@param row 行
  • *@retval None
  • */
  • void SetLcdRow(uint8_t row)
  • {
  • WriteLcdCommand(CMD_ROWADDRH | ((row & 0xF0) >> 4));
  • WriteLcdCommand(CMD_ROWADDRL | (row & 0x0F));
  • }
  • /**
  • *@brief 设置起始列
  • *@param col 列地址
  • *@retval None
  • */
  • void SetLcdCol(uint8_t col)
  • {
  • WriteLcdCommand(CMD_COLADDRH | ((col & 0x70) >> 4));
  • WriteLcdCommand(CMD_COLADDRL | (col & 0x0F));
  • }
  • /**
  • *@brief 开显示
  • *@param None
  • *@retval None
  • */
  • void Uc1698OpenLcdDisplay(void)
  • {
  • LCD_CS_LOW();
  • WriteLcdCommand(OPEN_LCDDISPLAY);
  • LCD_CS_HIGH();
  • //LCD_BLA_ON();
  • }
  • /**
  • *@brief UC1698U横向写8个点的子函数
  • *@param Data:要显示的数据
  • *@retval None
  • */
  • void Write8DotsUC1698U(uint8_t Data)
  • {
  • LCD_DATATOBIT((Data >> 6));
  • lcd_delay(10);
  • LCD_WR_LOW();
  • lcd_delay(5);
  • LCD_WR_HIGH();
  • LCD_DATATOBIT(((Data >> 4)&0x03));
  • lcd_delay(10);
  • LCD_WR_LOW();
  • lcd_delay(5);
  • LCD_WR_HIGH();
  • LCD_DATATOBIT(((Data >> 2)&0x03));
  • lcd_delay(10);
  • LCD_WR_LOW();
  • lcd_delay(5);
  • LCD_WR_HIGH();
  • LCD_DATATOBIT((Data & 0x03));
  • lcd_delay(10);
  • LCD_WR_LOW();
  • lcd_delay(5);
  • LCD_WR_HIGH();
  • }
  • /**
  • *@brief 关显示
  • *@param None
  • *@retval None
  • */
  • void Uc1698CloseLcdDisplay(void)
  • {
  • LCD_CS_LOW();
  • WriteLcdCommand(CLOSE_LCDDISPLAY);
  • LCD_CS_HIGH();
  • }
  • /**
  • *@brief LCD初始化
  • *@param None
  • *@retval None
  • */
  • void LcdInit(void)
  • {
  • LcdGpioConfig();
  • LCD_CS_LOW();
  • LCD_RES_LOW();
  • SysTick_Delay_ms(100);
  • LCD_RES_HIGH();
  • SysTick_Delay_ms(100);
  • WriteLcdCommand(0xE8|(BR&0X03));//设置偏压比1/10
  • WriteLcdCommand(0x28|(PC1&0X03));//内部电源DC/DC
  • WriteLcdCommand(0x24|(TC&0x03));//温度补偿
  • WriteLcdCommand(0x81);//设置电位命令
  • WriteLcdCommand(PM ); //值
  • WriteLcdCommand(0xc0|(LC_210&0X07) );
  • WriteLcdCommand(0xa0|(LC_43 &0X03) );
  • WriteLcdCommand(0xd0|(LC_5 &0X01) );
  • WriteLcdCommand(0xd4|(LC_76 &0X03) );
  • WriteLcdCommand(0x84|(LC_8 &0X01) );
  • WriteLcdCommand(0xc8); //设置N-line
  • WriteLcdCommand( NIV);
  • WriteLcdCommand(0xd8|(CSF&0X07) );
  • WriteLcdCommand(0xf4);
  • WriteLcdCommand(WPC0);
  • WriteLcdCommand(0xf6);
  • WriteLcdCommand(WPC1);
  • WriteLcdCommand(0xf5);
  • WriteLcdCommand(WPP0);
  • WriteLcdCommand(0xf7);
  • WriteLcdCommand(WPP1);
  • WriteLcdCommand(0xf8|((AC>>3)&0x01));
  • WriteLcdCommand(0x88| (0x07&AC));
  • WriteLcdCommand(0xf1);
  • WriteLcdCommand(CEN);
  • WriteLcdCommand(OPEN_LCDDISPLAY);/* 开显示 */
  • SysTick_Delay_ms(20);
  • LCD_CS_HIGH();
  • }
  • /* END */

 

4.2、main.c

  • #include "main.h"
  • extern void defaultFontInit(void);
  • int main(void)
  • {
  • uint8_t i;
  • lkdColour color;
  • CLOCK_EnableClock(kCLOCK_Gpio0);
  • BOARD_InitDEBUG_UARTPins();
  • BOARD_PowerMode_OD();
  • BOARD_InitBootClocks();
  • BOARD_InitDebugConsole();
  • SysTick_Init();
  • init_led();
  • init_key();
  • LcdInit();
  • defaultFontInit();
  • GuiUpdateDisplayAll();
  • color = GuiGetForecolor();
  • GuiRowText(0, 2,160, FONT_MID,"AI FRDM-MCXN947 Board");
  • GuiHPointLine(0, 15, 160, 2, color);
  • GuiRowText(0, 60,160, FONT_MID,"https://bbs.eeworld.com.cn");
  • GuiRowText(0, 80,160, FONT_MID,"https://www.nxp.com.cn");
  • GuiRowText(0, 100,160, FONT_MID,"ID:TLLED");
  • GuiUpdateDisplayAll();
  • while (1)
  • {
  • SysTick_Delay_ms(500);
  • led_red_tog();
  • GuiRowText(0, 2,160, FONT_MID,"TTTTTTTTTTTTTTTTTTTTT");
  • GuiHPointLine(0, 15, 160, 2, color);
  • GuiRowText(0, 60,160, FONT_MID,"https://bbs.eeworld.com.cn");
  • GuiRowText(0, 80,160, FONT_MID,"https://www.nxp.com.cn");
  • GuiRowText(0, 100,160, FONT_MID,"ID:TLLED");
  • GuiUpdateDisplayAll();
  • SysTick_Delay_ms(500);
  • GuiRowText(0, 2,160, FONT_MID,"AI FRDM-MCXN947 Board");
  • GuiHPointLine(0, 15, 160, 2, color);
  • GuiRowText(0, 60,160, FONT_MID,"https://bbs.eeworld.com.cn");
  • GuiRowText(0, 80,160, FONT_MID,"https://www.nxp.com.cn");
  • GuiRowText(0, 100,160, FONT_MID,"ID:TLLED");
  • GuiUpdateDisplayAll();
  • }
  • }

 

4.3、程序源码

n947_prj_20241222_1.rar (6.2 MB, 下载次数: 1)
 

五、程序运行

 

下载程序后,显示屏显示如下

播放器加载失败: 未检测到Flash Player,请到安装
lcd160160

 

 

 

此帖出自NXP MCU论坛

最新回复

屏幕是自己焊接的吗   详情 回复 发表于 2024-12-22 17:09
点赞 关注
 

回复
举报

196

帖子

1

TA的资源

一粒金砂(高级)

沙发
 

屏幕是自己焊接的吗

此帖出自NXP MCU论坛

点评

是的,自己做的板子。  详情 回复 发表于 2024-12-22 20:07
 
个人签名

没用比没有强

 
 

回复

471

帖子

3

TA的资源

五彩晶圆(初级)

板凳
 
电子烂人 发表于 2024-12-22 17:09 屏幕是自己焊接的吗

是的,自己做的板子。

此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 8

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表