ZHCACZ6A october   2012  – august 2023 CC430F5123 , CC430F5125 , CC430F5133 , CC430F5135 , CC430F5137 , CC430F5143 , CC430F5145 , CC430F5147 , CC430F6125 , CC430F6126 , CC430F6127 , CC430F6135 , CC430F6137 , CC430F6147 , MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430BT5190 , MSP430F1101A , MSP430F1111A , MSP430F1121A , MSP430F1122 , MSP430F1132 , MSP430F122 , MSP430F1222 , MSP430F123 , MSP430F1232 , MSP430F133 , MSP430F135 , MSP430F147 , MSP430F1471 , MSP430F148 , MSP430F1481 , MSP430F149 , MSP430F1491 , MSP430F155 , MSP430F156 , MSP430F157 , MSP430F1610 , MSP430F1611 , MSP430F1612 , MSP430F167 , MSP430F168 , MSP430F169 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2013-EP , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2254 , MSP430F2272 , MSP430F2274 , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430F412 , MSP430F413 , MSP430F4132 , MSP430F415 , MSP430F4152 , MSP430F417 , MSP430F423 , MSP430F423A , MSP430F425 , MSP430F4250 , MSP430F425A , MSP430F4260 , MSP430F427 , MSP430F4270 , MSP430F427A , MSP430F435 , MSP430F4351 , MSP430F436 , MSP430F4361 , MSP430F437 , MSP430F4371 , MSP430F438 , MSP430F439 , MSP430F447 , MSP430F448 , MSP430F4481 , MSP430F449 , MSP430F4491 , MSP430F4616 , MSP430F46161 , MSP430F4617 , MSP430F46171 , MSP430F4618 , MSP430F46181 , MSP430F4619 , MSP430F46191 , MSP430F47126 , MSP430F47127 , MSP430F47163 , MSP430F47166 , MSP430F47167 , MSP430F47173 , MSP430F47176 , MSP430F47177 , MSP430F47183 , MSP430F47186 , MSP430F47187 , MSP430F47193 , MSP430F47196 , MSP430F47197 , MSP430F477 , MSP430F478 , MSP430F4783 , MSP430F4784 , MSP430F479 , MSP430F4793 , MSP430F4794 , MSP430F5212 , MSP430F5214 , MSP430F5217 , MSP430F5219 , MSP430F5222 , MSP430F5224 , MSP430F5229 , MSP430F5232 , MSP430F5234 , MSP430F5237 , MSP430F5239 , MSP430F5242 , MSP430F5244 , MSP430F5247 , MSP430F5249 , MSP430F5252 , MSP430F5253 , MSP430F5254 , MSP430F5255 , MSP430F5256 , MSP430F5257 , MSP430F5258 , MSP430F5259 , MSP430F5304 , MSP430F5308 , MSP430F5309 , MSP430F5310 , MSP430F5324 , MSP430F5325 , MSP430F5326 , MSP430F5327 , MSP430F5328 , MSP430F5329 , MSP430F5333 , MSP430F5335 , MSP430F5336 , MSP430F5338 , MSP430F5340 , MSP430F5341 , MSP430F5342 , MSP430F5418 , MSP430F5418A , MSP430F5419 , MSP430F5419A , MSP430F5435 , MSP430F5435A , MSP430F5436 , MSP430F5436A , MSP430F5437 , MSP430F5437A , MSP430F5438 , MSP430F5438A , MSP430F5500 , MSP430F5501 , MSP430F5502 , MSP430F5503 , MSP430F5504 , MSP430F5505 , MSP430F5506 , MSP430F5507 , MSP430F5508 , MSP430F5509 , MSP430F5510 , MSP430F5630 , MSP430F5631 , MSP430F5632 , MSP430F5633 , MSP430F5634 , MSP430F5635 , MSP430F5636 , MSP430F5637 , MSP430F5638 , MSP430F6433 , MSP430F6435 , MSP430F6436 , MSP430F6438 , MSP430F6630 , MSP430F6631 , MSP430F6632 , MSP430F6633 , MSP430F6634 , MSP430F6635 , MSP430F6636 , MSP430F6637 , MSP430F6638 , MSP430F6659 , MSP430F6779 , MSP430FE423 , MSP430FE4232 , MSP430FE423A , MSP430FE4242 , MSP430FE425 , MSP430FE4252 , MSP430FE425A , MSP430FE427 , MSP430FE4272 , MSP430FE427A , MSP430FG4250 , MSP430FG4260 , MSP430FG4270 , MSP430FG4616 , MSP430FG4617 , MSP430FG4618 , MSP430FG4619 , MSP430FG477 , MSP430FG478 , MSP430FG479 , MSP430FR5720 , MSP430FR5721 , MSP430FR5722 , MSP430FR5723 , MSP430FR5724 , MSP430FR5725 , MSP430FR5726 , MSP430FR5727 , MSP430FR5728 , MSP430FR5729 , MSP430FR5730 , MSP430FR5731 , MSP430FR5732 , MSP430FR5733 , MSP430FR5734 , MSP430FR5735 , MSP430FR5736 , MSP430FR5737 , MSP430FR5738 , MSP430FR5739 , MSP430FW423 , MSP430FW425 , MSP430FW427 , MSP430FW428 , MSP430FW429 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2202 , MSP430G2203 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2231 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2553 , MSP430G2955 , MSP430L092

 

  1.   1
  2.   使用 MSP430 图形库时的设计注意事项
  3.   商标
  4. 1MSP430 图形库简介
  5. 2系统概述
  6. 3硬件实现 - LCD 总线类型
    1. 3.1 并行总线
    2. 3.2 SPI 总线
  7. 4软件实现 - LCD 显示驱动程序层
    1. 4.1 驱动程序层组件
    2. 4.2 创建新的 LCD 驱动程序文件
    3. 4.3 优化 LCD 显示驱动程序层以提高速度
      1. 4.3.1 利用 LCD 控制器的功能
      2. 4.3.2 编码优化
    4. 4.4 MSP430 图形库中的图像
      1. 4.4.1 映像格式
      2. 4.4.2 图像转换
      3. 4.4.3 MSP430 图像重整工具
      4. 4.4.4 调色板转换
      5. 4.4.5 压缩类型
        1. 4.4.5.1 压缩 16 种或更少颜色的图像
        2. 4.4.5.2 压缩 256 色图像
        3. 4.4.5.3 选择压缩类型
  8. 5设计示例
    1. 5.1 硬件实现
    2. 5.2 总线比较
    3. 5.3 软件实现
  9. 6参考文献
  10. 7修订历史记录

