在这个程序中的作用是干啥滴

2019-07-19 16:13发布


/***************************************************
程序功能:动态显示文字“welcome”
----------------------------------------------------
拨码开关设置:将LCD位拨至ON,其余拨至OFF
测试说明:观察液晶显示
****************************************************/
#include  <msp430.h>
#include  "Cry1602.h"
#include  "Cry1602.c"

uchar *s1 = "welcome!";

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;  

    uchar i;
    WDTCTL = WDT_ADLY_250;               //间隔定时器,定时16ms
    P6DIR |= BIT2; P6OUT |= BIT2;         //关闭电平转换

    LcdReset();
    DispStr(4,0,s1);
    LocateXY(0,9);                      //确定写入字符的显示位置
    LcdWriteCommand(0x07, 1);           //整体显示左移
    for(i = 12; i > 0; i--)
    {
        LcdWriteData(0x20);
        //延时250ms
        IFG1 &= ~WDTIFG;
        while(!(IFG1 & WDTIFG));
        IFG1 &= ~WDTIFG;
    }
    while(1)
    {
        LcdWriteCommand(0x05, 1);           //整体显示右移

        for(i = 24; i > 0; i--)  
        {
            LcdWriteData(0x20);
            //延时250ms
            IFG1 &= ~WDTIFG;
            while(!(IFG1 & WDTIFG));
            IFG1 &= ~WDTIFG;
        }


        LcdWriteCommand(0x07, 1);           //整体显示左移

        for(i = 24; i > 0; i--)
        {
            LcdWriteData(0x20);
            //延时250ms
            IFG1 &= ~WDTIFG;
            while(!(IFG1 & WDTIFG));
            IFG1 &= ~WDTIFG;
        }
    }   
}
为什么要用  WDTCTL = WDT_ADLY_250;               //间隔定时器,定时16ms
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
dengdc
1楼-- · 2019-07-19 16:59
定时器
heweibig
2楼-- · 2019-07-19 20:51
IFG1 &= ~WDTIFG;
            while(!(IFG1 & WDTIFG));
            IFG1 &= ~WDTIFG;
wuhany
3楼-- · 2019-07-20 01:49
 精彩回答 2  元偷偷看……
lizye
4楼-- · 2019-07-20 03:33
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位
febgxu
5楼-- · 2019-07-20 04:27
看门狗,防止程序跑飞。
febgxu
6楼-- · 2019-07-20 05:26
这个的复位电路怎么样

一周热门 更多>