打印
[应用相关]

这个程序中的作用是干啥

[复制链接]
518|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laozhongyi|  楼主 | 2020-10-1 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



/***************************************************
程序功能:动态显示文字“welcome”
----------------------------------------------------
拨码开关设置:将LCD位拨至ON,其余拨至OFF
测试说明:观察液晶显示
****************************************************/
#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

使用特权

评论回复
沙发
Edisons| | 2020-10-1 20:19 | 只看该作者
IFG1 &= ~WDTIFG;
            while(!(IFG1 & WDTIFG));
            IFG1 &= ~WDTIFG;

使用特权

评论回复
板凳
zchong| | 2020-10-1 20:23 | 只看该作者
动态显示文字

使用特权

评论回复
地板
_gege| | 2020-10-1 20:24 | 只看该作者
起看门狗的作用防止程序跑飞。

使用特权

评论回复
5
Mozarts| | 2020-10-1 20:26 | 只看该作者
这是看门狗的程序喂狗的。。

使用特权

评论回复
6
Listate| | 2020-10-1 20:31 | 只看该作者
这应该是测试LCD显示的例程吧。。。

使用特权

评论回复
7
bbapple| | 2020-10-1 20:33 | 只看该作者
看门狗配置成0.25秒溢出中断(定时中断)模式。

使用特权

评论回复
8
handleMessage| | 2020-10-1 20:38 | 只看该作者
将看门口定时器配置为"间隔定时模式"。。

使用特权

评论回复
9
zhouhuanの| | 2020-10-1 20:39 | 只看该作者
将看门狗配置为相应的定时时间吧

使用特权

评论回复
10
feiqi1| | 2020-10-1 20:44 | 只看该作者
使能寄存器中相应的WDT中断位。。。

使用特权

评论回复
11
androidbus| | 2020-10-1 20:45 | 只看该作者
简单的延时而已,这个看运算的结果。

使用特权

评论回复
12
litengg| | 2020-10-1 20:50 | 只看该作者
是在头文件里定义的 能实现250延时呢 ?!

使用特权

评论回复
13
qiangweii| | 2020-10-1 20:51 | 只看该作者
datasheet里面是怎么定义的呢?

使用特权

评论回复
14
shashaa| | 2020-10-1 20:56 | 只看该作者
#define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS2+WDTSSEL0+WDTIS0) /* 250ms " */

使用特权

评论回复
15
shashaa| | 2020-10-1 20:56 | 只看该作者
你使用的是什么mcu芯片呢?

使用特权

评论回复
16
xia00| | 2020-10-1 20:59 | 只看该作者
也可以使用for循环做延时的。

使用特权

评论回复
17
hfdy01| | 2020-10-1 21:03 | 只看该作者
根据注释,按用户的需求,任选一个控制语句。。。

使用特权

评论回复
18
CallReceiver| | 2020-10-1 21:05 | 只看该作者
在中断里面进行了标志位的判断。  

使用特权

评论回复
19
boy1990| | 2020-10-1 21:08 | 只看该作者
时钟源是ACLK 这样就延时250ms

使用特权

评论回复
20
勇敢的大白菜| | 2020-10-2 08:41 | 只看该作者
看门狗程序,防止程序跑飞的,就是这么简单的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

1388

帖子

0

粉丝