微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 简单流水灯的实现

简单流水灯的实现

时间:11-30 来源:互联网 点击:
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

#include

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

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top