最经典的51单片机经典流水灯汇编程序_第1页
最经典的51单片机经典流水灯汇编程序_第2页
最经典的51单片机经典流水灯汇编程序_第3页
最经典的51单片机经典流水灯汇编程序_第4页
最经典的51单片机经典流水灯汇编程序_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上单片机流水灯汇编程序设计开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。程序A:;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#B      ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#B            ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 MOV P1,#B            ;最下面第三个的LED点亮

2、(以下省略)LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B              ;完成第一次循环点亮,延时约0.25秒 AJMP START                    ;反复循环;延时子程序,12

3、M晶振延时约250毫秒DELAY:MOV R4,#2L3: MOV R2 ,#250L1: MOV R3 ,#250L2: DJNZ R3 ,L2 DJNZ R2 ,L1DJNZ R4 ,L3 RET END程序B:;用移位方式实现流水灯org 00h    ;程序上电从00h开始ajmp main  ;跳转到主程序org 0030h    ;主程序起始地址main:mov a,#0feh  ;给A赋值成loop: mov p1,a  ;将A送到P1口,发光二极管低电平点亮lcall delay  ;调用延时子程序

4、rl a    ;累加器A循环左移一位ajmp loop ;重新送P1显示delay:mov r3,#20  ;最外层循环二十次d1:mov r4,#80  ;次外层循环八十次d2:mov r5,#250  ;最内层循环250次djnz r5,$  ;总共延时2us*250*80*20=0.8Sdjnz r4,d2djnz r3,d1retend 51单片机经典流水灯程序,在51单片机的P2口接上8个发光二极管,产生流水灯的移动效果。        

5、60;            ORG        0                   ;程序从0地址开始START:       MOV   &

6、#160;  A,#0FEH     ;让ACC的内容为LOOP:        MOV      P2,A            ;让P2口输出ACC的内容            

7、0;         RR          A                   ;让ACC的内容左移            

8、          CALL     DELAY        ;调用延时子程序                      LJMP     LOOP

9、          ;跳到LOOP处执行;0.1秒延时子程序(12MHz晶振)=DELAY:       MOV      R7,#200      ;R7寄存器加载200次数D1:              

10、  MOV      R6,#250      ;R6寄存器加载250次数                      DJNZ     R6,$        

11、     ;本行执行R6次                      DJNZ     R7,D1          ;D1循环执行R7次       

12、;               RET                            ;返回主程序       

13、               END                           ;结束程序开关控制的单片机流水灯 汇编在单片机控制下,用一个拨动开关K1,控制个发光二极管L1-L8,发光的时

14、间间隔为0.5秒。具体要求:当拨动开关K1发出低电平(K1=0)时,L1-L8从两头向中间逐个点亮,当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。当拨动开关K1发出高电平(K1=1)时,中间的L4、L5点亮,然后点亮的灯向两边扩展,直到L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。悬赏分:20 - 解决时间:2009-12-21 13:42 提问者: -最佳答案:;-下列程序,经过了编译、仿真,可以满足要求。;- ORG 0000H MOV R2, #0M_LOOP: MOV A, R2 INC R2 ANL A, #07H MOV C, P1.0 MOV ACC.3, C

15、MOV DPTR, #TAB MOVC A, A + DPTR MOV P0, A CALL DL5KT SJMP M_LOOP;-TAB: DB 0xFF, 0xE7, 0xC3, 0x81, 0x00, 0x00, 0x00, 0x00 DB 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00;-DL5KT: mov R5, #10 MOV R6, #100 MOV R7, #250 DJNZ R7, $ DJNZ R6, $ - 4 DJNZ R5, $ - 8 RET;- END流水灯汇编程序8只LED为共阳极连接,即单片机输出端为低电平时即可

16、点亮LED。;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#B       ;最下面的LED点亮    LCALL DELAY     延时1秒    MOV P1,#B             ;最下面第二个的LED点亮    LCALL DELAY  

17、0;  延时1秒    MOV P1,#B             ;最下面第三个的LED点亮 (以下省略)   LCALL DELAY    MOV P1,#B    LCALL DELAY    MOV P1,#B    LCALL DELAY    MOV P1,#B    LCALL DEL

18、AY    MOV P1,#B    LCALL DELAY    MOV P1,#B    LCALL DELAY    MOV P1,#B              ;完成第一次循环点亮,延时约0.25秒    AJMP START         

19、60;           ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:     ;大约值:2us*256*256*2=260ms,也可以认为为250msPUSH PSW    ;现场保护指令(有时可以不加)MOV R4,#2   L3: MOV R2 ,#00HL1: MOV R3 ,#00HL2: DJNZ R3 ,L2    ;最内层循环:(256次)2

20、个周期指令(R3减一,如果比1大,则转向L2)  DJNZ R2 ,L1    ; 中层循环:256次 DJNZ R4 ,L3    ;外层循环:2次 POP PSW RET END 51汇编单片机LED花样流水灯(1)start:CLR P1.0      ACALL DELAY      SETB P1.0      ACA

21、LL DELAY      CLR P1.1      ACALL DELAY      SETB P1.1      ACALL DELAY      CLR P1.2      ACALL DELAY      SETB P1.2 &#

22、160;    ACALL DELAY      CLR P1.3      ACALL DELAY      SETB P1.3      ACALL DELAY      CLR P1.4      ACALL DELAY   

23、0;  SETB P1.4      ACALL DELAY       CLR P1.5      ACALL DELAY      SETB P1.5      ACALL DELAY      CLR P1.6      ACALL

24、DELAY      SETB P1.6      ACALL DELAY       CLR P1.7      ACALL DELAY      CLR P1.7      ACALL DELAY      CLR P1.0  

25、;    ACALL DELAY      SETB P1.0      ACALL DELAY      CLR P1.1      ACALL DELAY      SETB P1.1      ACALL DELAY    

26、  CLR P1.2      ACALL DELAY      SETB P1.2      ACALL DELAY      CLR P1.3      ACALL DELAY      SETB P1.3      ACALL DEL

27、AY       CLR P1.4      ACALL DELAY      SETB P1.4      ACALL DELAY      CLR P1.5      ACALL DELAY      SETB P1.5  &

28、#160;   ACALL DELAY      CLR P1.6      ACALL DELAY      CLR P1.6      ACALL DELAY            CLR P1.0      ACALL DE

29、LAY      SETB P1.0      ACALL DELAY      CLR P1.1      ACALL DELAY      SETB P1.1      ACALL DELAY      CLR P1.2  &

30、#160;   ACALL DELAY      SETB P1.2      ACALL DELAY      CLR P1.3      ACALL DELAY      SETB P1.3      ACALL DELAY    &#

31、160; CLR P1.4      ACALL DELAY      SETB P1.4      ACALL DELAY      CLR P1.5      ACALL DELAY      CLR P1.5      ACALL DELAY&

32、#160;           CLR P1.0      ACALL DELAY      SETB P1.0      ACALL DELAY      CLR P1.1      ACALL DELAY    &#

33、160; SETB P1.1      ACALL DELAY      CLR P1.2      ACALL DELAY      SETB P1.2      ACALL DELAY      CLR P1.3      ACALL DELAY

34、      SETB P1.3      ACALL DELAY      CLR P1.4      ACALL DELAY      CLR P1.4      ACALL DELAY      CLR P1.0   

35、;   ACALL DELAY      SETB P1.0      ACALL DELAY      CLR P1.1      ACALL DELAY      SETB P1.1      ACALL DELAY     

36、 CLR P1.2      ACALL DELAY      SETB P1.2      ACALL DELAY      CLR P1.3      ACALL DELAY       CLR P1.3      ACALL DELA

37、Y      CLR P1.0      ACALL DELAY      SETB P1.0      ACALL DELAY      CLR P1.1      ACALL DELAY      SETB P1.1  

38、60;   ACALL DELAY      CLR P1.2      ACALL DELAY      CLR P1.2      ACALL DELAY      CLR P1.0      ACALL DELAY     

39、 SETB P1.0      ACALL DELAY      CLR P1.1      ACALL DELAY      CLR P1.1      ACALL DELAY      CLR P1.0      ACALL DELAY 

40、;     CLR P1.0      ACALL DELAY      SETB P1.0      ACALL DELAY       SETB P1.1      ACALL DELAY      SETB P1.2   &

41、#160;  ACALL DELAY      SETB P1.3      ACALL DELAY      SETB P1.4      ACALL DELAY      SETB P1.5      ACALL DELAY     

42、SETB P1.6      ACALL DELAY      SETB P1.7      ACALL DELAY           AJMP startDELAY:MOV R7,#250   D1:MOV R6,#250   D2:DJNZ R6,D2    &#

43、160; DJNZ R7,D1      RET      END开发板上的8只LED为共阳极连接,即单片机输出端为低电平时即可点亮LED。程序A:;用最直接的方式实现流水灯ORG 0000H START:MOV P1,#B       ;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#B          

44、0;  ;最下面第二个的LED点亮 LCALL DELAY;延时1秒 MOV P1,#B             ;最下面第三个的LED点亮 (以下省略)LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B LCALL DELAY MOV P1,#B    

45、60;         ;完成第一次循环点亮,延时约0.25秒 AJMP START                     ;反复循环;延时子程序,12M晶振延时约250毫秒DELAY:MOV R4,#2L3: MOV R2 ,#250L1: MOV R3 ,#250L2: DJNZ R3 ,L2 DJNZ R2 ,

46、L1DJNZ R4 ,L3 RET END程序B:;用移位方式实现流水灯org 00h     ;程序上电从00h开始ajmp main   ;跳转到主程序org 0030h    ;主程序起始地址main:mov a,#0feh   ;给A赋值成loop: mov p1,a   ;将A送到P1口,发光二极管低电平点亮lcall delay   ;调用延时子程序rl a    ;累加器A循环左移一位ajmp loop

47、 ;重新送P1显示delay:mov r3,#20   ;最外层循环二十次d1:mov r4,#80   ;次外层循环八十次d2:mov r5,#250   ;最内层循环250次djnz r5,$   ;总共延时2us*250*80*20=0.8Sdjnz r4,d2djnz r3,d1retend51单片机汇编程序集                

48、0; 作者:段磊 文章来源:网络 点击数:1176 更新时间:2008-9-23 20:53:39                  1、片内RAM初始化子程序                  2、片外RAM初始化子程序   &

49、#160;              3、片外RAM初始化子程序(双字节个单元)                  4、内部RAM数据复制程序             &

50、#160;    5、外部RAM数据复制程序                  6、外部RAM数据复制程序                  7、外部RAM数据复制到内部RAM程序    &

51、#160;             8、限幅滤波程序                  9、中位值滤波程序                 

52、 10、N点算术平均滤波                  11、N点加权平均滤波                  12、一阶加权滞后滤波程序         

53、0;        13、双字节取补程序                  14、N节取补程序                  15、双字节无符号数加法程序  

54、0;               16、N字节无符号数加法程序                  17、双字节无符号数减法程序             

55、0;    18、N字节无符号数减法程序                  19、单字节无符号数乘法程序                  20、单字节无符号数乘法程序     &

56、#160;            21、单字节无符号数乘法程序                  22、双字节无符号数乘法程序                &

57、#160; 23、双字节无符号数乘法程序                  24、N字节无符号数乘法程序                  25、单字节无符号除法程序        

58、;          26、单字节无符号除法程序                  27、双字节无符号除法程序                  28、N字节无符号除法程

59、序(组合)                  29、N字节无符号除法程序                  30、N字节数据左移程序          

60、0;       31、原码有符号双字节减法程序                  32、原码有符号双字节加法程序                  33、原码有符号双字节乘法程序 

61、0;                34、原码有符号双字节除法程序                  35、单字节顺序查找程序             

62、;     36、单字节顺序查找程序                  37、双字节字符串顺序查找程序                  38、双字节字符串顺序查找程序    &#

63、160;             39、N字节字符串顺序查找程序                  40、单字节最值查找程序               

64、60;  41、浮点数顺序查找程序                  42、浮点数最值查找程序                  43、单字节折半查找程序        

65、          ;片内RAM初始化子程序                  IBCLR    :MOV    A,R0             &

66、#160;              MOV    R1,A                            CLR    A

67、0;                 IBC1     :MOV    R1,A                        &

68、#160;   INC    R1                            DJNZ   R7,IBC1            

69、;                RET                  ;片外RAM初始化子程序               

70、   EBCLR1   :MOV    A,ADDPL                            MOV    DPL,A        

71、                    MOV    A,ADDPH                          

72、  MOV    DPH,A                            CLR    C             &#

73、160;    EBC11    :MOVX   DPTR,A                            INC    DPTR      

74、0;                     DJNZ   R7,EBC11                         &#

75、160;  RET                  ;片外RAM初始化子程序(双字节个单元)                  EBCLR2   :MOV    A,ADDPL  

76、;                          MOV    DPL,A                    &

77、#160;       MOV    A,ADDPH                            MOV    DPH,A      

78、60;                     MOV    A,R7                         

79、   JZ     EBC21                            INC    R6           &#

80、160;      EBC21    :CLR    A                            MOVX   DPTR,A     &

81、#160;                      INC    DPTR                       

82、0;    DJNZ   R7,EBC21                            DJNZ   R6,EBC21           

83、                 RET                  ;内部RAM数据复制程序              &

84、#160;   ;入口    :R0,R7                  ;占用资源:A                  ;堆栈需求:2字节     &#

85、160;            ;出口    :R1                  IBMOV    :MOV    A,R0        &#

86、160;                   ADD    A,R7                           

87、; MOV    R0,A                            MOV    A,R1              

88、;              ADD    A,R7                            MOV    R1,A 

89、;                 IBM1     :DEC    R0                        

90、0;   DEC    R1                            MOV    A,R0            

91、                MOV    R1,A                            DJNZ   R7,

92、IBM1                            RET                  ;外部RAM数据复制程序  

93、60;               ;入口    :ADDPH,ADDPL,R7                  ;占用资源:ACC          

94、60;       ;堆栈需求:2字节                  ;出口    :R0,R1                  EBMOV1  

95、; :MOV    A,ADDPL                            ADD    A,R7             &

96、#160;              MOV    DPL,A                            CLR    A

97、60;                           ADDC   A,ADDPH                   &#

98、160;        MOV    DPH,A                            MOV    A,R7      &

99、#160;                     ADD    A,R1                        

100、0;   XCH    A,R0                            ADDC   A,#00H            &

101、#160;               MOV    P2,A                  EBM11    :DEC    R0     &#

102、160;                      CJNE   R0,#0FFH,EBM12                       

103、     DEC    P2                  EBM12    :DEC    DPL                &#

104、160;           MOV    A,DPL                            CJNE   A,#0FFH,EBM13  

105、60;                         DEC    DPH                  EBM13   

106、:MOVX   A,R0                            MOVX   DPTR,A               &#

107、160;            DJNZ   R7,EBM11                            RET      &#

108、160;           ;外部RAM数据复制程序                  ;入口    :ADDPH,ADDPL,R6,R7             &#

109、160;    ;占用资源:ACC                  ;堆栈需求:2字节                  ;出口    :R0,R1    &

110、#160;             EBMOV2   :MOV    A,ADDPL                            ADD &

111、#160;  A,R7                            MOV    DPL,A               

112、0;            MOV    A,R6                            ADDC   A,ADDPH   

113、                         MOV    DPH,A                     &#

114、160;      MOV    A,R7                            ADD    A,R1        &#

115、160;                   XCH    A,R0                           

116、; ADDC   A,R6                            MOV    P2,A              

117、0;             MOV    A,R7                            JZ     EBM21

118、0;                           INC    R6                  EBM21 

119、60;  :DEC    R0                            CJNE   R0,#0FFH,EBM22            

120、;                DEC    P2                  EBM22    :DEC    DPL     &

121、#160;                      MOV    A,DPL                       

122、60;    CJNE   A,#0FFH,EBM23                            DEC    DPH          

123、        EBM23    :MOVX   A,R0                            MOVX   DPTR,A    &

124、#160;                       DJNZ   R7,EBM21                       

125、;     DJNZ   R6,EBM21                            RET              

126、;    ;外部RAM数据复制到内部RAM程序                  ;入口    :ADDPH,ADDPL,R7                  ;占用资源:ACC 

127、0;                ;堆栈需求:2字节                  ;出口    :R0           

128、0;      ITEMOV :MOV    A,ADDPL                           ADD    A,R7        

129、;                   MOV    DPL,A                           MOV

130、60;   A,ADDPH                           ADDC   A,#00H                &

131、#160;          MOV    DPH,A                           MOV    A,R0     

132、                      ADD    A,R7                        

133、60;  MOV    R0,A                  ITEM1   :DEC    R0                   

134、0;       DEC    DPL                           MOV    A,DPL        

135、0;                  CJNE   A,#0FFH,ITEM2                           DEC 

136、;   DPH                  ITEM2   :MOVX   A,DPTR                       

137、    MOV    R0,A                           DJNZ   R7,ITEM1            &

138、#160;              RET                                     ;

139、限幅滤波程序                  ;入口    :A,SDAT,DELTY                  ;占用资源:B       

140、0;          ;堆栈需求:2字节                  ;出口    :A                  JUGF

141、ILT :MOV    B,A                            CLR    C              

142、              SUBB   A,SDAT                            JNC    JUGFT1 &

143、#160;                          CPL    A                    &

144、#160;       INC    A                  JUGFT1   :SETB   A               

145、0;            SUBB   A,#DELTY                            JNC    JUGFT3  

146、60;                         MOV    A,SDAT                    

147、0;       RET                  JUGFT3   :MOV    A,B                  &#

148、160;         MOV    SDAT,A                                RET     

149、0;            ;中位值滤波程序                  ;入口    :ADDPH,ADDPL,N              

150、    ;占用资源:ESELSORT                  ;堆栈需求:4字节                  ;出口    :A    

151、0;             MEDFILT :LCALL ESELSORT                            MOV    A,N  &#

152、160;                         CLR    C                     &#

153、160;      RRC    A                            ADD    A,ADDPL                            MOV    DPL,A              

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论