程序说明:51单片机定时器0工作于方式一,定时50ms中断一次
镇巴ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
晶振为12M
#include
void
main
{
TOMD
=
0X01;
//配置定时器0工作于方式一
TH1
=
(65536-50000)/256;
//高八位装入初值
TL1
=
(65536-50000)%256;
//低八位装入初值
ET0
=
1;
//开定时器0中断
EA
=
1;
//开总中断
TR0
=
1;
//启动定时器0
while(1)
{
;
}
}
void
Timer0_int()
interrupt
1
{
//重新装初值
TH1
=
(65536-50000)/256;
//高八位装入初值
TL1
=
(65536-50000)%256;
//低八位装入初值
}
/***************************************************************************************************************/
上面是比较好理解的。如果实在要求简洁的话,看下面的,跟上面功能一样
#include
void
main
{
TOMD
=
0X01;
//配置定时器0工作于方式一
TH1
=
0x3c;
//高八位装入初值
TL1
=
0xb0;
//低八位装入初值
IE
=
0x82;//开总中断并开定时器0中断
TR0
=
1;
//启动定时器0
while(1)
{
;
}
}
void
Timer0_int()
interrupt
1
{
//重新装初值
TH1
=
0x3c;
//高八位装入初值
TL1
=
0xb0;
//低八位装入初值}
每中断一次,程序就会执行一次中断程序,也就是会执行“void t0_rpt() interrupt 1”这个程序
我把你现在给出的这个程序的分析和调试了一下,并且我在里面加入了一些代码使能能够通过串口输出来观察数据,,一开始是进入到xian1()中的,,就是你的显示为0的这个函数中的,然后当nDataToDisplay200这个条件不满足的时候,程序就开始进入xian()中,也就是你的显示为9999的函数中,,,,然后又循环到一开始的状态。
就函数已经在你指定的地方调用了,,,,如果有问题,,就要检查你的显示函数和相应硬件连接了。
使用c++编译器,就要求中断函数的形参用...填充。非c++编译器就不用形参。这个不用深追究为什么,只要这样用就可以了。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款