一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: 摇滚铁心
收起左侧

[51单片机] 想用2051做个定时/计时器,问个问题

  [复制链接]
发表于 2011-1-30 17:32 | 显示全部楼层
我的程序还有问题,定时部分不正常,好像是定时器T1没工作,我在计时部分加了条语句使4条位选线为0,1分钟后 ...
摇滚铁心 发表于 2011-1-30 17:25 [url=https://www.yleee.com.cn/images/common/back.gif]https://www.yleee.com.cn/images/common/back.gif[/url]



    TMOD正确设置了吗?
TH1,TL1有否赋初值?
发表于 2011-1-30 17:32 | 显示全部楼层
回复 30# 摇滚铁心


    上程序吧
 楼主| 发表于 2011-1-30 17:36 | 显示全部楼层
好的,谢谢

计时定时器2.rar

1.57 KB, 下载次数: 2223, 下载积分: 一乐金币 -1

发表于 2011-1-30 17:48 | 显示全部楼层


    是溢出了。
    你把h,m的数据类型改为unsigned int试试看。
还有qianwei*10,shiwei*10如果大于qianwei,shiwei的范围也会出错。
试改一下:
(unsigned int)qianwei*10,(unsigned int)shiwei*10
发表于 2011-1-30 17:49 | 显示全部楼层
回复 33# 摇滚铁心


    也就是强制转换数据类型
 楼主| 发表于 2011-1-30 17:51 | 显示全部楼层
经过几次修改,已经不是1楼那时的设想了,现在是:开机,时和分轮流闪烁,按ST开始计时模式,按SET是定时模式,个位闪烁,按UP则数字往上加,按SET依次选择十位,百位,千位闪烁。千位闪烁时再按SET就开始定时,秒点开始闪烁,表示开始定时。
现在的问题是:千位闪烁时再按SET显示的是设定好的时间,但秒点不闪烁,过几分钟数字也没变。应该是T1没开始工作,在计时模式子函数中用定时器1的子函数代替定时器0的,也是没在走时,秒点不闪烁。
发表于 2011-1-30 18:06 | 显示全部楼层
回复 36# 摇滚铁心


    你的程序完全不需要用到这么多的中断就可以实现,且这么多的中断你怎么都没有给它分配寄存器组啊?
如:void EX0_st()interrupt 0 (using 0)
 楼主| 发表于 2011-1-30 18:43 | 显示全部楼层
寄存器组还没学,呵呵。
qianwei*10,shiwei*10最大也就90离256还很远呢,怎么会溢出呢?
发表于 2011-1-30 21:41 | 显示全部楼层
本帖最后由 cosine 于 2011-1-30 21:49 编辑
回复  摇滚铁心


    你的程序完全不需要用到这么多的中断就可以实现,且这么多的中断你怎么都没有给它 ...
lihongran 发表于 2011-1-30 18:06 [url=https://www.yleee.com.cn/images/common/back.gif]https://www.yleee.com.cn/images/common/back.gif[/url]



    不分配寄存器组应该可以工作吧,呵呵,一共4组寄存器,但中断多于4个.如果用同一组寄存器可能就得入栈了,这样栈的压力大一些,但不等于不能工作.不知道俺的理解对否.{:3_472:}
发表于 2011-1-30 21:42 | 显示全部楼层
寄存器组还没学,呵呵。
qianwei*10,shiwei*10最大也就90离256还很远呢,怎么会溢出呢?
摇滚铁心 发表于 2011-1-30 18:43 [url=https://www.yleee.com.cn/images/common/back.gif]https://www.yleee.com.cn/images/common/back.gif[/url]



    寄存器组是用来切换程序的,呵呵,这样栈的压力小,溢出的可能性就小了,运行速度也快.

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-6-11 23:35 , Processed in 0.060615 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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