【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;
}
相关推荐
非优秀程序员7 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
虹科网络安全7 小时前
Redis Radar:在统一视图中掌握 Redis 部署、健康与容量
经验分享·redis·艾体宝·艾体宝it·艾体宝redis
沐晓时光8 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
聪明的笨猪猪11 小时前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程
Zwawa11 小时前
C语言函数指针与宏实战:从回调、表驱动菜单到X-Macro,讲透嵌入式代码解耦
c语言·单片机·嵌入式
武子康13 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
David猪大卫14 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger14 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
星恒随风14 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql