试验7--------流水灯数字显示综合练习

发布者:幸福如意最新更新时间:2011-02-25 手机看文章 扫描二维码
随时随地手机看文章
程序运行结果为个位数码管轮流现实012345678,然后十位数码管轮流现实012345678反复循环,P1.0,P1.1, P1.2,P1.3, P1.4,P1.5, P1.6,P1.7, 依次点亮然后轮流点亮,小喇叭不停发出滴答声:

 

数码管显示数字

注意0为点亮  1 为灭 

显示数字

p0.7

p0.6

p0.5

p0.4

p0.3

p0.2

p0.1

p0.0

16进制代码

0

0

0

1

0

1

0

0

0

28H

1

0

1

1

1

1

1

1

0

7EH

2

1

0

1

0

0

0

1

0

A2H

3

0

1

1

0

0

0

1

0

62H

4

0

1

1

1

0

1

0

0

74H

5

0

1

1

0

0

0

0

1

61H

6

0

0

1

0

0

0

0

1

21H

7

0

1

1

1

1

0

1

0

7AH

8

0

0

1

0

0

0

0

0

20H

9

0

1

1

0

0

0

0

0

60H

代码表的意思和方法参照前面的教程;注意0为点亮  1 为灭然后我们可以把代码送到P0口,就可以是数码管显示需要的数字;当然,必须有位选,因为我们的实验板是动态扫描数码管,两个8的位选分别是P2.6   P2.7.

LOOP:     标号

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

SETB P2.7   p2.7不使能。右边的数码管消隐

MOV P0,#28H  ;把28hp0口;数码管显示0

LCALL DELAY ;延时

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

 

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

MOV P0,#7EH ;把7ehp0口;数码管显示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

 

;程序到此结果为左边的数码管显示012345678p1.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

引用地址:试验7--------流水灯数字显示综合练习

上一篇:第五个试验----跟我学作单片机运算加减乘除法
下一篇:第六个试验----认识数码管扫描程序

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved