电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

简单流水灯的实现程序

作者:佚名    文章来源:本站原创    点击数:    更新时间:2013/4/14

单片机流水灯程序如下:

(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);

   }

}

Tags:单片机,流水灯,程序  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询