51单片机中断,以下每步作用void Time0_Init()
voidTime0_Init(){TMOD=0x01;//(1)IE=0x82;//(2)TH0=0xD8;//(3)TL0=0xEF;//(4)}4句程序的作用是什么...
void Time0_Init()
{
TMOD = 0x01; //(1)
IE= 0x82;//(2)
TH0 = 0xD8;//(3)
TL0 = 0xEF;//(4)
}
4句程序的作用是什么 展开
{
TMOD = 0x01; //(1)
IE= 0x82;//(2)
TH0 = 0xD8;//(3)
TL0 = 0xEF;//(4)
}
4句程序的作用是什么 展开
3个回答
展开全部
void Time0_Init()
{
TMOD = 0x01; //(1) 采用16位定时器
IE= 0x82;//(2)打开中断
TH0 = 0xD8;//(3)将初值的高8位送入TH0中
TL0 = 0xEF;//(4)将初值的低8位送入TL0中
1、初值是 0XD8EF 换成10进制是55535,而程序中设置成16位寄存器最大可以计数到65535,就是说从55535数10000下就满了,满了就触发中断。
2、TH0和TL0都是8位寄存器,合并到一起才16位,装载初值时,0XD8EF把0XD8放入TH0中,把0XEF放入TL0中。
3、很显然初值时0XD8EF是为了计数10000下,你可以这样写最简单:
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
计数几下就减多少。
{
TMOD = 0x01; //(1) 采用16位定时器
IE= 0x82;//(2)打开中断
TH0 = 0xD8;//(3)将初值的高8位送入TH0中
TL0 = 0xEF;//(4)将初值的低8位送入TL0中
1、初值是 0XD8EF 换成10进制是55535,而程序中设置成16位寄存器最大可以计数到65535,就是说从55535数10000下就满了,满了就触发中断。
2、TH0和TL0都是8位寄存器,合并到一起才16位,装载初值时,0XD8EF把0XD8放入TH0中,把0XEF放入TL0中。
3、很显然初值时0XD8EF是为了计数10000下,你可以这样写最简单:
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
计数几下就减多少。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
TMOD = 0x01; //(1) 定时器0工作在16位定时器模式
IE= 0x82;//(2) 开中断允许 并开启T0中断允许
TH0 = 0xD8;//(3) 定时器0高8位赋初值 0xD8
TL0 = 0xEF;//(4) 定时器0低8位赋初值 0xEF
IE= 0x82;//(2) 开中断允许 并开启T0中断允许
TH0 = 0xD8;//(3) 定时器0高8位赋初值 0xD8
TL0 = 0xEF;//(4) 定时器0低8位赋初值 0xEF
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(1) 设置定时器0工作模式1
(2) 定时器0中断允许
(3) 设置定时器0高8位的计数值
(4) 设置定时器0低8位的计数值
(2) 定时器0中断允许
(3) 设置定时器0高8位的计数值
(4) 设置定时器0低8位的计数值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询