⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1.asm

📁 单片机通用历程 流水灯加数码管演示程序 汇编语言
💻 ASM
字号:
LOOP:     ; 标号

CLR P2.0   ;选中p2.0 数码管左边的8字使能

CLR P2.1   ;选中p2.1 数码管左边的8字使能

SETB P2.2  ;选中p2.2 不使能。 右边的数码管消隐

SETB P2.3  ;选中p2.3 不使能。 右边的数码管消隐



MOV P0,#0c0h  ;把0c0h送p0口;数码管显示 0

LCALL DELAY ;延时

MOV P0,#0FFH   ;0ffh 送p0口,数码管清除



CLR P1.0    ;点亮p1.0发光管

MOV P0,#0f9h ;把0f9h送p0口;数码管显示 1

LCALL DELAY

MOV P0,#0FFH
 
 

CLR P1.1      ;点亮p1.0发光管

CLR P1.0      ;点亮p1.0发光管

MOV P0,#0a4h   ;数码管显示 2

LCALL DELAY

MOV P0,#0FFH



 CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#0b0h    ;数码管显示 3

LCALL DELAY

MOV P0,#0FFH



CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#99H    ;数码管显示 4

LCALL DELAY

MOV P0,#0FFH



CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#92H   ;数码管显示 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,#82H     ; 数码管显示 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,#0f8H   ; 数码管显示 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,#80H   ; 数码管显示 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指示灯依次点亮

CLR P2.2   ;选中p2.2 数码管左边的8字使能

CLR P2.3   ;选中p2.3 数码管左边的8字使能

SETB P2.0  ;选中p2.0 不使能。 右边的数码管消隐

SETB P2.1  ;选中p2.1 不使能。 右边的数码管消隐

MOV P0,#0c0h  ;把0c0h送p0口;数码管显示 0

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.0

MOV P0,#0f9h ;把0f9h送p0口;数码管显示 1

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.1

MOV P0,#0a4h   ;数码管显示 2

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.2



MOV P0,#0b0h    ;数码管显示 3

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.3

MOV P0,#99H    ;数码管显示 4

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.4

MOV P0,#92H   ;数码管显示 5;

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.5

MOV P0,#82H     ; 数码管显示 6

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.6

MOV P0,#0f8H   ; 数码管显示 7

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.7

MOV P0,#80H   ; 数码管显示 8

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

MOV P0,#0FFH

MOV P1,#0FFH

;这一段和上一段基本相同, 不同的是右边的数码管依次显示012345678,左边的不亮;

;同时p1口的灯流动显示,下面重新再来新的数字显示:






CLR P2.0   ;选中p2.0 数码管左边的8字使能

CLR P2.2   ;选中p2.2 数码管左边的8字使能

SETB P2.1  ;选中p2.1 不使能。 右边的数码管消隐

SETB P2.3  ;选中p2.3 不使能。 右边的数码管消隐

MOV P0,#0c0h  ;把0c0h送p0口;数码管显示 0

LCALL DELAY ;延时

MOV P0,#0FFH   ;0ffh 送p0口,数码管清除



CLR P1.0    ;点亮p1.0发光管

MOV P0,#0f9h ;把0f9h送p0口;数码管显示 1

LCALL DELAY

MOV P0,#0FFH
 
 

CLR P1.1      ;点亮p1.0发光管

CLR P1.0      ;点亮p1.0发光管

MOV P0,#0a4h   ;数码管显示 2

LCALL DELAY

MOV P0,#0FFH



 CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#0b0h    ;数码管显示 3

LCALL DELAY

MOV P0,#0FFH



CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#99H    ;数码管显示 4

LCALL DELAY

MOV P0,#0FFH



CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#92H   ;数码管显示 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,#82H     ; 数码管显示 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,#0f8H   ; 数码管显示 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,#80H   ; 数码管显示 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指示灯依次点亮

CLR P2.1   ;选中p2.2 数码管左边的8字使能

CLR P2.3   ;选中p2.3 数码管左边的8字使能

SETB P2.0  ;选中p2.0 不使能。 右边的数码管消隐

SETB P2.2  ;选中p2.1 不使能。 右边的数码管消隐

MOV P0,#0c0h  ;把0c0h送p0口;数码管显示 0

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.0

MOV P0,#0f9h ;把0f9h送p0口;数码管显示 1

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.1

MOV P0,#0a4h   ;数码管显示 2

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.2



MOV P0,#0b0h    ;数码管显示 3

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.3

MOV P0,#99H    ;数码管显示 4

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.4

MOV P0,#92H   ;数码管显示 5;

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.5

