单片机定时器,编译后数码管不显示

2019-07-15 20:54发布

本帖最后由 tangbenchang 于 2014-2-14 15:48 编辑

程序如图所示,使用定时器做数码管显示,从0-9。编译成功,仿真的时候数码管不显示,调试发现定时器不工作的样子。烦请各位指点迷津。
QQ图片20140214154748.jpg QQ图片20140214154738.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
me860
1楼-- · 2019-07-16 02:03
这是所有的程序么,没发现 void XXXX()interrupt 1中断函数,主的主程序里应让 EA=1  ET0=1 打开中断开关,装载TH0 TL0应在中断函数里填写
blacksonlgx
2楼-- · 2019-07-16 07:38
 精彩回答 2  元偷偷看……
zy2014
3楼-- · 2019-07-16 07:47
1.没有中断函数,如果shumaguan()是中断函数的话,应该有中断号,其次主函数while中不用调用中断函数。
2.总中断EA T0中断ET0  都没有打开
3.不明白楼主为什么中断使硬件自动清零

TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。
tangbenchang
4楼-- · 2019-07-16 08:06
 精彩回答 2  元偷偷看……
tangbenchang
5楼-- · 2019-07-16 10:01
blacksonlgx 发表于 2014-2-14 17:05
好像不是这样写的吧。main函数里应该是初始化函数+显示函数。显示函数里的内容就只有推动数码管显示变 ...

我的思路是,初始化函数里面是定时器初始化,主函数一开始调用初始化函数进行系统初始化,while主循环调用shumaguan函数,通过if判断定时器溢出标志TF0,如果溢出,软件清零并重装初值。
tangbenchang
6楼-- · 2019-07-16 15:05
blacksonlgx 发表于 2014-2-14 17:05
好像不是这样写的吧。main函数里应该是初始化函数+显示函数。显示函数里的内容就只有推动数码管显示变 ...

shumaguan主要是判断溢出标志位TF0,然后在函数里面对显示函数变量加1,。我就是想用软件查询标志位才没有开中断的。

一周热门 更多>