430 单片机的显示控制部分非常简单,直接驱动段码显示器。以msp430f4152为例,lcd的显示不是通过I/O直接驱动,而是通过一个LCDMEM存储器来控制,控制方法和I/O差不多,位字节是高电平就点亮,是低电平就熄灭。LCD存储器中每4位为一段(S0,S1...表示,共40段S40),所以一个字节能存放两个段,40段需要20个字节,091H-0A4H 范围可以存下。有4种工作模式:Static,2-mux,3-mux,4-mux。以4-mux为例,S0,S1...段的选通是通过单片机I/O口的第二引脚功能来选通,4-mux模式中段的4位都可以用,通过COM0,COM1,COM2,COM3来选择具体的每一位来点亮相应的lcd灯。
下面是一个最简单的初始化工作: #include
void main()
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
P5SEL = 0XFF;
P4SEL = 0XFF;
LCDACTL = LCDON + LCD4MUX + LCDFREQ_128; // 4mux LCD, ACLK/128
LCDAPCTL0 = 0xFF; // Segments 0-31
LCDM1=0xFF;/* LCD Memory 1 (0x0091u)*/
LCDM2=0xFF;/* LCD Memory 2 (0x0092u)*/
LCDM3=0xFF;/* LCD Memory 3 (0x0093u)*/
LCDM4=0xFF;/* LCD Memory 4 (0x0094u)*/
LCDM5=0xFF;/* LCD Memory 5 (0x0095u)*/
}//段S0,S1...的选通用LCDAPCTL0寄存器控制,com0,com1,com2,com3的选通用I/O口来选通。
|