鱼C论坛

 找回密码
 立即注册
查看: 2334|回复: 6

求助各位大佬,这是用定时器控制跑马灯程序,不知道问题出在哪?

[复制链接]
发表于 2020-3-1 00:15:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

#include<reg52.h>

typedef unsigned char u8;
typedef unsigned int u16;


void main(void)
{
        u8 led;
        u8 cnt;
        u8 num;

        TMOD=1;
        TH0=0XB8;    //20ms
        TL0=0X00;
        TR0=1;        //定时器开启

        led=0xfe;
        num=8;
        while(num>0)
        {
                if(1==TF0)
                {
                        TF0=0;
                        TH0=0XB8;
                        TL0=0X00;
                        cnt++;
                        if(cnt>=50)
                        {
                                cnt=0;
                                P2=led;
                                led=led<<1;                //左移
                                led=led|0x01;
                                num--;
                                if(num==1)               
                                {
                                         num--;                 //8个led移动完毕,跳出while循环
                                }
                        }
                }
        }
       
        num=8;
        while(num>0)                                 //烧录到开发板,现象也只运行的上面一段while循环
        {
                if(1==TF0)                                //调试到这里就进不去if判断了,为什么?
                {
                        TF0=0;
                        TH0=0XB8;
                        TL0=0X00;
                        cnt++;
                        if(cnt>=50)                //1s移动一次
                        {
                                cnt=0;
                                P2=led;
                                led=led>>1;                //右移
                                led=led|0xfe;
                                num--;
                                if(num==1)
                                {
                                         num--;
                                }
                        }
                }
        }               
}       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-1 00:48:16 | 显示全部楼层
没有大佬帮助萌新吗^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 01:43:07 | 显示全部楼层
我调试了一下这个程序,不存在你说的这个问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 10:49:58 | 显示全部楼层
人造人 发表于 2020-3-1 01:43
我调试了一下这个程序,不存在你说的这个问题

我找到问题在哪了,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 11:17:16 | 显示全部楼层
非洲难民1号 发表于 2020-3-1 10:49
我找到问题在哪了,谢谢

在哪里?是代码的问题吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 11:31:49 | 显示全部楼层
人造人 发表于 2020-3-1 11:17
在哪里?是代码的问题吗?

调试是我写的另一版程序的,开的太多混了,刚巧烧录到开发板现象与调试现象重合
代码 led=led|0xfe;这处应该改成0x7f,我自己太zzle
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-1 12:43:53 | 显示全部楼层
非洲难民1号 发表于 2020-3-1 11:31
调试是我写的另一版程序的,开的太多混了,刚巧烧录到开发板现象与调试现象重合
代码 led=led|0 ...

嗯,明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 12:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表