×
单片机 > 单片机程序设计 > 详情

51系列汇编语言

发布时间:2020-08-26 发布时间:
|
a)  单个按键与多个LED灯(位操作—输入与字节操作—输出)—判断与子程序
此处只是将输出指令由位指令换成了字节指令,而输入判断仍然是位判断指令。
ORG 0000H
MAIN:
  CLR C
   MOV C,P2.0 ;获取P2.0位状态 送位累加器;位与字节转换需要判断指令
JNC ZIJIE;JC位累加器—进位位为1转移到ZIJIE ,
JNC位累加器为0转移到ZIJIE,否则顺序执行。
MOV C,P1.0
ZIJIE:;子程序起始
MOV  A,#00H
    MOV  P3,A
RET;子程序结束并返回调用处
END
 
 
b)  单个按键与多个LED灯(位操作—输入与位、字节操作—输出)
 位输入控制位或字节输出
ORG 0000H
MAIN:
  CLR C
   MOV C,P1.0 ;获取P1.0位状态 送位累加器;位与字节转换需要判断指令
JNC ZIJIE      ;JC位累加器—进位位为1转移到ZIJIE ,JNC位累加器为0转移到ZIJIE,否则顺序执行。
  MOV P0.0,C ;送位累加器到P0.0位等,P1.0位状态变化则输出随之变化
    ACALL  DELAY   ; 调延时子程序
  MOV P0.1,C
      ACALL  DELAY
  MOV P0.2,C
      ACALL  DELAY
  MOV P0.3,C
    ACALL  DELAY 
  MOV P0.4,C
    ACALL  DELAY 
         MOV P0.5,C
    ACALL  DELAY          MOV P0.6,C
    ACALL  DELAY    MOV P0.7,C    ACALL  DELAY     
SJMP MAIN ;相对转移时间短,用AJMP绝对转移时间长,RET是用于子程序的返回
ZIJIE:
  MOV A,#00H
  MOV P2,A      ACALL  DELAY 
  MOV P3,A    ACALL  DELAY
     CLR A      MOV P0,A
   MOV P1,A     ACALL  DELAY  
  RET
  DELAY:      ; 延时子程序 - 这是一个非常有用、而且常见的一个子程序
  MOV R5,#04H    ;将16进制数04H传递给寄存器R5
F1:
  DJNZ  R7, F1 ;寄存器R7减1非0跳转到F1,直到减为0顺序执行下一指令
  RET       ; 子程序结束,返回子程序入口处  ACALL  DELAY   ; 调延时子程序 
  END
 位输入控制字节输出
 
 
c)  单个按键与单个电机控制—开环控制
单“位”—P口1位--单个灯—位输出,单个按键控制—硬控制与软控制
一个按键,一盏照明灯,一个继电器。硬件接口问题—线路连接、硬件硬驱动问题(程序称为软驱动)。
一个按键,两盏灯(指示、照明),一个继电器。硬件接口问题—线路连接、硬件硬驱动问题。程序称为软驱动:就是利用两个端口,通过延时或计时器完成转换。
说明:
硬件特性,驱动与控制信号,程序编写
由继电器引出的强电驱动电器的控制问题,如电动机—交流电机、直流电机、步进电机、伺服电机;单项或多项
 
1.  单个开关(按键)与多个LED灯→数码管→点阵问题—最小系统—输出扩展
a)        单个按键与多个LED灯(位操作—输入与字节操作—输出)
b)        单个按键与多个LED灯—数码管(位操作—输入与字节操作—输出)—数组
c)         单个按键与多个数码管(位操作—输入与多字节操作—输出)—静态—数组
d)        多个按键与多个数码管(位操作—输入与字节操作—输出)—动态—扫描函数
e)         单个按键与多个数码管—点阵(位操作—输入与字节操作—输出)—静态
f)         多个按键与多个数码管—点阵(位操作—输入与字节操作—输出)—动态
关键字:51系列  汇编语言

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义