您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 电子 > 《单片机原理与应用》 > 第3章 MCS-51单片机指令系统

第8节 LED显示电路

  3.5.1 硬件电路

  硬件电路如图3.7所示。

  

 

  图3.7 LED显示电路

  工作原理

  我们在电子技术中学过,七段LED共阳极数码管在段码加低电平和位控制信号加高电平后就可以点亮。所以,要显示某个字符只要将对应字段点亮即可。

  3.5.2 程序设计

  ORG 0000H

  LJMP MAIN

  ORG 0030H

  MIAN: MOV DPTR,#TABLE

  MOVC A,@A+DPTR

  MOV P1,A

  CLR P3.0

  TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H ;0-6

  DB 82H,0F8H,80H,90H ; 7-9

  END

  3.5.3 源程序的编辑、编译、下载

  打开“伟福”模拟仿真软件进行程序的编辑、编译。

  打开“ISP下载软件”将目标文件下载到ISP-4实验开发板上的AT89S51单片机芯片,观察程序运行结果。

  3.5.4 相关知识

  1. 单片机如何控制单根I/O口线?

  我们在上面任务中看到,P3口共有8根口线,现在我们只要控制其中一根线,在单片机中能不能实现?答案是肯定的。因为单片机中有一类位操作指令。

  2. MCS-51单片机有哪些位操作指令?

  位处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的。位变量也即开关变量,它是以位(bit)为单位进行操作的。

  在物理结构上,MCS-51单片机有一个位处理机,它以进位标志做为位累加器,以内部RAM可寻址的128个为存储位。

  既然有位处理机功能,所以也就有相应的位操作指令集,下面我们分别谈论。

  (1) 位传送指令(2条)

  位传送指令就是可寻址位与累加位CY之间的传送,指令有两条。

  MOV C,bit ;bit→CY,某位数据送CY。

  MOV bit,C ;CY→bit,CY数据送某位

  (2) 位置位复位指令(4条)

  这些指令对CY及可寻址位进行置位或复位操作,共有四条指令。

  CLR C ; 0→CY,清CY。

  CLR bit ; 0→bit,清某一位。

  SETB C ; 1→CY,置位CY。

  SETB bit ; 1→bit,置位某一位。

  如:任务中的CLR P3.0 指令,就是将P3.0清零。

  (3) 位运算指令(6条)

  位运算都是逻辑运算,有与、或、非三种指令,共六条。

  ANL C,bit ;(CY)∧(bit)→CY。

  ANL C,/bit ;(CY)∧(/bit)→CY。

  ORL C,bit ;(CY)∨(bit)→CY。

  ORL C,/bit ;(CY)∧(/bit)→CY。

  CPL C ;(/CY)→CY。

  CPL bit ;(/bit)→bir。

  (4) 位控制转移指令(5条)

  位控制转移指令是以位的状态作为实现程序转移的判断条件,介绍如下:

  JC rel ; (CY)=1转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

  JNC rel ; (CY)=0转移,(PC)+2+rel→PC,否则程序往下执行,(PC)+2→PC。

  JB bit, rel ; 位状态为1转移。

  JNB bit, rel ; 位状态为0转移。

  JBC bit, rel ; 位状态为1转移,并使该位清“0”。

  后三条指令都是三字节指令,如果条件满足,(PC)+3+rel→PC,否则程序往下执行,(PC)+3→PC。

  3. 位操作指令应用举例

  【例3.12】 完成(Z)=(X)⊕(Y)异或运算,其中:X、Y、Z表示位地址。

  解:异或运算可表示为(Z)=(X)(/Y)+(/X )(Y),参考子程序如下:

  PR!:MOV C,X ;(CY)←(X)

  ANL C,/Y ;(CY)←(X)∧/(Y)

  MOV Z,C ;暂存Z中

  MOV C,X ;(CY)←(X)

  ANL C,/X ;(CY)←(X)∧/(X)

  ORL C,Z ;(CY)←(X)∧/(X)+(X)∧/(Y)

  MOV Z,C ;保存异或结果

  RET