1535|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

MSP430 LCD控制器解释 [复制链接]

CC430F613x的LCD控制器最多能控制160段。
The LCD_B controller features are:
• Display memory
• Automatic signal generation
• Configurable frame frequency
• Blinking of individual segments with separate blinking memory
• Regulated charge pump
• Contrast control by software
• Support for four types of LCDs
– Static
– 2-mux, 1/2 bias or 1/3 bias
– 3-mux, 1/2 bias or 1/3 bias
– 4-mux, 1/2 bias or 1/3 bias
把每一段映射到一个位(bit),比如LCDM1的每一个位(bit)都对应一个段。这样有20个寄存器每个有8个位,所以能映射20*8=160段。

上图是个静态驱动示意图,所谓静态就是只有一个公共端(COM0),这样公共端就不需要切换了。


[cpp] view plain copy


  • //******************************************************************************  
  • //  eZ430 chronos hello world  
  • //  Description: initializes lcd module and shows the string 'hi earth' on the  
  • //               lcd display becuase 'hello world' is too long  
  • //  Author: Felix Genicio  
  • //******************************************************************************  
  •   
  • #include  "cc430x613x.h"  
  • #include   
  •   
  • void main(void)  
  • {  
  •     unsigned char * lcdmem;  
  •   
  •     // Clear entire display memory  
  •     LCDBMEMCTL |= LCDCLRBM + LCDCLRM;//清除LCD闪烁内存、清除LCD内存  
  •   
  •     // LCD_FREQ = ACLK/16/8 = 256Hz,其中ACLK=32768Hz  
  •     // Frame frequency = 256Hz/4 = 64Hz, LCD mux 4, LCD on  
  •     LCDBCTL0 = (LCDDIV0 + LCDDIV1 + LCDDIV2 + LCDDIV3) | (LCDPRE0 + LCDPRE1) | LCD4MUX | LCDON;  
  •   
  •     // LCB_BLK_FREQ = ACLK/8/4096 = 1Hz ,闪烁失能  
  •     LCDBBLKCTL = (LCDBLKDIV0 + LCDBLKDIV1 + LCDBLKDIV2)|(LCDBLKPRE0 + LCDBLKPRE1) |  LCDBLKMOD0;  
  •   
  •     // I/O to COM outputs  
  •     P5SEL |= (BIT5 | BIT6 | BIT7);  
  •     P5DIR |= (BIT5 | BIT6 | BIT7);  
  •   
  •     // Activate LCD output  
  •     LCDBPCTL0 = 0xFFFF;  // Select LCD segments S0-S15  
  •     LCDBPCTL1 = 0x00FF;  // Select LCD segments S16-S22  
  •   
  •     // LCD_B Base Address is 0A00H page 30 y in SALS554 document  
  •     // show 'h'  
  •     lcdmem  = (unsigned char *)0x0A21;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT2+BIT1+BIT6+BIT0));  
  •     // show 'i'  
  •     lcdmem  = (unsigned char *)0x0A22;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT2));  
  •     // show 'E'  
  •     lcdmem  = (unsigned char *)0x0A2B;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT0+BIT3));  
  •     // show 'A'  
  •     lcdmem  = (unsigned char *)0x0A2A;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT0+BIT1+BIT2+BIT4+BIT5+BIT6));  
  •     // show 'r'  
  •     lcdmem  = (unsigned char *)0x0A29;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT6+BIT5));  
  •     // show 't'  
  •     lcdmem  = (unsigned char *)0x0A28;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT3));  
  •     // show 'h'  
  •     lcdmem  = (unsigned char *)0x0A27;  
  •     *lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT2));  
  •   
  •   __no_operation();  // For debugger  
  • }  



 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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