按键控制数码管加减显示
编写程序,在数码管上显示000-255范围内的任意整数。具体要求是:K1按下后加1计数,K2按下后减1计数,K3按下后清零,而且,在不松开按键时,数字会按一定时间间隔持续递增或递减。(1)画出电路图;(2)写出源程序代码并进行仿真。求帮
cpp
#include "reg52.h"
unsigned char code SmZiFu[]={63,6,91,79,102,109,125,7,127,111,128,0};//共阴0-9.
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
void main()
{//缘由https://ask.csdn.net/questions/8034322/54409352
unsigned char sy=0,my=0,ys=0,xd=0,ls=0,js=57;
while(1)
{
smxs:
if(++sy==0)
{
P1=0;P2=255;
if(ls==0||ls==4)ls=1;else ls*=2;
P1=SmZiFu[ls==1?js/100:ls==2?js/10%10:ls==4?js%10:11];
P2=255-ls;
}
if(k1==0&&++xd==0){if(++ys>29){ys=0;++js;}while(k1==0)if(++my==0)goto smxs;}
if(k2==0&&++xd==0){if(++ys>29){ys=0;--js;}while(k2==0)if(++my==0)goto smxs;}
if(k3==0&&++xd==0){js=0;while(k3==0);}
}
}

说说自己感悟弄出来的东西无妨大雅,常有的事,说出来也是提高,或许就此入门了。
看看我这个延时写代码的人细心琢磨或许觉得有意思或许觉得无聊,什么感觉看各人,这是个阻塞+询问混合的延时还有并列延时存在,是调用数码管显示语句,还写过调用数码管显示函数的形式的,随心情心思而作,没什么固定的书写方式,不过目的都一样达到了。上述代码中,等待按键释放写成阻塞延时,判断按键按下写成询问延时,数码询问延时属于并列,其效果等同按键按住自动间隔递增,同时又兼容短按增1,又能实现数码管实时显示不受按键影响显示,有的人为了按键不影响数码管显示老费心思了开中断了用状态了等等办法,而我呢还真的不怎么费心思,其实当时写的时候一心只想实现,写后静心分析还是离不开基本延时原理,二级延时:数码管显示延时和按键消抖延时属于并列,数值递增延时,只不过书写形式不同形变而已,却实现了两个不同的延时即数码管显示延时,数值递增延时功能,而调用数码管显示函数在按键中也写了数码管显示延时同上行的主函数调用数码管显示延时一样道理,当然这些代码是给写代码的人的,纯硬件或许看不懂或许看懂。
所以说都离不开基本的原理,原理弄懂了,怎么用的形式就多样了,就算是震荡电路形式也不少,花心思弄出来的东西常有,次数多了也就不觉得了,人的心理大概有类似的,所以说无伤大雅,当然来论坛也是站姿式涨姿势,无妨无妨的。
「復次,善現!一切不退轉菩薩摩訶薩,成就調柔可愛可樂身、
語、意業,於諸有情心無罣礙。若菩薩摩訶薩成就如是諸行、狀、
相,知是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩恒常成就慈、悲、喜、捨
等,起相應身、語、意業,於諸有情作利樂事。若菩薩摩訶薩成就
如是諸行、狀、相,知是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩心常不與五蓋共居,所謂貪
欲、瞋恚、惛沈睡眠、掉舉惡作、疑蓋。若菩薩摩訶薩成就如是諸
行、狀、相,知是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩一切隨眠皆已摧伏。一切結
縛、隨煩惱縛皆永不起。若菩薩摩訶薩成就如是諸行、狀、相,知
是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩入出往來心不迷謬,恒時安
住正念正知,進止威儀、行住坐臥、舉足下足亦復如是,諸所遊履
必觀其地,安庠繫念直視而行,運動語言常無卒暴。若菩薩摩訶薩
成就如是諸行、狀、相,知是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩諸所受用臥具、衣服,皆常
香潔無諸臭穢,亦無垢膩、蟣虱等蟲;心樂清華,身無疾病。若菩
薩摩訶薩成就如是諸行、狀、相,知是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩身心清淨,非如常人身中恒
為八萬戶蟲之所侵食。所以者何?是諸菩薩善根增上出過世間,所
受身形內外清淨,故無蟲類侵食其身。如如善根漸漸增益,如是如
是身心轉淨,由此因緣,是諸菩薩身心堅固猶若金剛,不為違緣之
所侵惱。若菩薩摩訶薩成就如是諸行、狀、相,知是不退轉菩薩摩
訶薩。」
具壽善現復白佛言:「如是不退轉菩薩摩訶薩,云何常得身、語、
意淨?」
佛告善現:「是菩薩摩訶薩如如善根漸漸增長,如是如是身、語、
意曲,由善根力所除遣故,窮未來際畢竟不起,由此常得身、語、
意淨。復次,善現!是菩薩摩訶薩身三、語四、意三妙行常現在前
故,一切時身、語、意淨,由此淨故,超過聲聞、獨覺等地,住菩
薩位堅固不動,由斯常得身、語、意淨。若菩薩摩訶薩成就如是諸
行、狀、相,知是不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩不重利養,不徇名譽,於諸
飲食、衣服、臥具、房舍、資財不生耽著,雖受十二杜多功德,而
於其中無所恃怙。若菩薩摩訶薩成就如是諸行、狀、相,知是不退
轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩,常修布施乃至般若波羅蜜
多,畢竟不起慳貪、破戒、忿恚、懈怠、散亂、愚癡,及餘種種煩
惱、纏、結相應之心。若菩薩摩訶薩成就如是諸行、狀、相,知是
不退轉菩薩摩訶薩。
「復次,善現!一切不退轉菩薩摩訶薩所有覺慧堅固甚深,聽聞正
法恭敬信受,繫念思惟究竟理趣,隨所聽受世、出世法,皆能方便
會入般若波羅蜜多甚深理趣,諸所造作世間事業,亦依般若波羅蜜
多會入法性,不見一事出法性者,設有不與法性相應,亦能方便會
入般若波羅蜜多甚深理趣,由斯不見出法性者。若菩薩摩訶薩成就
如是諸行、狀、相,知是不退轉菩薩摩訶薩。
(虽知一切本性空寂,仍不捨慈悲心、仍不捨精勤修學布施、淨戒、安忍、精進、靜慮、般若波羅蜜多。正真是一切智者最伟大觉悟所行道,如是教导实是宇宙间最尊最胜的智者、智法、智团体,一切非智所不能及。)