利用 LCD 控制器的功能

为了全面优化 LCD 显示驱动程序层,需要充分了解 LCD 控制器的不同选项和功能。当将 MSP430 连接到更复杂的图形 LCD 时,此步骤尤为重要。LCD 显示驱动程序的效率直接影响 MSP430 图形库中每个图形基元的绘制速度。即使是消除一个指令,也会对绘制速度产生重大影响,因为系统会针对绘制的每个像素调用 LCD 驱动程序层函数。

在优化 LCD 驱动程序层方面,一种有效的技术是利用 LCD 控制器的自动递增功能。并非每个 LCD 控制器都具有此功能,但该功能很常见。

启用 LCD 控制器的自动递增功能后,微控制器可以简单地流式传输数据,而不是在每次数据写入之前重置像素位置。这听起来像是一个很小的改变,但会对利用它的功能的绘制速度产生重大影响。

从一个简化的示例就可以看出自动递增功能的重要性。绘制水平线时,一个简单的选择是循环并重复调用绘制像素函数。这种方法可行,但绘制像素函数需要设置光标位置,然后将像素数据写入 LCD。该实现显示在下方的左侧。或者,可以使用自动递增功能,并且光标位置只设置一次,因为它会在像素数据写入之后由 LCD 控制器自动递增。该实现显示在下方的右侧。

DrawHorizLine(x1, x2, y, color)               DrawHorizLineOptimized(x1, x2, y, color)
{                                             {
   While(x1++ <= x2)                             SetCursorLocation(x1, y);
   {                                             While(x1++ <= x2)
      SetCursorLocation(x1, y);                  {
      WriteDataToLCD(color);                        WriteDataToLCD(color);
   }                                             }
}                                             }

本例中假定 SetCursorLocation() 需要 20 个时钟周期,WriteDataToLCD() 需要 5 个时钟周期。

总时钟周期 = (x2 – x1 + 1) * 25总时钟周期 = 20 + (x2 – x1 + 1) * 5

如果忽略初始 SetCursorLocation() 的小开销,右侧的速度是左侧的五倍。通过一个简单的小改动,现在所有水平线的绘制速度都是原来的五倍。虽然这是一个简化的示例,但它说明了充分利用 LCD 控制器的自动递增功能可以真正获益。只要可能,应在整个 LCD 显示驱动程序中使用此功能。

自动递增功能是一个很好的优化工具,但许多 LCD 还具有其他内置功能可供使用。其他功能包括清屏、翻转像素极性、转动屏幕方向等。这些功能内置在一些 LCD 控制器中,由于控制器通常提供了原本需要写入应用程序层或驱动程序层的功能,因此绘制每个像素需要更多的周期时间并减慢了绘制速度。