动画显示

[复制链接]
755|6
 楼主| zya888 发表于 2016-1-31 17:39 | 显示全部楼层 |阅读模式

    动画是无所谓有,无所谓无的,静止的画面走的路多了,也就成了动画。随着时间的变更,在屏幕上显示不同的静止画面,即是动画之本质。所以,在一个嵌入式系统的LCD上欲显示动画,必须借助定时器。没有硬件或软件定时器的世界是无法想像的:
quangg 发表于 2016-1-31 17:40 | 显示全部楼层
没有定时器,一个操作系统将无法进行时间片的轮转,于是无法进行多任务的调度,于是便不再成其为一个多任务操作系统;
quangg 发表于 2016-1-31 17:41 | 显示全部楼层
没有定时器,一个多媒体播放软件将无法运作,因为它不知道何时应该切换到下一帧画面;
 楼主| zya888 发表于 2016-1-31 17:41 | 显示全部楼层
没有定时器,一个网络协议将无法运转,因为其无法获知何时包传输超时并重传之,无法在特定的时间完成特定的任务。
quangg 发表于 2016-1-31 17:42 | 显示全部楼层
因此,没有定时器将意味着没有操作系统、没有网络、没有多媒体,这将是怎样的黑暗?所以,合理并灵活地使用各种定时器,是对一个软件人的最基本需求!
 楼主| zya888 发表于 2016-1-31 17:42 | 显示全部楼层
在80186 为主芯片的嵌入式系统中,我们需要借助硬件定时器的中断来作为软件定时器,在中断发生后变更画面的显示内容。在时间显示"xx:xx"中让冒号交替有无,每次秒中断发生后,需调用ShowDot :
 楼主| zya888 发表于 2016-1-31 17:43 | 显示全部楼层
void ShowDot()
{
  static BOOL bShowDot = TRUE; /*  再一次领略static 关键字的威力 */
  if(bShowDot)
  {
  showChar( ’: ’,xPos,yPos);
  }
  else
  {
  showChar( ’ ’,xPos,yPos);
  }
  bShowDot = ! bShowDot;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

239

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部