0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定时器寄存器配置的跑马灯程序

算法&编程学院 来源:网络整理 作者:工程师3 2018-04-20 08:26 次阅读

跑马灯是一种电脑编程工具,利用涂鸦等效果显示文字。电脑中的跑马灯,跑马灯在编程中,通常指有时需要用一矩形条显示少量用户特别关心的信息,这条信息串首尾相连,向一个方向循环滚动。证券业中常用“跑马灯”来显示不断变化的股票行情;实际应用中也常通过“跑马灯”来监视是否死机。一般是指各种发光二极管,如主板和主机箱上的指示灯。开机后用来指示各种工作状态。

这个例子主要还是熟悉有关定时器A的寄存器配置以及IAR的配置方式。

[cpp] view plain copy/***********************************************

程序功能:实现流水灯以三种流动方式和四种流动速度

的不同组合而进行点亮“流动”

------------------------------------------------

拨码开关设置:将LED位拨至ON,其余拨至OFF

测试说明:观察流水灯流动顺序和速度的变化

************************************************/

#include 《msp430x14x.h》

typedef unsigned int uint;

uint i = 0,j = 0,dir = 0;

uint flag = 0,speed = 0; //flag--灯光流动方式,speed--灯光流动速度

/****************主函数****************/

void main(void)

{

/*下面六行程序关闭所有的IO口*/

P1DIR = 0XFF;P1OUT = 0XFF;

P2DIR = 0XFF;P2OUT = 0XFF;

P3DIR = 0XFF;P3OUT = 0XFF;

P4DIR = 0XFF;P4OUT = 0XFF;

P5DIR = 0XFF;P5OUT = 0XFF;

P6DIR = 0XFF;P6OUT = 0XFF;

WDTCTL = WDTPW + WDTHOLD; //关闭看门狗

P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换

P5OUT &= ~BIT7;

CCTL0 = CCIE; //使能CCR0中断

CCR0 = 50000;

TACTL = TASSEL_2 + ID_3 + MC_1; //定时器A的时钟源选择SMCLK,8分频增计数模式

P2DIR = 0xff; //设置P2口方向为输出

P2OUT = 0xff;

_EINT(); //使能全局中断

LPM0; //CPU进入LPM0模式各时钟全部工作

}

/*******************************************

函数名称:Timer_A

功 能:定时器A的中断服务函数,在这里通过标志

控制流水灯的流动方向和流动速度

参 数:无

返回值 :无

********************************************/

#pragma vector = TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

if(flag == 0)

{

P2OUT = ~(0x80》》(i++)); //灯的点亮顺序D8 -》 D1

}

else if(flag == 1)

{

P2OUT = ~(0x01《《(i++)); //灯的点亮顺序D1 -》 D8

}

else

{

if(dir) //灯的点亮顺序 D8 -》 D1,D1 -》 D8,循环绕圈

{

P2OUT = ~(0x80》》(i++));

}

else

{

P2OUT = ~(0x01《《(i++));

}

}

if(i == 8)

{

i = 0;

dir = ~dir;

}

j++;

if(j == 10)

{

i = 0;

j = 0;

flag++;

if(flag == 4) flag = 0;

switch(speed)//根据speed的值来选择相应的速度,速度的选择主要通过改变分频来实现

{

case 0:

TACTL &=~ (ID0 + ID1);//这个地方其实没必要,意思是清零TACTL的78两位

//ID1的值是0x0080 ID2的值是0x0040通过计算就可以得出

TACTL |= ID_3;//改为八分频

break;

case 1:

TACTL &=~ (ID0 + ID1);

TACTL |= ID_2;

break;

case 2:

TACTL &=~ (ID0 + ID1);

TACTL |= ID_1;

break;

case 3:

TACTL &=~ (ID0 + ID1);

TACTL |= ID_0;

break;

default:

break;

}

if(flag != 3) speed++;

if(speed == 4) speed = 0;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119978
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114434
  • 跑马灯
    +关注

    关注

    5

    文章

    117

    浏览量

    34752
收藏 人收藏

    评论

    相关推荐

    基于STM32寄存器跑马灯的实例讲解

    开始执行,而一个功能的实现之前都需要做一些准备工作,当然跑马灯也不例外,在程序执行前,IO需要初始化,而初始化要做的就是对程序需要用到的GPIO的寄存器进行
    发表于 07-02 05:18

    【LabVIEW懒人系列教程-小白入门】1.15LabVIEW程序结构之跑马灯

    与余数,While循环实现运行效果如下:方法③/运用一维数组循环移位组合移位寄存器,While循环实现运行效果如下:今日总结① 顺序结构跑马灯方法②商与余数,数组替换跑马灯方法③移位寄存器
    发表于 08-05 21:29

    定时器控制led跑马灯的方法

    定时器控制led跑马灯概述1.1 资源概述开发板:正点原子STM32F103zet6精英开发板控芯片型号:STM32F103ZET6开发板资料下载地址:http://www.openedv.com
    发表于 02-07 09:04

    自动变速的跑马灯试验

    自动变速的跑马灯试验 这一课,我们仍然使用上一个定时器跑马灯工作方式,但是我们让跑动的速度自动变化,从慢到快。相对于
    发表于 08-09 10:37 1192次阅读

    定时器中断跑马灯

    定时器中断跑马灯 这里我们用定时器方式再次实现,定时器方式有效率高,定时准确等优点。一个编程经验是,所有的中断都要尽
    发表于 08-09 22:58 5967次阅读

    左右跑马灯【汇编版】

    左右跑马灯【汇编版】左右跑马灯【汇编版】左右跑马灯【汇编版】
    发表于 12-29 10:51 0次下载

    左右跑马灯【C语言】

    左右跑马灯【C语言】左右跑马灯【C语言】左右跑马灯【C语言】左右跑马灯【C语言】
    发表于 12-29 10:50 7次下载

    跑马灯程序【汇编版1】

    跑马灯程序【汇编版1】跑马灯程序【汇编版1】跑马灯程序【汇编版1】
    发表于 12-29 10:50 0次下载

    跑马灯程序【汇编版2】

    跑马灯程序【汇编版2】跑马灯程序【汇编版2】跑马灯程序【汇编版2】
    发表于 12-29 10:49 0次下载

    跑马灯程序【C语言版】

    跑马灯程序【C语言版】跑马灯程序【C语言版】跑马灯程序【C语言版】
    发表于 12-29 10:59 0次下载

    跑马灯

    跑马灯设计,51单片机C语言程序,调试成功可运行。
    发表于 05-09 09:41 5次下载

    nios_ii跑马灯程序

    硬件开发板——nios_ii的基本的跑马灯程序
    发表于 07-06 15:14 2次下载

    js实现无缝跑马灯效果(图片轮播滚动跑马灯效果)

    介绍了js实现无缝跑马灯效果以及使用JS实现图片轮播滚动跑马灯效果,小编分享了程序示例供大家参考,有需要的小伙伴可以看看。
    发表于 12-18 14:12 4.7w次阅读

    定时器控制led跑马灯

    定时器控制led跑马灯
    发表于 12-04 11:36 19次下载
    <b class='flag-5'>定时器</b>控制led<b class='flag-5'>跑马灯</b>

    跑马灯控制怎么接线

    跑马灯控制:又称 LED跑马灯控制,可以控制LED全彩灯、LED全彩灯带,显示跑马灯的效果。
    的头像 发表于 09-19 16:45 1.2w次阅读