定时器T0实现50ms定时,每50msP1.0取反一次 怎么做这个程序??
答案:1 悬赏:80
解决时间 2021-10-09 21:46
- 提问者网友:最美的风景
- 2021-10-09 15:27
定时器T0实现50ms定时,每50msP1.0取反一次 怎么做这个程序??
最佳答案
- 二级知识专家网友:末日狂欢
- 2021-10-09 16:57
//给你写两个函数吧:
//先设置IO
sbit LED = P1 ^ 0;
//初始化定时器0,工作方式1,定时时间50ms
//void Init_TImer( void )
{
TMOD = 0x01;
TH0 = ( 65536 - 50000 ) / 256;
TL0 = ( 65536 - 50000 ) % 256;
ET0 = 1;
TR0 = 1;
EA = 1;
}
//主函数
void main( void )
{
Init_TImer();
LED = 1;
while(1);
}
//定时器0的中断服务函数
void Timer0( void ) interrupt 1
{
TH0 = ( 65536 - 50000 ) / 256;
TL0 = ( 65536 - 50000 ) % 256;
LED = ~LED;
}
//先设置IO
sbit LED = P1 ^ 0;
//初始化定时器0,工作方式1,定时时间50ms
//void Init_TImer( void )
{
TMOD = 0x01;
TH0 = ( 65536 - 50000 ) / 256;
TL0 = ( 65536 - 50000 ) % 256;
ET0 = 1;
TR0 = 1;
EA = 1;
}
//主函数
void main( void )
{
Init_TImer();
LED = 1;
while(1);
}
//定时器0的中断服务函数
void Timer0( void ) interrupt 1
{
TH0 = ( 65536 - 50000 ) / 256;
TL0 = ( 65536 - 50000 ) % 256;
LED = ~LED;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