×

51汇编程序实例

消耗积分:10 | 格式:rar | 大小:5555 | 2008-09-11

分享资料个

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 清一次显示
这条是清显示的

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(5)
发评论
半飘零 2015-11-12
0 回复 举报
好东西呀。。感谢分享。。 收起回复
meineng 2014-05-18
0 回复 举报
顶,以后来这里找资料! 收起回复
全部评论

下载排行榜

全部5条评论

快来发表一下你的评论吧 !