一,按键控制外部中断实现LED亮灭
开机使得P1.0管脚的LED亮
按下按键使得LED呈现“常亮”,“灭”,“闪烁”的三个状态循环显示。
设计思路:在程序初始化时直接将P1.0置位为高电平,然后使用按键直连P3.3外部中断1的管脚,当按键按下则P3.3脚就会被拉低,从而触发外部中断而改变LED状态。这里我们可以直接使用查询按键状态的方法来改变LED状态,同时大家也可以使用按键中断的方式来触发条件。
二,按键控制外部中断实现数码管显示数值加减
数码管显示任意四位数,当按下按键一这个数值的末位减一,当按下按键二末尾加一
设计思路:关于这个实验与上面的那个实验都是大同小异,无非是更改了显示方式,那么这个实验笔者就使用外部中断触发的方式来写一遍以示区别。
附上Proteus原理图
这是实验一初始化界面
这是实验二的初始化姐界面
这里使用共阴数码管
下面展示一些 实验一
。
ORG 0000H
AJMP START
ORG 0100H
START:
MOV P1,#01H ;初始化使能P1.0脚
MOV 40H,#0H ;状态寄存器用于记录LED的状态
LOOP:
ACALL KEY1
DISPLAY:
CJNE R7,#0,OFF ;若为0则表示常亮
MOV P1,#01H ;常亮
OFF:
CJNE R7,#1, SHAN ;若为1则表示灭
MOV P1,#0H
SHAN:
CJNE R7,#2,