定时器编译报错。这是什么错误呢?刚学单片机,求大侠指导!

定时器编译报错。这是什么错误呢?刚学单片机,求大侠指导!,第1张

程序是你自己写的吗颂蔽

如果是考背的那就好好看看

懂了再脊散写

故障提示:可能有文件重名了

子程序没樱樱氏有完全被调用

单片机的中断序号决定该中断的中断向量的位置(即中断服务程序的入口地址)

即 中断序号就是中断源在单片机的中断向量表中的位置序号。

具体关系: 中断向量=0003H+中断序号×8

例如裂激消:

中断0(即中断序号为0 ) 其中断向量=中断服务程序的入口地址=0003H

中断1(即中断序号为1 ) 其中断向量=中断服务程序的入口地址=000BH

对于51单片机:

中断序号0表示的是外部中断0的中断序号

中断序号1表示的是定时计数器肆知0的中断序号

中断序号2表示的是外部中断1的中断序号

中断序号3 表示的是定时计数器1的中断序号

中断序号4表示的是串行口的中断序号

中断序号5表示的是定铅搜时计数器2的中断序号

呵呵 满意就选满意回答吧

假设你的外部晶振为12M(时钟频率为1M),用复合定时法,即把小值定时叠起来枝册御void t0() interrupt 1{中断服务程序;}主函数姿颤:TMOD=0x01 //设置为定时器0工作方式1for(t=20t>0t--){ TH0=(65536-50000)/256 TL0=(65536-50000)%256//赋初值使一次定时为50ms TR0=1 //开定时器t0 while(!TF0) //等待置位 TR0=0 //关定时 TF0=0 //清标志位}TF0=1 //亲自置位TF0,是打开中断前提IE=0x82 //开允许位EA,ET0若想精确一些,由于中断置位的 *** 作会花3~8个时钟周期;所以可把初值增大3~8,即TH0=(65536-49997)/256TL0=(65536-49997)%256还可用编译软件调试(先设置外部晶振值为12M)测量延时时猛岩间


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12321532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存