历史上的今天
返回首页

历史上的今天

今天是:2025年08月12日(星期二)

正在发生

2021年08月12日 | 51单片机心形灯实现按键控制流水编程

2021-08-12 来源:eefocus

实现按键K1实现从左向右流水,按键K2实现从右往左流水,按键K3实现暂停流水,按键K4实现继续流水

注意:本代码存在小小BUG即按键K1以后可以按键K3和K4控制流水,不能按K2中断K1流水操作来实现K2从右向左流水。按键K2对于K1也同理!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

心形灯原理图

在这里插入图片描述

编译软件:Keil uVision5

(如有需要可点此链接下载:https://download.csdn.net/download/qq_36931762/11343174)

单片机程序下载软件:STC-ISP

(如有需要可点此链接下载:https://download.csdn.net/download/qq_36931762/11343157)


程序代码:

灯状态处于0亮1灭

#include "reg52.h"

sbit k1 = P3^2;

sbit k2 = P3^3;

sbit k3 = P3^4;

sbit k4 = P3^5;


unsigned char code table[]={0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};

unsigned char code table1[]={0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe};


void Delay(unsigned int xms){

unsigned int i, j;

for(i=xms;i>0;i--){

for(j=110;j>0;j--);

}

}

unsigned int flag=0;

void checkflag(){

if(k3==0){

flag=1;

}

while(flag==1){

if(k4==0){

flag=0;

}

}

}


void main(){

unsigned char i;

while(1){

if(k1==0){

P3=0;

Delay(1000);

checkflag();

P3=0xff;

checkflag();

for(i=0;i<8;i++){

P0 = table[i];

Delay(1000);

checkflag();

}

P0=0xff;

checkflag();

for(i=0;i<8;i++){

P2 = table1[i];

Delay(1000);

checkflag();

}

P2=0xff;

checkflag();

}

if(k2==0){

for(i=0;i<8;i++){

P2 = table[i];

Delay(1000);

checkflag();

}

P2=0xff;

checkflag();

for(i=0;i<8;i++){

P0 = table1[i];

Delay(1000);

checkflag();

}

P0=0xff;

checkflag();

P3=0;

Delay(1000);

checkflag();

P3=0xff;

checkflag();

}

if(k4==0){

P3=0;

Delay(1000);

checkflag();

P3=0xff;

checkflag();

for(i=0;i<8;i++){

P0 = table[i];

Delay(1000);

checkflag();

}

P0=0xff;

checkflag();

for(i=0;i<8;i++){

P2 = table1[i];

Delay(1000);

checkflag();

}

P2=0xff;

checkflag();

}

}

}

推荐阅读

史海拾趣

ADMOS公司的发展小趣事

面对不断变化的市场需求和技术趋势,ADMOS公司始终保持着对创新的热情和追求。公司投入大量资源用于研发新的技术和产品,不断推出具有创新性和竞争力的产品。这些创新成果不仅提升了ADMOS在市场上的竞争力,也为公司的未来发展指明了方向。

Cressall Power Resistors公司的发展小趣事

随着国内市场的饱和,Cressall开始将目光投向国际市场。公司积极参与国际电子行业的展会和交流活动,与国际同行建立了广泛的联系。通过与国外企业的合作,Cressall不仅引进了先进的技术和管理经验,还成功打开了多个海外市场。同时,公司还加强了与国际知名企业的战略合作,共同开发新产品,进一步提升了公司的国际竞争力。

宜源科技(ETERNAL)公司的发展小趣事

宜源科技公司深知品质对于企业长远发展的重要性。因此,公司从原材料采购到生产流程控制,再到产品出厂检验,都严格遵循国际标准和行业规范。通过不断提升产品品质,宜源科技赢得了客户的信赖和市场的认可,逐渐树立起自己的品牌形象。

FEMA Electronics Corporation公司的发展小趣事

FEMA在追求经济效益的同时,也积极履行社会责任。公司积极参与公益事业和慈善活动,为社会做出了积极贡献。同时,FEMA还注重环保和可持续发展,努力降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。在履行社会责任的过程中,FEMA实现了经济效益和社会效益的双赢。

Curtis Electromusic Specialties Inc公司的发展小趣事

随着全球环保意识的不断提高,电子行业对环保材料的需求也日益增长。CUI公司敏锐地抓住了这一市场机遇,积极投入研发,成功开发出了一种绿色环保型的碘化亚铜生产工艺。这种工艺不仅降低了生产过程中的能耗和排放,而且提高了产品的纯度和质量。通过推广这一工艺,CUI公司不仅赢得了客户的青睐,也为行业的绿色发展做出了积极贡献。

BusBoard公司的发展小趣事

在竞争激烈的电子行业,技术创新是企业生存发展的关键。BusBoard公司深知这一点,因此不断加大研发投入,引进高端人才,推动技术创新。一次偶然的机会,公司研发团队发现了一种新型材料,可以显著提高电路板的性能和稳定性。经过反复试验和优化,这一技术突破最终转化为实际产品,并成功推向市场。这一创新不仅提升了BusBoard公司的竞争力,也为客户带来了更优质的产品体验。

问答坊 | AI 解惑

STM32 中断与嵌套NVIC 快速入门。

TM32 中断与嵌套NVIC 快速入门。 我也是靠看这本书才弄懂的: Cortex-M3 权威指南 Joseph Yiu 著 宋岩 译 其实很简单。 //CM3 有 最多240个中断(通常外部中断写作IRQs),就是 软件上说的 IRQ CHANAELx(中断通道号x) 每个中断有自己的可编 ...…

查看全部问答>

请好心人帮忙下载一下软件,然后发我! 万分谢谢.

http://www.96qd.com/driver/softdown.asp?softid=166173 请哪位好心人帮我下载这个驱动程序,之后压缩打包后发我一下, 万分谢谢! 我的email: hkds2008@163.com 在线等!…

查看全部问答>

如何对第二代身份证的内部信息进行过读写

请问各位大虾,有没有人对第二代身份证的内部信息进行过读写,或者进行二次开发,如何读写,有没有什么相关的设备。…

查看全部问答>

【我给xilinx资源中心做贡献】Xilinx Spartan-3E开发板相关资源

概述 Spartan-3E初学者电路板向工业上基于Spartan-3E电路设计平台提供了最受欢迎最超值的产品。板载的50万门Spartan 3E FPGA可以构建32位RISC处理器和DDR接口。开发板上拥有的Xilinx Platform Flash、USB和JTAG并 ...…

查看全部问答>

急请教,这是哪个公司的产品!谢谢

最近在弄气敏型烟雾监测装置,手里面有一个传感器元件,性能测试不错,但是不知道是哪个厂家的产品,只能从产品上面看到企业logo。 急求各位大侠,哪个知道是哪个公司的产品吗?…

查看全部问答>

MSP430F149内部资源(一)

一、上电复位 POR 和 上电清除 PUC 二、低功耗控制 但系统时钟发生器基本功能建立之后,CPU内的状态寄存器SR中的SCG1、SCG2、OscOff、CpuOff是低功耗的重要控制位; 系统工作模式一共有6种,1种活动模式和5种低功耗模式; 可以通过设置控制位使 ...…

查看全部问答>

430 IO 数字量

430的IO都是数字量类型的管脚,如果电流经模数转换后的数字量可不可以1个输出接一个IO口呢,在程序里循环扫描这几个IO口,来获得这个数字量,不知道这个想法是否可行,不行的话,麻烦讲解一下 …

查看全部问答>

晒WEBENCH设计的过程+500流明LED设计

本帖最后由 游乐场 于 2014-7-16 21:51 编辑 普通的白炽灯要有500流明的光通量大概需要60W,而500流明的LED大概在5W到20W左右,每一盏LED都比白炽灯更加节能。现在用WEBENCH设计一款500流明光通量的LED。第一步  在LED设计框选择输入设 ...…

查看全部问答>

一点点小分享

偶尔看到群里各种没法编译,我觉得要上阵必须要磨好枪,不过我最近很忙,没什么时间学习瑞萨,只能靠挤时间来完成。 我的版本是2.02的,也能完成大家所要求的大部分操作。在此再次说明一下,单纯使用光碟里面的程序是不能完成下载程序的,就是说使 ...…

查看全部问答>

求个STM32编译MDK 或 IAR。

求个STM32编译MDK 或 IAR。 …

查看全部问答>