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

[复制链接]
1545|30
 楼主| lizye 发表于 2019-3-8 14:20 | 显示全部楼层 |阅读模式


/***************************************************
程序功能:动态显示文字“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
dengdc 发表于 2019-3-8 14:25 | 显示全部楼层

定时器
heweibig 发表于 2019-3-8 14:27 | 显示全部楼层

IFG1 &= ~WDTIFG;
            while(!(IFG1 & WDTIFG));
            IFG1 &= ~WDTIFG;
wuhany 发表于 2019-3-8 14:30 | 显示全部楼层
在等待时间呢
heweibig 发表于 2019-3-8 14:34 | 显示全部楼层
看门狗,防止程序跑飞。
shimx 发表于 2019-3-8 14:37 | 显示全部楼层

这个的复位电路怎么样
shimx 发表于 2019-3-8 14:40 | 显示全部楼层
这是看门狗的程序喂狗的
spark周 发表于 2019-3-8 14:43 | 显示全部楼层

楼主这是设置了看门狗中断了吗?
yszong 发表于 2019-3-8 14:47 | 显示全部楼层

等待延时,延时精确。
wuhany 发表于 2019-3-8 14:49 | 显示全部楼层
楼主也可以通过定时器实现。
 楼主| lizye 发表于 2019-3-8 14:53 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先        
cxcdcfcv 发表于 2019-3-8 15:31 | 显示全部楼层
这应该是测试LCD显示的例程吧
aspoke 发表于 2019-3-8 17:03 | 显示全部楼层
看门狗配置成0.25秒溢出中断(定时中断)模式
232321122 发表于 2019-3-8 17:04 | 显示全部楼层
将看门口定时器配置为"间隔定时模式"
ghuca 发表于 2019-3-8 17:05 | 显示全部楼层
将看门狗配置为相应的定时时间
soodesyt 发表于 2019-3-8 17:05 | 显示全部楼层
使能寄存器中相应的WDT中断位
mnynt121 发表于 2019-3-8 17:06 | 显示全部楼层
看门狗配置成0.25秒溢出
plsbackup 发表于 2019-3-8 17:06 | 显示全部楼层
简单的延时而已,这个看运算的结果。                        
kmzuaz 发表于 2019-3-8 17:07 | 显示全部楼层
是在头文件里定义的      
updownq 发表于 2019-3-8 17:07 | 显示全部楼层
能实现250延时呢            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

9757

帖子

2

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