文档库 最新最全的文档下载
当前位置:文档库 › 51汇编程序实例.

51汇编程序实例.

51汇编程序实例.
51汇编程序实例.

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 清一次显示

相关文档