打印

新手请教:51单片机的定时器0中断在Keil3中的C实现途径

[复制链接]
2360|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DavisD|  楼主 | 2010-3-11 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教个很菜的问题:

51 控制器中
如果使用定时器零,实现3ms左右一次的数码管扫描中断程序,如何用C语言实现呢?
11M晶振12分频

我的例子:
main(){

TMOD=0x11;
TH0 = (65536-3000)/256;
TL0 = (65536-3000)%256;

TR0=1;
TR2 = 0;


TR1 = 0;
IP = 0x01;  //优先级设置

IE=0x82;          // 1 nil nil 0 0 0 0 1 只使用T0定时器


while(1){
             FUNCTIONXXXXX(); //跑主程序
            }


}


void timer0() interrupt 1
{
            FUNCTIONYYY;                            // 执行一个扫描数码管的程序

TH0 = (65536-3000)/256;

TL0=(65536-3000)%256;
}





问题如下:
1.寄存器这样设置可以吗?
2.关于定时计数溢出后执行的子程序:
   Void timer0() interupt 1 {


}
这个函数是Keil3 使用的中断格式吗?还需要在使用前声明吗?
3.希望各位大侠能贴个自己的例子:)




多谢帮忙!


相关帖子

沙发
lbx_00| | 2010-3-11 10:41 | 只看该作者
整体思想正确,可以给不会的人看

使用特权

评论回复
板凳
DavisD|  楼主 | 2010-3-11 15:04 | 只看该作者
是我程序的片段,,,不是给别人讲的例子...

使用特权

评论回复
地板
numLiu| | 2010-3-13 20:38 | 只看该作者
这样是可以的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

39

帖子

1

粉丝