基于MSP430单片机的液晶LCD048应用程序
时间:12-02
来源:互联网
点击:
TI公司MSP430系列单片机是一种超低功耗的混合信号控制器,其中包括一系列器件,它们针对不用的应用由不同的模块组成。其中FLASH系列使高效电子系统变得轻巧,FLASH存储器也具有很强的灵活性。同时为了在低频率振荡器的驱动下得到较高的稳定频率,某些MSP430器件上使用了锁频技术FLL或增强型锁频环技术FLL+。如MSP430F425的时钟模块中使用了FLL+技术,这样可以得到稳定的频率。
液晶驱动
MSP430器件上的液晶显示器的控制/驱动将简化液晶显示器的显示。不同型号的液晶驱动能力不同,我们采用 MSP430的F42X系列,有128段驱动能力。
液晶的驱动有4种方法:静态,2MUX或1/2占空比,3MUX或1/3占空比, 4MUX或1/4占空比。对于不同系列、不同型号的液晶驱动原理,控制方法都是一样的,不同点在于驱动液晶段数不一样,或可显示信息的多少不一样。我们采用4MUX,这种方式也最简单。
其中需要注意以下两点:
(1)液晶的偏压。由于液晶驱动使用交流电压,所以必须根据液晶的工作模MSP430进行偏压设置,具体的操作是:STATIC模式下,R33开路,R03-R23接地,2MUX模式下,分别在R33、R13以及R13、R03之间接上 10K的电阻;3/4MUX模式下,分别在R33、R23之间,R23、R13以及R13、R03之间接上10K的电阻,这样就能保证COM0-COM3 出来供给液晶块的电压符合要求。
(2)频率的设置。MSP430有三种时钟ACLK(辅助时钟)、MCLK(主时钟)、SMCLK(子时钟),其中液晶的驱动频率FCLK来自ACLK。在XTIN和XTOUT之间接上振荡频率为32KHz的晶振,Fclk可以根据需要选为1024Hz、512Hz、256Hz、128Hz等。由FRFQ0和FRFQ1的设置可以满足不同液晶对频率的要求,其中Flcd=2*MUX(rate)*F(framing)。
例如:采用3MUX,已知F(framing)=100Hz-30Hz,
由F(LCD)=2*MUX(rate)*F(framing)=6*F(framing),
可知F(LCD)=180Hz-600Hz。可选择的F(LCD)为1024Hz、512Hz、256Hz、128Hz,所以F(LCD)=32K/128=256Hz,所以FRFQ0=1、FRFQ1=0。
在以上两点做好的基础上,我们只要把要输出的数字所对应的代码输出到MSP430的显存就可以显示。实验中如液晶抖动,可适当提高液晶的驱动频率。如液晶亮度不够,应适当调整偏压电阻的大小。
在驱动电路中,液晶可以等效为电容。两个电极分别为公共极与段极。公共极由CMOn信号驱动,段极由SEGn信号驱动。由此可以得到4种驱动方法。
(1)静态驱动:使用一个引脚作为液晶公共端COM0,而每一段段极需要另一个引脚驱动。
(2)2MUX驱动:使用两个引脚作为液晶公共端COM0、COM1每两段段极需要另一引脚驱动。
(3)3MUX驱动:使用三个引脚作为液晶公共端COM0、COM1、COM2,每3段段极需要另一引脚驱动。
(4)4MUX驱动:使用4个引脚作为液晶公共端COM0、COM1、COM2,每4段段极需要另一引脚驱动。
LCD048的资料
显示“123456”程序
#include
const char digit[10] =
{
0x7B,// "0" LCD segments a+b+c+d+e+f lcd= lsd048
0x12,// "1"
0x4F,// "2"
0x1F,// "3"
0x36,// "4"
0x3D,// "5"
0x7D,// "6"
0x13,// "7"
0x7F,// "8"
0x3F // "9"
};
char *LCD=LCDMEM;
void main(void)
{
int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
for (i = 0; i < 10000; i++); // Delay for 32 kHz crystal to
LCDCTL = 0x03d; // 4-Mux LCD, segments S0-S15
BTCTL= BTFRFQ1; // Set freqLCD = ACLK/128
for (i=0;i<6;i++)
{
LCD[ i]=0;
}
for(i=1;i<7;i++)
LCD[ i]=digit[ i];
}
液晶驱动
MSP430器件上的液晶显示器的控制/驱动将简化液晶显示器的显示。不同型号的液晶驱动能力不同,我们采用 MSP430的F42X系列,有128段驱动能力。
液晶的驱动有4种方法:静态,2MUX或1/2占空比,3MUX或1/3占空比, 4MUX或1/4占空比。对于不同系列、不同型号的液晶驱动原理,控制方法都是一样的,不同点在于驱动液晶段数不一样,或可显示信息的多少不一样。我们采用4MUX,这种方式也最简单。
其中需要注意以下两点:
(1)液晶的偏压。由于液晶驱动使用交流电压,所以必须根据液晶的工作模MSP430进行偏压设置,具体的操作是:STATIC模式下,R33开路,R03-R23接地,2MUX模式下,分别在R33、R13以及R13、R03之间接上 10K的电阻;3/4MUX模式下,分别在R33、R23之间,R23、R13以及R13、R03之间接上10K的电阻,这样就能保证COM0-COM3 出来供给液晶块的电压符合要求。
(2)频率的设置。MSP430有三种时钟ACLK(辅助时钟)、MCLK(主时钟)、SMCLK(子时钟),其中液晶的驱动频率FCLK来自ACLK。在XTIN和XTOUT之间接上振荡频率为32KHz的晶振,Fclk可以根据需要选为1024Hz、512Hz、256Hz、128Hz等。由FRFQ0和FRFQ1的设置可以满足不同液晶对频率的要求,其中Flcd=2*MUX(rate)*F(framing)。
例如:采用3MUX,已知F(framing)=100Hz-30Hz,
由F(LCD)=2*MUX(rate)*F(framing)=6*F(framing),
可知F(LCD)=180Hz-600Hz。可选择的F(LCD)为1024Hz、512Hz、256Hz、128Hz,所以F(LCD)=32K/128=256Hz,所以FRFQ0=1、FRFQ1=0。
在以上两点做好的基础上,我们只要把要输出的数字所对应的代码输出到MSP430的显存就可以显示。实验中如液晶抖动,可适当提高液晶的驱动频率。如液晶亮度不够,应适当调整偏压电阻的大小。
在驱动电路中,液晶可以等效为电容。两个电极分别为公共极与段极。公共极由CMOn信号驱动,段极由SEGn信号驱动。由此可以得到4种驱动方法。
(1)静态驱动:使用一个引脚作为液晶公共端COM0,而每一段段极需要另一个引脚驱动。
(2)2MUX驱动:使用两个引脚作为液晶公共端COM0、COM1每两段段极需要另一引脚驱动。
(3)3MUX驱动:使用三个引脚作为液晶公共端COM0、COM1、COM2,每3段段极需要另一引脚驱动。
(4)4MUX驱动:使用4个引脚作为液晶公共端COM0、COM1、COM2,每4段段极需要另一引脚驱动。
LCD048的资料
显示“123456”程序
#include
const char digit[10] =
{
0x7B,// "0" LCD segments a+b+c+d+e+f lcd= lsd048
0x12,// "1"
0x4F,// "2"
0x1F,// "3"
0x36,// "4"
0x3D,// "5"
0x7D,// "6"
0x13,// "7"
0x7F,// "8"
0x3F // "9"
};
char *LCD=LCDMEM;
void main(void)
{
int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
for (i = 0; i < 10000; i++); // Delay for 32 kHz crystal to
LCDCTL = 0x03d; // 4-Mux LCD, segments S0-S15
BTCTL= BTFRFQ1; // Set freqLCD = ACLK/128
for (i=0;i<6;i++)
{
LCD[ i]=0;
}
for(i=1;i<7;i++)
LCD[ i]=digit[ i];
}
MSP430单片机液晶LCD04 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)