找回密码
 立即注册

QQ登录

只需一步,快速开始

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

设计24小时制定时器,下面是参考程序,但是秒和时位置反了,请问怎么改啊?

[复制链接]
跳转到指定楼层
楼主
ID:931802 发表于 2021-6-2 21:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <reg52.h>   
#include <delay.h>


int mypow(int x, int y);
void num_check(void);

code unsigned int segment_data[11]={        0x3f,0x06,0x5b,0x4F,0x66,
                                                                                                                                                        0x6d,0x7d,0x07,0x7f,0x6f,0x40};
code unsigned int ROW[8]={0x00,0x04,0x08,0x0c,0x10,0x14,0x18,0x1c};
                unsigned int num[8];
unsigned char i,a=0,j;




void main()
{

       
        TMOD=0x10;   
        TH1=(65536-50000)/256;  
        TL1=(65536-50000)%256;
        EA=1;  
        ET1=1;
        TR1=1;

  num[2]=10;num[5]=10;
            
        while(1)
        {
                if(a>=20) num_check();
                for(j=0;j<=7;j++)
                {
                P2=~ROW[j];
                P0=0;       
                P0=segment_data[num[j]];
          delay(1);
                }
        }
       
}
void num_check(void)
{
if(a>=20){a=0;num[0]++;};
if(num[0]>=10){num[0]=0;num[1]++;};
if(num[1]>=6){num[1]=0;num[3]++;};
if(num[3]>=10){num[3]=0;num[4]++;};
if(num[4]>=6){num[4]=0;num[6]++;};
if(num[6]>=10){num[6]=0;num[7]++;};
if(num[7]>=3){num[7]=0;};
if((num[7]==2)&&(num[6]==4)){num[6]=0;num[7]=0;};
}
void TIME1() interrupt 3  
{
        TH1=(65536-50000)/256;
        TL1=(65536-50000)%256;
        a++;  
                       
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:404160 发表于 2021-6-8 18:29 | 只看该作者
应该是内存大小端的问题。即高字节与低字节整反了
回复

使用道具 举报

板凳
ID:849913 发表于 2021-6-8 19:23 | 只看该作者
你连接P2的的数码管是用什么元件驱动的
回复

使用道具 举报

地板
ID:931684 发表于 2021-6-8 20:12 | 只看该作者
秒和时的位置反了,我觉的可能有这几种情况:1.写程序过程中,定义秒和时给定义反了,在要用秒这个变量的时候用了时这个变量,在要用时这个变量的时候用了秒这个变量;2.仿真或实际接线时,对应秒和时的数码管给接反了
回复

使用道具 举报

5#
ID:332444 发表于 2021-6-9 09:01 | 只看该作者
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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