找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2405|回复: 6
收起左侧

为什么将单片机定时时间改成10ms,每100次时间加一,秒表就不计数了?

[复制链接]
ID:350479 发表于 2018-6-13 09:27 | 显示全部楼层 |阅读模式
原来代码是这样的
void time0() interrupt 1               
{
        uchar tt;
        TH0 = 0x4c;                    //晶振11.0592Mhz  
        TL0 = 0x00;                                
        tt++;
        if(tt == 20)
                {
                        time++;
                        if(time==99)         //到99后在从00开始        
                                time = 0;
                                tt = 0;                        
                }
}



我改成这样
void time0() interrupt 1               
{
        uchar tt;
        TH0 = 0xdc;                    //晶振11.0592Mhz  
        TL0 = 0x00;                                
        tt++;
        if(tt == 100)
                {
                        time++;
                        if(time==99)         //到99后在从00开始        
                                time = 0;
                                tt = 0;                        
                }
}
为什么将定时时间改成10ms,每100次时间加一,秒表就不计数了?

QQ浏览器截图20180613092250.png
回复

使用道具 举报

ID:350857 发表于 2018-6-13 09:50 | 显示全部楼层
扩展电路需要吗
回复

使用道具 举报

ID:213173 发表于 2018-6-13 09:51 | 显示全部楼层
//可以改成这样
void time0() interrupt 1               
{
        static uchar tt;
        TH0 = 0xdc;
        TL0 = 0x00;                                
        tt++;
        if(tt>=100)
        {
                tt=0;
                time++;
                if(time>99)
                        time=0;                  
        }
}
回复

使用道具 举报

ID:320306 发表于 2018-6-13 09:55 | 显示全部楼层
把DC改为4C 改回去 ,估计这个时间还在刷新数码管ba !!!!!!!!!!!!
回复

使用道具 举报

ID:350294 发表于 2018-6-13 10:11 | 显示全部楼层
这个和抢答器电路好像,定时都是要单写的(注意参考计算数值)
回复

使用道具 举报

ID:330198 发表于 2018-6-13 10:32 | 显示全部楼层
你初始化的TH、TL改没改啊
回复

使用道具 举报

ID:329253 发表于 2018-6-13 11:29 来自触屏版 | 显示全部楼层
你这代码,我感觉是一百秒刷新一次
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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