找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2202|回复: 7
打印 上一主题 下一主题
收起左侧

简易单片机秒表计时器 不成功

[复制链接]
跳转到指定楼层
楼主
功能上电后显示0000,然后每个1秒数码管值加1,加到9999时从0000重新开始。
#include <REGX52.H>
#define uchar unsigned char
#define uint unsigned int
uchar code duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//段码
uchar code weima[]={0xef,0xeb,0xe7,0xe3};//位码
//0xff;0xfb;0xf7;0xf3;0xef;0xeb;0xe7;0xe3
uchar dispbuf[];
uint count;
void delayms(uint xms)//延时函数
{
        uchar i, j;
        while(xms--)
                {
                i = 2;j = 199;
                do{while (--j);}
                while (--i);
                }
}
void duan(void)
{
        dispbuf[3]=count/1000;
        dispbuf[2]=count/100%10;
        dispbuf[1]=count/10%10;
        dispbuf[0]=count%10;
        }
void wei(void)
{
        uchar x;
        for(x=0;x<4;x++)
        {
                P0=duanma[dispbuf[x]];
                P2=weima[x];
                delayms(1);
        }
}
void main()
{
        uint k;
        while(1)
        {
                if(++k==220)
                {
                        k=0;
                        if(++count==10000)count=0;
                }
                duan();
                wei();
        }
}
是哪里有问题啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:328014 发表于 2021-4-2 15:15 | 只看该作者
现在运行是什么现象,说明一下吧,这样大家才好确定错误的位置,,是编译有问题吗?如果编译有问题,发编译提示错误文本
回复

使用道具 举报

板凳
ID:811100 发表于 2021-4-2 15:18 | 只看该作者
51hei团团 发表于 2021-4-2 15:15
现在运行是什么现象,说明一下吧,这样大家才好确定错误的位置,,是编译有问题吗?如果编译有问题,发编译提示错 ...

uchar dispbuf[];
这里没有加数组个数
回复

使用道具 举报

地板
ID:811100 发表于 2021-4-2 15:19 | 只看该作者

回复

使用道具 举报

5#
ID:811100 发表于 2021-4-2 15:20 | 只看该作者

第一次发帖忘记放图了
回复

使用道具 举报

6#
ID:811100 发表于 2021-4-2 15:22 | 只看该作者
以解决怎么删帖啊
回复

使用道具 举报

7#
ID:451718 发表于 2021-4-2 15:26 | 只看该作者
你是如何保证主循环里面,每次count++ 是1秒钟的?   给你个建议,既然要玩计时,就老老实实的去用定时器实现, 你这个delay毫秒的函数, 是非常不合理的。 而且,循环里面的用法也没有搞清楚。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:811100 发表于 2021-4-3 13:36 | 只看该作者
robinsonlin 发表于 2021-4-2 15:26
你是如何保证主循环里面,每次count++ 是1秒钟的?   给你个建议,既然要玩计时,就老老实实的去用定时器实 ...

还没学到定时器
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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