51汇编程序实例.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51汇编程序实例:举一例说明:流水灯加数码管LOOP: ; 标号
CLR P2.6 ;选中p2.6 数码管左边的8字使能SETB P2.7 ;p2.7不使能。

右边的数码管消隐MOV P0,#28H ;把28h送p0口;数码管显示0 LCALL DELAY ;延时
MOV P0,#0FFH ;0ffh 送p0口,数码管清除CLR P1.0 ;点亮p1.0发光管
MOV P0,#7EH ;把7eh送p0口;数码管显示1 LCALL DELAY
MOV P0,#0FFH
CLR P1.1 ;点亮p1.0发光管
CLR P1.0 ;点亮p1.0发光管
MOV P0,#0A2H ;数码管显示2
LCALL DELAY
MOV P0,#0FFH
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#62H ;数码管显示3
LCALL DELAY
MOV P0,#0FFH
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#74H ;数码管显示4
LCALL DELAY
MOV P0,#0FFH
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#61H ;数码管显示5;
LCALL DELAY
MOV P0,#0FFH
CLR P1.5
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#21H ; 数码管显示6
LCALL DELAY
MOV P0,#0FFH
CLR P1.6
CLR P1.5
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#7AH ; 数码管显示7
LCALL DELAY
MOV P0,#0FFH
CLR P1.7
CLR P1.6
CLR P1.5
CLR P1.4
CLR P1.3
CLR P1.2
CLR P1.1
CLR P1.0
MOV P0,#20H ; 数码管显示8
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
;程序到此结果为左边的数码管显示0,1,2,3,4,5,6,7,8
;p1.0------------p1.7指示灯依次点亮
SETB P2.6 ; 左边的8消隐
CLR P2.7 ;选中p2.7 数码管右边的8字使能,;
MOV P0,#28H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.0
MOV P0,#7EH
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.1
MOV P0,#0A2H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.2
MOV P0,#62H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.3
MOV P0,#74H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.4
MOV P0,#61H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.5
MOV P0,#21H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.6
MOV P0,#7AH
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
CLR P1.7
MOV P0,#20H
LCALL DELAY
MOV P0,#0FFH
MOV P1,#0FFH
MOV P0,#0FFH
MOV P1,#0FFH
;这一段和上一段基本相同,不同的是右边的数码管依次显示012345678,左边的不亮;;同时p1口的灯流动显示:
AJMP LOOP; 注意:程序运行到此跳转到开始标号,重复执行:
DELAY: ;延时子程序;参考前面的教程:
CLR P3.3 ;注意小喇叭在3.3口,这里可以使小喇叭发出嗒,嗒声
MOV R7,#255
NOP
NOP
D1:MOV R6,#255
setb p3.3
D2: DJNZ R6,D2
clr p3.3
DJNZ R7,D1
SETB P3.3
RET
END
LOOP: ;标号
CLR P2.6 ;选中p2.6 数码管左边的8字使能
SETB P2.7 ;p2.7不使能。

右边的数码管消隐
MOV P0,#28H ;把28h送p0口;数码管显示0 ;28为1010000
LCALL DELAY ;延时程序
MOV P0,#0FFH ;0ffh 送p0口,数码管清除;P0口为11111111
CLR P1.0 ;点亮p1.0发光管;P1。

0为电平,P0口为11111110
MOV P0,#7EH ;把7eh送p0口;数码管显示1;P1。

0为低电平,P0口为11111110 LCALL DELAY ;延时程序
MOV P0,#0FFH
MOV P0,#0FFH ;0ffh 送p0口,数码管清除;P0口为11111111 清一次显示。

相关文档
最新文档