MOV P0,#82H     ; 数码管显示 6

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.6

MOV P0,#0f8H   ; 数码管显示 7

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH



CLR P1.7

MOV P0,#80H   ; 数码管显示 8

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

MOV P0,#0FFH

MOV P1,#0FFH

;这一段和上一段基本相同, 不同的是右边的数码管依次显示012345678,左边的不亮;

;同时p1口的灯流动显示:

CLR P1.0

CLR P1.1

CLR P1.2

CLR P1.3

CLR P1.4

CLR P1.5

CLR P1.6

CLR P1.7

LCALL DELAY ;延时

SETB P1.0

SETB P1.1

SETB P1.2

SETB P1.3

SETB P1.4

SETB P1.5

SETB P1.6

SETB P1.7

LCALL DELAY ;延时

CLR P1.0

CLR P1.1

CLR P1.2

CLR P1.3

CLR P1.4

CLR P1.5

CLR P1.6

CLR P1.7

LCALL DELAY ;延时

SETB P1.0

SETB P1.1

SETB P1.2

SETB P1.3

SETB P1.4

SETB P1.5

SETB P1.6

SETB P1.7

LCALL DELAY ;延时

CLR P1.0

CLR P1.1

CLR P1.2

CLR P1.3

CLR P1.4

CLR P1.5

CLR P1.6

CLR P1.7

LCALL DELAY ;延时

SETB P1.0

SETB P1.1

SETB P1.2

SETB P1.3

SETB P1.4

SETB P1.5

SETB P1.6

SETB P1.7

LCALL DELAY ;延时

CLR P1.0

CLR P1.1

CLR P1.2

CLR P1.3

CLR P1.4

CLR P1.5

CLR P1.6

CLR P1.7

LCALL DELAY ;延时

SETB P1.0

SETB P1.1

SETB P1.2

SETB P1.3

SETB P1.4

SETB P1.5

SETB P1.6

SETB P1.7

LCALL DELAY ;延时


CLR P2.0   ;选中p2.0 数码管左边的8字使能

CLR P2.1   ;选中p2.1 数码管左边的8字使能

CLR P2.2   ;选中p2.0 数码管左边的8字使能

CLR P2.3   ;选中p2.1 数码管左边的8字使能

MOV P0,#80H   ; 数码管显示 8

LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时

MOV P0,#0FFH   ;0ffh 送p0口,数码管清除




 
 

CLR P1.7      ;点亮p1.0发光管

CLR P1.6      ;点亮p1.0发光管

MOV P0,#0f8H   ; 数码管显示 7


LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY

MOV P0,#0FFH



 CLR P1.7

CLR P1.6

CLR P1.5

MOV P0,#82H     ; 数码管显示 6


LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY

MOV P0,#0FFH



CLR P1.7

CLR P1.6

CLR P1.5

CLR P1.4

MOV P0,#92H   ;数码管显示 5;


LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY

MOV P0,#0FFH



CLR P1.7

CLR P1.6

CLR P1.5

CLR P1.4

CLR P1.3

MOV P0,#99H    ;数码管显示 4
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时

LCALL DELAY

MOV P0,#0FFH



CLR P1.7

CLR P1.6

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

MOV P0,#0b0h    ;数码管显示 3

LCALL DELAY
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
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

MOV P0,#0a4h   ;数码管显示 2

LCALL DELAY
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时

MOV P0,#0FFH


CLR P1.0    ;点亮p1.0发光管

MOV P0,#0f9h ;把0f9h送p0口;数码管显示 1

CLR P2.6
LCALL DELAY
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
SETB P2.6

MOV P0,#0FFH



CLR P1.0

CLR P1.1

CLR P1.2

CLR P1.3

CLR P1.4

CLR P1.5

CLR P1.6

CLR P1.7

CLR P2.6

MOV P0,#0c0h  ;把0c0h送p0口;数码管显示 0

LCALL DELAY
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时
LCALL DELAY ;延时

SETB P2.6


MOV P0,#0FFH

LCALL DELAY



MOV P0,#0FFH

MOV P1,#0FFH




AJMP LOOP; 注意: 程序运行到此跳转到开始标号,重复执行:



DELAY:  ;延时子程序;参考前面的教程:

CLR P2.4  ;注意小喇叭在3.3口, 这里可以使小喇叭发出嗒,嗒声

MOV  R7,#255

NOP

NOP



D1:MOV R6,#255

setb p2.4

D2: DJNZ R6,D2

clr p2.4

DJNZ R7,D1

SETB P2.4

RET

END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -