单片机 怎样用两个独立按键控制一位数码管显示,就是按下其中一个按键就加1,按下另一个按键就减1,0~9显

如题所述

很简单
比如你定义的数是AA,
汇编的是这样写的:
MAIN;JB P3.0 ,S1
MOV A, AA
INC A
MOV AA,A
S1:JB P3.1 ,MAIN
MOV A, AA
DEC A
MOV AA,A
JMP MAIN
C语言的
if(P3^0==0){
delay(50);
if(P3^0==1){
aa++;
if(aa>=10)aa=0;
}}
if(P3^1==0){
delay(50);
if(P3^1==0){
aa++;
if(aa<=0)aa=9;
}}追问

很详细那 我要的C语言的 你能帮我把全部程序写出来吗 我自己弄了半天也不行 我是菜鸟那 你告诉我程序 我自己分析看 看能懂不帮下忙 多给你点分

温馨提示:内容为网友见解,仅供参考
无其他回答

单片机 怎样用两个独立按键控制一位数码管显示,就是按下其中一个按键...
汇编的是这样写的:MAIN;JB P3.0 ,S1 MOV A, AA INC A MOV AA,A S1:JB P3.1 ,MAIN MOV A, AA DEC A MOV AA,A JMP MAIN C语言的 if(P3^0==0){ delay(50);if(P3^0==1){ aa++;if(aa>=10)aa=0;}} if(P3^1==0){ delay(50);if(P3^1==0){ aa+...

c语言 怎样用两个独立按键控制一位数码管显示 就是按下其中一个按键就...
这个实现是很容易的,定义两个键,一个为加,一个为减,数码管因为只有一个,所以可以用静态显示。程序和仿真图如下:include<reg51.h> define uchar unsigned char uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};sbit keyup=P3^0;sbit keydn=P3^1;main(){ uchar i...

怎样用单片机编程。两个独立按键,控制数码管的加减?
这个很容易嘛,你先设置一个寄存器,然后一直扫描两个按键(假设K1按下为加,K2按下为减),假设检测到K1被按下,寄存器就加1,如果检测到K2被按下,寄存器就减1;然后再调用显示函数就OK了。、 ORG 0000H LJMP START ORG 0030H START:MOV R2, #1 LOOP:CALL DISP JB P1.6,...

怎么用单片计C语言编出两个按键控制一位数码管,一个按健控制0至9就是...
可以不用中断。 你只要写个段码的数值,然后在数组里加一个变量。比如“ uchar dm[]={0xc0,0xa4,0xf9...}“ 每次按下一个键数组里的变量就加一。 做按键的时候要记住去斗。 归0的按键就更好写了,只要按下数组里的变量等于0就行了。 希望能帮到你, 亲~...

单片机上用两个按键独立控制两个数码管,怎样使在按下一个按键使对应的...
给你个思路,在while循环里要实时刷新数码管显示,按键的判断放在定时器里,设一个变量,当按键按下时累加定时器中断次数,然后在主函数里判断变量值,超过一定数量则判断为按下,这时数码管计数变量++,当然你还要设按键抬起标志,仔细思考一下,肯定能写出来 ...

2.1 开机自检 数码管显示1 2.2 功能按键 按下K1按键,数码管显示加1,最...
按下K2按键,数码管显示减1,最小不小于1。当数码管显示2时8个发光二极管亮0.5秒,暗0.5秒,反复变化。求程序啊单片机C语言设计的万分感谢啊... 按下K2按键,数码管显示减1,最小不小于1。当数码管显示2时 8个发光二极管亮0.5秒,暗0.5秒,反复变化。求程序啊单片机C语言设计的 万分感谢啊 展开  我来答 分...

51单片机怎么用按键控制一个数码管,按一下显示一个数字,顺序显示
1、首先,要把代码写好,点亮数码管。2、代码写完后,要确认原先写好的代码是不是正确的。3、确认代码无误后,进入下一步,就是在这一行代码(箭头所指)的地方,将这四个字删去。4、然后如图所示,四个字已经删去,只要改成数字相应的代码即可。5、这里改成的是代表数字0的代码,如图所示。6、...

51单片机怎么用按键控制一个数码管,按一下显示一
\/*---名称:单个共阳数码管动态显示变化数字内容:通过循环检测P1口按键输入值,然后用数码管输出,没有按键按下时原值不变---*\/#include\/\/包

用两个按键控制数码管一个加一个减 都是按一下一加 按一下一减 用汇 ...
这个用外部中断写很简单的,只要一个中断INC 30H,一个DEC30H(30只是暂存器,随便定义的,30到7F之间都可以)就行,其他的跟数码管静态显示一样的 参考资料:JIU

单片机怎么用键盘中断实现按住按键,使内部RAM中的一个数据不停加1?
你既能够实现按一下,数据加1的话,那就差一点就可以实现你所说的功能了。不过还要看你的中断是边沿触发呢,还是电平触发?如果是边沿触发呢,每次进入中断的时候把一个位变量置1,并且保存外部中断口的电平。然后我们在主程序中读取这个位变量,如果位变量为1说明已经有铵键被按下。然后开如计时,并...

相似回答