c语言流水灯程序 16,16个发光二极管流水灯程序

本文介绍了使用C语言编写的16个LED流水灯程序,详细解析了程序代码,并分享了在编程过程中的心得体验,包括逻辑思维的重要性、良好的编程习惯以及如何通过Proteus仿真调试程序。在遇到程序问题时,作者通过不断尝试和教师指导,最终解决了程序在执行时的闪烁问题,实现了预期效果。
摘要由CSDN通过智能技术生成

rar.gif

文件:

流水灯16.rar

大小:

32KB

下载:16个发光二极管流水灯程序

作者:流水落花

ORG 0100H

LOOP0: MOV A, #0FEH

MOV P2, #0FEH

MOV R2, #8; R2用于计数

LOOP1: MOV P1, A

LCALL DEL200

RL A

DJNZ R2, LOOP1

MOV P1, #0FFH; 使P1复位

LOOP2: MOV A, #0FEH

MOV P2, #0FDH

MOV R2, #8

LOOP3: MOV P1, A

LCALL DEL200

RL A

DJNZ R2, LOOP3

MOV P2, #0FFH; 使P2复位

LCALL LOOP0; 返回LOOP0

DEL200: MOV R7, #200

DEL1: MOV R6, #250

DJNZ R6, $

DJNZ R7, DEL1

RET

END

下面是我编写这个程序的心得吧!:

一、编写程序时我遇到了许多的麻烦,开始时我把程序编了出来,但是我用Proteus仿真就和我想要的结果不一致,然后我又通过认真的分析,发现我的逻辑思维出错了,用汇编语言编写时要求我们要有很好的逻辑思维能力,我也是在我们老师的指导下才发现&#x

花样最多 8 流水灯代码 #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include /******************************************************************/ /* 花样表格 */ /******************************************************************/ unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0x00,0,0x55,0x55,0xaa,0xaa};//rom允许情况可以无限添加 /******************************************************************/ /* 延时函数 */ /******************************************************************/ void delay(unsigned int cnt)//简易延时 { while(--cnt); } /******************************************************************/ /* 主函数 */ /******************************************************************/ main() { unsigned char i; while(1) { P2=0xFE; //第一个LED亮 for(i=0;i<8;i++) { delay(10000); P2 <<=1; } P2=0x7F; //第七个LED亮 for(i=0;i>=1; } P2=0xFE; //第一个LED亮 for(i=0;i<8;i++) { delay(10000); P2 <<=1; P2 |=0x01; } P2=0x7F; //第七个LED亮 for(i=0;i>=1; P2 |=0x80; } /*下面通过查表方法获得花样参数*/ for(i=0;i<16;i++)//查表可以简单的显示各花样 实用性更强 { delay(20000); P2=seg[i]; } } } 补充: 再给你一个流星雨,这个程序有点暴力。。。 #include #include #define uint unsigned int void delay(uint n) { while(n--); } main() { mmm:P1=0xfe; delay(15000); while(1) { P1=P1<<1; delay(15000); if(P1==0x00) {P1=0x01;delay(15000);goto mm;} } mm: while(1) { P1=_crol_(P1,1)+1; delay(15000); if(P1==0xff) {delay(15000);goto mmm;} } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值