最新回答
- 2024-04-28魔都魔都
定时器实际上是一累加器TH0=0XFD; TL0=0X00; 这是给定时器赋初值,然后一旦开启定时器,就会开始计数,超出了累加器的上限就会产生溢出,产生一个定时中断,进入中断服务程序,然后SPEAKER取反,就是如果之前是高电平,现在就变成了低电平,因为在中断服务程序里重新给定时器赋了初值,这样一来就会重复上述的过程,就产生了一个方波,这个方波送给蜂鸣器,就产生了固定的频率的声音了啊,你还是看看原理再写吧,打字很累的,也没有多大意义,这个不用问人的,加油吧,多看下书。
赞160
- 2024-04-28yyh心随我动
你说的是把定时器关掉,还是将定时器标志位清零,定时器溢出后,标志位会执一,进入中断时,要把定时器的标志位清零,让定时器从新计数。还有一种情况,就是根据程序需要,定时器中断时,将外部中断关闭,避免因为外部中断,影响定时器中断的程序。
赞288
- 2024-04-28佐鉺三鉺洞
中断是指CPU在正常执行程序的过程中,由于计算机内部或外部发生了另一事件(如定时时间到,超压报警等),请求CPU迅速去处理,CPU暂时停止当前程序的运行,而转去处理所发生的事件,待发生的事件处理完以后,CPU再返回到原来暂停的地方,继续执行原来程序,这样一个过程称为中断。设置中断的必要性 1.分时操作 采用中断技术能够使CPU与外围设备并行工作,实现分时操作,大大提高了CPU的利用率。 2.实时处理 实时控制是单片机系统一个重要的应用领域,它要求CPU对工作现场的各种参数和状态的随机变化能够快速响应并加以及时处理,而这些功能只有采用中断技术才能得以实现。3.故障处理 计算机在运行过程中常常会突然发生故障,如电源掉电、内存出错及程序故障等。
赞166
- 2024-04-28奥迪风度
这个是定时器T0的溢出中断,当计数满以后,向单片机申请中断来处理中断下要做的事情。T0中断就是定时器中断,也就是Timer0,分内部外部,内部用单片机本身的晶振频率,外部给单片机P3.4一个脉冲信号作为T0的定时器的工作频率。
赞247
- 2024-04-28天堂猫ivy
其实中断程序中这两行 TR0=0;//赋初值时,关闭定时器 TR0=1;//打开定时器 真的是多余,用不着的,先关闭,再打开,为什么呀? 就TR=1,是启动定时器开始定时,称为打开定时器也行,不太准确。 这是在定时器的方式1下,每次中断后需要重写时间常数,只要重写时间常数,就可以继续定时了。等待时间到继续中断。 这个中断子程序主要目的是产生方波信号,或叫时间信号,由CLK= ~CLK;产生的。
赞43