【51单片机用两个定时计数器级联实现定时】2023-04-12

缘由https://ask.csdn.net/questions/7922381/54159958

cpp 复制代码
#include<reg52.h>
void main()
{//缘由https://ask.csdn.net/questions/7922381/54159958
	P1=P2=0xff;
	TMOD=0X61;
	TH0=(65536-10000)/256;
	TL0=(65536-10000)%256;
	TH1=TL1=156;
	EA=1;//IT0=EX0=
	T1=0;
	TR0=ET0=1;
    TR1=ET1=1;
	while(1);
} 
void  Timer0()  interrupt  1                
{
	T1=1;
	TH0=(65536-10000)/256;
	TL0=(65536-10000)%256;
	T1=0;P2=~P2;
}
void Timer1() interrupt 3  
{
   P1=~P1;
}
cpp 复制代码
#include<reg52.h>
unsigned int chuzhi[2]={65036,65286};
unsigned int MAX[2]={100,200};
unsigned int cnt=0;
bit i=0;bit on_off=0;
sbit P1_5=P2^5;
void main(void)
{//缘由https://ask.csdn.net/questions/7922381/54159958
	TMOD=0x01;
	TL0=chuzhi[0]%256;
	TH0=chuzhi[0]/256;
	IT0=EA=EX0=ET0=1;
	while(1);
}
void int0_isr() interrupt 0
{
	on_off=!on_off;
	TR0=on_off; P1_5=1;
}
void T0_isr() interrupt 1
{
	cnt++;
	P1_5=!P1_5;
	if(cnt==MAX[i])
	{
	    cnt=0;
	    i=~i;
	}
	TL0=chuzhi[i]%256;
	TH0=chuzhi[i]/256;
}
相关推荐
君义_noip1 小时前
信息学奥赛一本通 1613:打印文章
c++·算法·信息学奥赛·csp-s
nglff2 小时前
蓝桥杯抱佛脚第四天|前缀和,差分对应练习
算法·职场和发展·蓝桥杯
中屹指纹浏览器2 小时前
2026高并发多账号运营下指纹浏览器性能调优与工程化实践
经验分享·笔记
Amazing_Cacao2 小时前
工艺师初级|参数与风味对齐(精品可可,精品巧克力)
笔记·学习
freexyn2 小时前
Matlab入门自学七十四:坐标系转换,直角坐标、极坐标和球坐标的转换
开发语言·算法·matlab
咱就是说不配啊2 小时前
3.20打卡day34
数据结构·c++·算法
小张会进步2 小时前
数组:二维数组
java·javascript·算法
vx-程序开发2 小时前
springboot在线装修管理系统-计算机毕业设计源码56278
java·c语言·spring boot·python·spring·django·php