This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/MSP430FR4133:LCD 引脚

Guru**** 2039500 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/703042/ccs-msp430fr4133-lcd-pins

器件型号:MSP430FR4133

工具/软件:Code Composer Studio

您好!

我计划使用 MSP 430FR4133构建一个用于评估的小时钟。 我找到了很多文档、但无意中发现了一个示例代码。 它位于 SLAC625e.zip 文件中。 msp430fr413x_LCDE_01.c 文件是指我在任何文档(数据表、用户指南和 slaa654a)中找不到的一些寄存器。 第162至178行中的代码似乎指的是一些寄存器、例如 LCDM0或 LCDPCTL0、我在任何文档中都找不到这些寄存器的任何引用、CSS 也不知道这些寄存器。 是否有关于 FR4133的特定 LCD 文档? 我可以在 CSS 中提供任何包含文件吗? 我似乎缺少有关 com 和段的寄存器和设置的部分。

感谢您的任何提示。

/*-版权所有-、BSD_EX
*版权所有(c) 2014、德州仪器(TI)公司
*保留所有权利。
*
*
只要
符合以下条件*、允许以源代码和二进制形式重新分发和使用:
*
*源代码的重新分发必须保留上述版权
声明*、此条件列表和以下免责声明。
*
***二进制形式的再发行必须在

*随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
*
***未经

事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。
*
*本软件由版权所有者和贡献者"按原样"提供
*、

不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或
*贡献者都不对任何直接、间接、偶然、特殊、
*模范、 或相应的损害(包括但不限于
*采购替代产品或服务;丧失使用、数据或利润;
*或业务中断)、但出于任何责任理论
、*无论是在合同中、严格责任还是由于
使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他)
、*即使已获悉可能会发生此类损坏。
*
***
*
* MSP430代码示例免责声明
*
* MSP430代码示例是自包含的低级程序
,通常*以
高度*简明的方式演示单个外设功能或器件功能。 为此、代码可能依赖于器件的加电默认
值*寄存器值和时钟配置等设置、
并且在组合多个示例中的代码时必须*小心以避免潜在的副作用
*。 另请参阅 www.ti.com/grace 了解 GUI、并参阅 www.ti.com/msp430ware
*了解外设配置的 API 函数库方法。
*
*--/版权--*
//*********
// MSP430FR413x 演示- LCD_E、在 LPM3.5模式下在 LCD 上显示字符串"123456"。
//
//说明:按顺序向 LCD 显示屏显示“123456”。
// f (LCD)=32768Hz/((7+1)*16)=256Hz。
// MSP430在 LPM3.5模式下工作以实现超低功耗。
// ACLK =默认 REFO ~32768Hz、
// MCLK = SMCLK =默认 DCODIV ~1MHz。
//
// MSP430FR4133
// --------
// /|\| |
// || XIN|--
// GND -|RST |~32768Hz
//| | XOUT|-//|-0.1uF--|R13
|
//|-0.1uF--|R23 (三级) COM3|--- |
//|-0.1uF--|R33 (L2) COM2 |--- ||//
-|LCDC2 (L1) COM1|--- ||||/
4.7 μ F | (l0) COM0|--- |||||/
-|LCDC1 |---
// | L4~L39|--| 1 2 3 4 5 6 |
// | L27~L35|---
// | | TI LCD
// | |
//
LCD 引脚-端口引脚映射
// LCD 引脚 G6021_Linex
// 1. L8 (P3.0)
// 2. L9 (P3.1)
// 3. L10 (P3.2)
// 4. L11 (P3.3)
// 5. L12 (P3.4)
// 6. L13 (P3.5)
// 7. L14 (P3.6)
// 8. L15 (P3.7)
// 9. L16 (P6.0)
// 10. L17 (P6.1)
// 11. L18 (P6.2)
// 12. L19 (P6.3)
// 13. L20 (P6.4)
// 14. L21 (P6.5)
// 15. L22 (P6.6)
// 16. L23 (P6.7)
// 17. L4 (P7.4)
// 18. L5 (P7.5)
// 19. L6 (P7.6)
// 20. L7 (P7.7)
// 21. L3 (P7.3)
// 22. L2 (P7.2)
// 23. L1 (P7.1)
// 24 L0 (P7.0)
// 25 -//26.
-//27.
-//28.
-//29.
-//30.
-//31.
-//32.
L24 (P2.0)
// 33 L25 (P2.1)
// 34 L26 (P2.2)
// 35 L36 (P5.4)
// 36 L37 (P5.5)
// 37 L38 (P5.6)
// 38 L39 (P5.7)
//
Cen Fang
// Wei Zhao
// Texas Instruments Inc.
// 2013年10月
//使用 IAR 嵌入式工作平台 v5.60和 Code Composer Studio v5.5构建
//*********
#include 

#define pos1 4. //数字 A1 - L4
#define pos2 6. //数字 A2 - L6
#define pos3 8. //数字 A3 - L8
#define pos4 10. //数字 A4 - L10
#define pos5 2. //数字 A5 - L2
#define pos6 18. //数字 A6 - L18

const char digit[10]=
{
0xFC、 //"0"
0x60、 //"1"
0xDB、 //"2"
0xF3、 //"3"
0x67、 //"4"
0xB7、 //"5"
0xBF、 //"6"
0xE4、 //"7"
0xFF、 //"8"
0xF7 //"9"
};

int main( void ){

WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器

//配置 XT1振荡器
P4SEL0 |= BIT1 | BIT2; // P4.2~P4.1:晶振引脚
操作
{
CSCTL7 &=~(XT1OFFG | DCOFFG); //清除 XT1和 DCO 故障标志
SFRIFG1 &=~OFIFG;
} while (SFRIFG1和 OFIFG); //测试振荡器故障标志
CSCTL6 =(CSCTL6 &~(XT1DRIVE_3))| XT1DRIVE_2; // XT1振荡器的驱动强度和电流消耗更高


//禁用 GPIO 上电默认高阻抗模式
//激活先前配置的端口设置
PM5CTL0 &=~LOCKLPM5;

//配置 LCD 引脚
SYSCFG2 |= LCDPCTL; //选择 R13/R23/R33/LCDCAP0/LCDCAP1引脚

LCDPCTL0 = 0xFFFF;
LCDPCTL1 = 0x07FF;
LCDPCTL2 = 0x00F0; //选择 L0~L26和 L36~L39引脚

LCDCTL0 = LCDSSEL_0 | LCDDIV_7; // flcd ref freq 为 xtclk

// LCD 操作-模式3,内部3.08v,电荷泵256Hz
LCDVCTL = LCDCPEN | LCDREFEN | VLCD_6 |(LCDCPFSEL0 | LCDCPFSEL1 | LCDCPFSEL2 | LCDCPFSEL3);

LCDMEMCTL |= LCDCLRM; //清除 LCD 内存

LCDCSSEL0 = 0x000F; //配置 COM 和 SEG
LCDCSSEL1 = 0x0000; // L0、L1、L2、L3:COM 引脚
LCDCSSEL2 = 0x0000;

LCDM0 = 0x21; // L0 = COM0、L1 = COM1
LCDM1 = 0x84; // L2 = COM2、L3 = COM3

//显示“123456”
LCDMEM[pos1]=位[1];
LCDMEM[pos2]=数字[2];
LCDMEM[pos3]= digit[3];
LCDMEM[pos4]=数字[4];
LCDMEM[pos5]= digit[5];
LCDMEM[pos6]= digit[6];

LCDCTL0 |= LCD4MUX | LCDON; //打开 LCD,选择4路复用

PMMCTL0_H = PMMPW_H; //打开 PMM 寄存器进行写入
PMMCTL0_L |= PMMREGOFF; //并设置 PMMREGOFF

_bis_SR_register (LPM3_bits | GIE); //输入 LPM3.5
__no_operation(); //对于调试器
}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rudnik、

    您可以在 MSP430FR4xx_2xx 系列用户指南 (请参阅第17.3.5节)和 MSP430FR4133数据表中找到这些寄存器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dennis:

    感谢您的指示。 我没有找到该用户指南。 这是我所缺少的。