发布网友 发布时间:2022-04-20 10:07
共5个回答
热心网友 时间:2023-07-12 12:05
主程序中:
TMOD=0x01;//定时器工作方式1,当然也可用方式2
TH0=(65536-250)/256;//定时250us
TL0=(65536-250)%256;
ET0=1;EA=1;//开中断
TR0=1;//启动定时器
while(1);//等待中断
中断程序中
TH0=++//重装初值
TL0=++
P1𠆢0=!P1𠆢0;//管脚取反
热心网友 时间:2023-07-12 12:06
这个我们也不太懂。
热心网友 时间:2023-07-12 12:06
不知道
热心网友 时间:2023-07-12 12:07
回答不上来呀!
热心网友 时间:2023-07-12 12:07
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit OUT=P1^0; //定义OUT输出端口
/*------------------------------------------------
定时器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD|= 0x02; //使用模式2,8位定时器
TH0=0x06; // 12M晶振计算,指令周期1uS,半个周期250uS
TL0=0x06;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}
/*------------------------------------------------
主程序
------------------------------------------------*/
main()
{
Init_Timer0();
while(1);
}
/*------------------------------------------------
定时器中断子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1 using 1
{
OUT=~OUT; //用示波器可看到方波输出
}