【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);
		}};}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

勝。

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

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

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

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

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

勝。

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

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

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

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

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

勝。

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

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

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

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

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

勝。

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

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

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

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

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

勝。

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

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

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

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

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

尊最勝。

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

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

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

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

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

勝。

相关推荐
折翅嘀皇虫1 小时前
【无标题】steal_work_thread_pool
服务器·前端·算法
zzzsde1 小时前
【Linux】线程概念与控制(3):线程ID&&C++封装线程
linux·运维·服务器·开发语言·算法
老花眼猫1 小时前
C语言矩形旋转算法介绍
c语言·经验分享·青少年编程·课程设计
handler011 小时前
滑动窗口(同向双指针)算法:模板与例题解析
c语言·c++·笔记·算法·蓝桥杯·双指针·滑动窗口
Brilliantwxx1 小时前
【算法题】基础计算器的不同实现方式
c++·算法
Sunsets_Red1 小时前
P12375 「LAOI-12」MST? 题解
c++·算法·洛谷·信息学·oier·洛谷题解
He BianGu2 小时前
【笔记】在WPF中在IValueConverter 时“无法返回有效值该怎么做”
笔记·wpf
白小沫2 小时前
TortoiseSVN 的快速安装与常用操作
经验分享·笔记
雪度娃娃2 小时前
多用户任务管理器
c++·个人开发