RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

定時(shí)器寄存器配置的跑馬燈程序

算法&編程學(xué)院 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師3 ? 2018-04-20 08:26 ? 次閱讀

跑馬燈是一種電腦編程工具,利用涂鴉等效果顯示文字。電腦中的跑馬燈,跑馬燈在編程中,通常指有時(shí)需要用一矩形條顯示少量用戶特別關(guān)心的信息,這條信息串首尾相連,向一個(gè)方向循環(huán)滾動(dòng)。證券業(yè)中常用“跑馬燈”來顯示不斷變化的股票行情;實(shí)際應(yīng)用中也常通過“跑馬燈”來監(jiān)視是否死機(jī)。一般是指各種發(fā)光二極管,如主板和主機(jī)箱上的指示燈。開機(jī)后用來指示各種工作狀態(tài)。

這個(gè)例子主要還是熟悉有關(guān)定時(shí)器A的寄存器配置以及IAR的配置方式。

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

程序功能:實(shí)現(xiàn)流水燈以三種流動(dòng)方式和四種流動(dòng)速度

的不同組合而進(jìn)行點(diǎn)亮“流動(dòng)”

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

撥碼開關(guān)設(shè)置:將LED位撥至ON,其余撥至OFF

測(cè)試說明:觀察流水燈流動(dòng)順序和速度的變化

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

#include 《msp430x14x.h》

typedef unsigned int uint;

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

uint flag = 0,speed = 0; //flag--燈光流動(dòng)方式,speed--燈光流動(dòng)速度

/****************主函數(shù)****************/

void main(void)

{

/*下面六行程序關(guān)閉所有的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; //關(guān)閉看門狗

P6DIR |= BIT2;P6OUT |= BIT2; //關(guān)閉電平轉(zhuǎn)換

P5OUT &= ~BIT7;

CCTL0 = CCIE; //使能CCR0中斷

CCR0 = 50000;

TACTL = TASSEL_2 + ID_3 + MC_1; //定時(shí)器A的時(shí)鐘源選擇SMCLK,8分頻增計(jì)數(shù)模式

P2DIR = 0xff; //設(shè)置P2口方向?yàn)檩敵?/p>

P2OUT = 0xff;

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

LPM0; //CPU進(jìn)入LPM0模式各時(shí)鐘全部工作

}

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

函數(shù)名稱:Timer_A

功 能:定時(shí)器A的中斷服務(wù)函數(shù),在這里通過標(biāo)志

控制流水燈的流動(dòng)方向和流動(dòng)速度

參 數(shù):無

返回值 :無

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

#pragma vector = TIMERA0_VECTOR

__interrupt void Timer_A (void)

{

if(flag == 0)

{

P2OUT = ~(0x80》》(i++)); //燈的點(diǎn)亮順序D8 -》 D1

}

else if(flag == 1)

{

P2OUT = ~(0x01《《(i++)); //燈的點(diǎn)亮順序D1 -》 D8

}

else

{

if(dir) //燈的點(diǎn)亮順序 D8 -》 D1,D1 -》 D8,循環(huán)繞圈

{

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)//根據(jù)speed的值來選擇相應(yīng)的速度,速度的選擇主要通過改變分頻來實(shí)現(xiàn)

{

case 0:

TACTL &=~ (ID0 + ID1);//這個(gè)地方其實(shí)沒必要,意思是清零TACTL的78兩位

//ID1的值是0x0080 ID2的值是0x0040通過計(jì)算就可以得出

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;

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3246

    瀏覽量

    114715
  • 跑馬燈
    +關(guān)注

    關(guān)注

    5

    文章

    117

    瀏覽量

    34773
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于STM32寄存器跑馬燈的實(shí)例講解

    開始執(zhí)行,而一個(gè)功能的實(shí)現(xiàn)之前都需要做一些準(zhǔn)備工作,當(dāng)然跑馬燈也不例外,在程序執(zhí)行前,IO需要初始化,而初始化要做的就是對(duì)程序需要用到的GPIO的寄存器進(jìn)行
    發(fā)表于 07-02 05:18

    定時(shí)器控制led跑馬燈的方法

    定時(shí)器控制led跑馬燈概述1.1 資源概述開發(fā)板:正點(diǎn)原子STM32F103zet6精英開發(fā)板控芯片型號(hào):STM32F103ZET6開發(fā)板資料下載地址:http://www.openedv.com
    發(fā)表于 02-07 09:04

    自動(dòng)變速的跑馬燈試驗(yàn)

    自動(dòng)變速的跑馬燈試驗(yàn) 這一課,我們?nèi)匀皇褂蒙弦粋€(gè)定時(shí)器跑馬燈工作方式,但是我們讓跑動(dòng)的速度自動(dòng)變化,從慢到快。相對(duì)于
    發(fā)表于 08-09 10:37 ?1205次閱讀

    定時(shí)器中斷跑馬燈

    定時(shí)器中斷跑馬燈 這里我們用定時(shí)器方式再次實(shí)現(xiàn),定時(shí)器方式有效率高,定時(shí)準(zhǔn)確等優(yōu)點(diǎn)。一個(gè)編程經(jīng)驗(yàn)是,所有的中斷都要盡
    發(fā)表于 08-09 22:58 ?5996次閱讀

    左右跑馬燈【匯編版】

    左右跑馬燈【匯編版】左右跑馬燈【匯編版】左右跑馬燈【匯編版】
    發(fā)表于 12-29 10:51 ?0次下載

    左右跑馬燈【C語言】

    左右跑馬燈【C語言】左右跑馬燈【C語言】左右跑馬燈【C語言】左右跑馬燈【C語言】
    發(fā)表于 12-29 10:50 ?7次下載

    跑馬燈程序【匯編版1】

    跑馬燈程序【匯編版1】跑馬燈程序【匯編版1】跑馬燈程序【匯編版1】
    發(fā)表于 12-29 10:50 ?0次下載

    跑馬燈程序【匯編版2】

    跑馬燈程序【匯編版2】跑馬燈程序【匯編版2】跑馬燈程序【匯編版2】
    發(fā)表于 12-29 10:49 ?0次下載

    跑馬燈程序【C語言版】

    跑馬燈程序【C語言版】跑馬燈程序【C語言版】跑馬燈程序【C語言版】
    發(fā)表于 12-29 10:59 ?0次下載

    跑馬燈

    跑馬燈設(shè)計(jì),51單片機(jī)C語言程序,調(diào)試成功可運(yùn)行。
    發(fā)表于 05-09 09:41 ?5次下載

    nios_ii跑馬燈程序

    硬件開發(fā)板——nios_ii的基本的跑馬燈程序
    發(fā)表于 07-06 15:14 ?2次下載

    基于單片機(jī)的跑馬燈程序及電路設(shè)計(jì)

    基于單片機(jī)的跑馬燈程序及電路設(shè)計(jì)
    發(fā)表于 05-15 10:07 ?39次下載

    js實(shí)現(xiàn)無縫跑馬燈效果(圖片輪播滾動(dòng)跑馬燈效果)

    介紹了js實(shí)現(xiàn)無縫跑馬燈效果以及使用JS實(shí)現(xiàn)圖片輪播滾動(dòng)跑馬燈效果,小編分享了程序示例供大家參考,有需要的小伙伴可以看看。
    發(fā)表于 12-18 14:12 ?4.7w次閱讀

    定時(shí)器控制led跑馬燈

    定時(shí)器控制led跑馬燈
    發(fā)表于 12-04 11:36 ?19次下載
    <b class='flag-5'>定時(shí)器</b>控制led<b class='flag-5'>跑馬燈</b>

    跑馬燈控制怎么接線

    跑馬燈控制:又稱 LED跑馬燈控制,可以控制LED全彩燈、LED全彩燈帶,顯示跑馬燈的效果。
    的頭像 發(fā)表于 09-19 16:45 ?1.2w次閱讀
    RM新时代网站-首页