永发信息网

C51单片机汇编语言

答案:4  悬赏:30  手机版
解决时间 2021-11-09 07:25
  • 提问者网友:聂風
  • 2021-11-09 00:10
C51单片机汇编语言
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-11-09 01:31
org 0000h
jmp mian
org 0050h
mian:
mov a,p1
and a,#00000010b
jz mian_01 ;开关按下处理
jmp mian

mian_01:
mov a,p0
and a,#11110111b
mov p0,a
orl a,#00001000b
mov p0,a
mian_02: ;检测按键是否弹起
mov a,p1
and a,#00000010b
jz mian_02 ;按下继续检测
jmp mian

应该看的懂把!!!!
全部回答
  • 1楼网友:街头电车
  • 2021-11-09 04:22
不知到你用什么芯片,那我默认复位后P1.1为1
用定时器T2外触发中断很好解决(P1.1是外中断触发引脚)
P1引脚特性是除非你芯片内部置0,不然外部置0停止后会自动变回1
ORG 0000H
LJMP MAIN
ORG 002BH
LJMP CTC2;中断程序入口
ORG 100H
SETB P1.1
MOV T2CON ,#00001100B;启动T2,允许外触发
SJMP $;模拟主程序等待中断
CTC2:
CLR P0.3
SETB P0.3
CLR TF2
CLR EXF2
RETI
  • 2楼网友:走死在岁月里
  • 2021-11-09 03:31
使用P1.1的前后两个电平的比较来判断P0.3是否变化动作。
  • 3楼网友:逃夭
  • 2021-11-09 02:48
1. P1.1按下,置标志Flag0=1;

2. P0.3检测到Flag0为1,并且Flag1为0时,开始输出0,再输出1,再置标志Flag1=1;

3. P1.1松开,Flag0=0;Flag1=0;

你应该有基础的,在原来重复动作的基础上加上上面的限制就可以了,上面的思路,应该有更简单的算法的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