【51单片机独立按键和定时器中断的疑惑验证】2023-11-2

缘由定时器和独立按键的优先级,_嵌入式-CSDN问答

当又一个定时器正在工作,一段时间会跳转到中断系统,然后有一个独立按键函数,当按下时不会返回值,当松开时有返回值。当我一直按着的时候他是卡在哪里一直不动,还是一段时间后执行中断系统?

这个很简单的,打开定时器,在中断内写一个LED灯闪烁观察就知道了,肯定是会执行中断,但是主函数内会继续检测按键是否释放,而主函数内其它肯定不会执行。

再进一步写按键不释放不影响数码管显示来更清晰验证。

cpp 复制代码
#include <reg52.h>
unsigned char code ShuMaGuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,0X80,118,121,56,63};//0~9隐.HELO
unsigned char Js=0;
sbit fm=P3^4;
sbit k1=P3^0;
void smgxs(unsigned char w,unsigned char sz)
{
	P2=P1=0;//写数码管段消隐,位关闭。
	P2=255-w;//写2位数码管动态位驱动
	P1=ShuMaGuan[w==1?sz/10:w==2?sz%10:10];//写数码管段驱动,并拆分整数送相应位。
}
void DSZZ()
{
	TH0=(65536-9216)/256;
	TL0=(65536-9216)%256;
}
void Timer0() interrupt  1                
{
	++Js;P0=!P0;
	DSZZ();
}
void main()
{//缘由http://www.51hei.com/bbs/dpj-229379-1.html
	unsigned char w=0,ys=0,sy=0,my=0,sz=60,xd=0;
	bit k=0,kk=1;
	TMOD=0X01;
	DSZZ();
	TR0=ET0=EA=1;
	while(1)
	{
		if(++my>30){if(k&&kk)fm=~fm;my=0;}//第一步调试蜂鸣器频率
		if(++sy==0)//第二步写数码管显示延时
		{
			if(!w)w=1;else w*=2;
			smgxs(w,sz);
		}
		if(Js==100)
		{
			Js=0;
			if(k)kk=0;if(sz==0)k=1;else --sz;
		}//写数码管显示值步进和延时,并控制蜂鸣器。
		if(!k1&&++xd==0){while(!k1){if(++sy==0)//第二步写数码管显示延时
		{
			if(!w)w=1;else w*=2;
			smgxs(w,sz);
		}};}
	}
}

「復次,善現!汝說大乘普超一切世間天、人、阿素洛等最尊最勝

者,如是!如是!如汝所說。善現當知!若欲界、色界、無色界是

真如,非虛妄、無變異、不顛倒、非假設,是真是實、有常有恒、

無變無易、有實性者,則此大乘非尊非勝,不超一切世間天、人、

阿素洛等。以欲界、色界、無色界,是遍計所執、是虛妄假合、是

有遷動,乃至一切無常無恒、有變有易、都無實性故,此大乘普超

一切世間天、人、阿素洛等最尊最勝。

「復次,善現!若色蘊乃至識蘊是真如,非虛妄、無變異、不顛

倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此大

乘非尊非勝,不超一切世間天、人、阿素洛等。以色蘊乃至識蘊,

是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、有變有

易、都無實性故,此大乘普超一切世間天、人、阿素洛等最尊最

勝。

「復次,善現!若眼處乃至意處是真如,非虛妄、無變異、不顛

倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此大

乘非尊非勝,不超一切世間天、人、阿素洛等。以眼處乃至意處,

是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、有變有

易、都無實性故,此大乘普超一切世間天、人、阿素洛等最尊最

勝。

「復次,善現!若色處乃至法處是真如,非虛妄、無變異、不顛

倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此大

乘非尊非勝,不超一切世間天、人、阿素洛等。以色處乃至法處,

是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、有變有

易、都無實性故,此大乘普超一切世間天、人、阿素洛等最尊最

勝。

「復次,善現!若眼界乃至意界是真如,非虛妄、無變異、不顛

倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此大

乘非尊非勝,不超一切世間天、人、阿素洛等。以眼界乃至意界,

是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、有變有

易、都無實性故,此大乘普超一切世間天、人、阿素洛等最尊最

勝。

「復次,善現!若色界乃至法界是真如,非虛妄、無變異、不顛

倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此大

乘非尊非勝,不超一切世間天、人、阿素洛等。以色界乃至法界,

是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、有變有

易、都無實性故,此大乘普超一切世間天、人、阿素洛等最尊最

勝。

「復次,善現!若眼識界乃至意識界是真如,非虛妄、無變異、不

顛倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此

大乘非尊非勝,不超一切世間天、人、阿素洛等。以眼識界乃至意

識界,是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、

有變有易、都無實性故,此大乘普超一切世間天、人、阿素洛等最

尊最勝。

「復次,善現!若眼觸乃至意觸是真如,非虛妄、無變異、不顛

倒、非假設,是真是實、有常有恒、無變無易、有實性者,則此大

乘非尊非勝,不超一切世間天、人、阿素洛等。以眼觸乃至意觸,

是遍計所執、是虛妄假合、是有遷動,乃至一切無常無恒、有變有

易、都無實性故,此大乘普超一切世間天、人、阿素洛等最尊最

勝。

相关推荐
金銀銅鐵2 小时前
[Python] 扩展欧几里得算法
python·数学·算法
To_OC4 小时前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
郝学胜_神的一滴9 小时前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
To_OC21 小时前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
05Kevin1 天前
lk每日冒险题--数据结构6.27
算法
To_OC2 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安2 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者2 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent