单片机流水灯程序如下:
(1)流水灯的汇编语言实现
             ORG       0000H         ;程序从0地址开始
START:      MOV      A,#0FEH        ; ACC赋值为11111110
LOOP:       MOV      P1,A           ;将累加器A的值赋值给P1                                                                                                                                                                                                                                                                             
            RR          A           ; ACC的内容右移
            CALL     DELAY       ;调用延时子程序
            LJMP     LOOP          ;跳到LOOP处执行
;延时子程序(12MHz晶振)===================
DELAY:      MOV      R7,#255      ;R7寄存器加载200次数
D1:         MOV      R6,#250      ;R6寄存器加载250次数
lp:         DJNZ     R6,lp        ;本行执行R6次,也可以用
;DJNZ     R6,$ 代替
            DJNZ     R7,D1          ;D1循环执行R7次
            RET                            ;返回主程序
            END                           ;结束程序
(2)流水灯的C语言实现
#include<reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar a;
void delay(uint z)//最大值65535
{
while(z--);
}
void main()
{
a=0xfe;//11111110
P1=a;//P10亮
   while(1)
   {
    a=_crol_(a,1);//11111101
P1=a;
   delay(30000);
   }
}


 会员中心
 会员中心 会员注册
 会员注册 返回顶部
返回顶部 刷新页面
刷新页面 下到页底
下到页底