请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR6989 工具/软件:Code Composer Studio
您好!
请参阅以下代码、我想驱动特定段在 LCD 上闪烁。 例如、"ABC"因此、"A"仅闪烁"B""C"稳定。
LCDCBLKCTL_L |= LCDBLKPRE0 | LCDBLKPRE2 | LCDBLKMOD_2; <-此寄存器功能使所有"ABC" LCD 段闪烁。
int main (void)
{
WDTCTL = WDTPW | WDTHOLD; //停止 WDT
PJSEL0 = BIT4 | BIT5; //对于 LFXT
//初始化 LCD 段0 - 21;26 - 43
LCDCPCTL0 = 0xFFFF;
LCDCPCTL1 = 0xFC3F;
LCDCPCTL2 = 0x0FFF;
//禁用 GPIO 上电默认高阻抗模式
//激活先前配置的端口设置
PM5CTL0 &=~LOCKLPM5;
//配置 LFXT 32kHz 晶振
CSCTL0_H = CSKEY >> 8; //解锁 CS 寄存器
CSCTL4 &=~LFXTOFF; //启用 LFXT
操作
{
CSCTL5 &=~LFXTOFFG; //清除 LFXT 故障标志
SFRIFG1 &=~OFIFG;
} while (SFRIFG1和 OFIFG); //测试振荡器故障标志
CSCTL0_H = 0; //锁定 CS 寄存器
//初始化 LCD_C
// ACLK、分频器= 1、预分频器= 16;4引脚 MUX
LCDCCTL0 = LCDDIV_1 | LCDPRE__16 | LCD4MUX | LCDLP;
// VLCD 在内部生成,
// V2-V4在内部生成,v5接地
//将 VLCD 电压设置为2.60v
//启用电荷泵并为其选择内部基准
LCDCVCTL = VLCD_1 | VLCDREF_0 | LCDCPEN;
LCDCCPCTL = LCDCPCLKSYNC; //时钟同步已启用
LCDCMEMCTL = LCDCLRM; //清除 LCD 内存
//此处为 Alpha 和数字段函数调用
LCDMEM[pos1]=α betBig ['U'-65][0];//U
LCDMEM[pos2]= alphabetBig ['s-65][0];/////LCDMEM[pos3]=0x3F
;// b
// LCDM14 = 0x01;
showChar ('B'、pos3);
//LCDM5=0x01;
LCDCBLKCTL_L |= LCDBLKPRE0 | LCDBLKPRE2 | LCDBLKMOD_2;//所有段的闪烁 LCD
showChar ('B'、pos4);
//打开 LCD
LCDCCTL0 |= LCDON;
_bis_SR_register (LPM3_bits | GIE);
__no_operation();
//
//返回0;
}
请为驱动特定段闪烁提供很少的解决方案。
此致、
Pratik