【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;
}
相关推荐
skilllite作者8 小时前
Warp 新手极速上手与部署指南
java·前端·笔记·安全·agentskills
穿越临界点8 小时前
动态规划(DP)
算法·动态规划·贝尔曼
木木_王9 小时前
嵌入式Linux学习 | 数据结构(Day06)全解:线性表 + 栈队列 + 静态库 / 动态库(原理 + 代码 + 编译实战 + 易错点)
linux·数据结构·笔记·学习
-Springer-9 小时前
STM32 学习 —— 个人学习笔记11-2(SPI 通信外设 & 硬件 SPI 读写 W25Q64)
笔记·stm32·学习
leoufung9 小时前
LeetCode 50. Pow(x, n):从 O(n) 到 O(log n) 的快速幂彻底搞懂
算法·leetcode·职场和发展
中屹指纹浏览器9 小时前
浏览器指纹内核级篡改技术实现与风险防御
经验分享·笔记
llilian_169 小时前
晶振测量仪 晶振频率测试仪器的多领域应用解析 晶振频率测试仪器
功能测试·单片机·嵌入式硬件·测试工具·51单片机
@小码农9 小时前
2026年信息素养大赛【星火征途】图形化编程复赛和决赛模拟题B
开发语言·数据结构·c++·算法
人道领域9 小时前
【LeetCode刷题日记】347.前k个高频元素
java·数据结构·算法·leetcode
七颗糖很甜9 小时前
台风数据免费获取教程
大数据·python·算法