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;

}

}

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

    关注

    30

    文章

    5020

    浏览量

    117630
  • 定时器
    +关注

    关注

    23

    文章

    3144

    浏览量

    112006
  • 跑马灯
    +关注

    关注

    5

    文章

    117

    浏览量

    34356
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    跑马灯配置流程

    目录跑马灯配置流程(战舰开发板V3)LED的初始化相应功能引脚的确定确保在文件中添加了相应库文件先建立LED硬件初始化文件并添加进项目工程中在创建好的文件中编写初始化LED硬件的程序编写main函数
    发表于 08-18 07:07

    跑马灯设计的相关资料分享

    1.跑马灯设计(音调显示)2.跑马灯设计(音调定时设计)3.呼吸灯设计4.更完善的呼吸灯设计5.NE555定时器的应用NE555触摸定时开关
    发表于 11-12 07:31

    如何利用库函数去点亮跑马灯

    用库函数点亮跑马灯-STM32F103单片机学习单片机,很基础的一个模块就是点亮跑马灯。点亮跑马灯有三种方法,分别是库函数法、寄存器法、和位操作法。本文讲库函数法。步骤如下第一步:使能
    发表于 01-12 07:52

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

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

    自动变速的跑马灯试验

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

    定时器中断跑马灯

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

    左右跑马灯【汇编版】

    左右跑马灯【汇编版】左右跑马灯【汇编版】左右跑马灯【汇编版】
    发表于 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次下载

    nios_ii跑马灯程序

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

    定时器控制led跑马灯

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