历史上的今天
返回首页

历史上的今天

今天是:2025年12月19日(星期五)

正在发生

2022年12月19日 | 51单片机实现4个按键控制8个LED灯四种状态

2022-12-19 来源:zhihu

电路图

元件清单

程序(C语言)

#include

sbit p3_0=P3^0;

sbit p3_1=P3^1;

sbit p3_2=P3^2;

sbit p3_3=P3^3;

void delay(unsigned char i);

void main()

  unsigned char ledctr;

  P3=0xff;

  while(1)

  {

    ledctr=P3;

switch(ledctr)

{

  case 0xff:P1=0x00;break;

  case 0xfe:P1=0xff;break;

  case 0xfd:P1=0x55;delay(200);P1=0xaa;delay(200);break;    

  case 0xfb:P1=0xf0;break;

  case 0xf7:P1=0x0f;break;  

  

  default:;

}

}

void delay(unsigned char i)

{

  unsigned char j,k;

  for(k=0;k  for(j=0;j<255;j++);

}


推荐阅读

史海拾趣

广东长利光电(Changli Optoelectronic)公司的发展小趣事

进入21世纪,广东长利光电开始将目光投向国际市场。公司积极参加各种国际展览和交流活动,与世界各地的客户建立了广泛的联系。凭借优质的产品和服务,公司逐渐在国际市场上崭露头角。为了更好地服务全球客户,广东长利光电在中国设立了多个办事处,并建立了完善的销售和服务网络。

广东爱晟电子(exsense)公司的发展小趣事

为了进一步扩大市场份额,爱晟电子制定了国际化发展战略。公司积极参加国际电子展会和论坛,与国际同行进行交流合作。同时,公司还加大了对海外市场的拓展力度,产品出口到欧美、东南亚等多个国家和地区。这些举措使得爱晟电子在国际市场上获得了更多的认可和机会。

Electro-Optical Systems Inc公司的发展小趣事

EOS公司成立于1983年,创始人是一群热衷于红外技术的专家。他们深知红外探测器在军事、科研和工业领域的重要性,于是决定投身于这一领域。初创时期,EOS面临着资金短缺、技术难度大等挑战,但团队成员凭借着对技术的执着和对市场的敏锐洞察,逐步攻克难关,成功研制出第一批红外探测器产品。

DENWIRE公司的发展小趣事

作为一家有着高度社会责任感的企业,EOS始终关注环保和可持续发展问题。他们采用环保材料和绿色生产工艺,降低产品对环境的污染。同时,EOS还积极参与社会公益事业,捐资助学、扶贫济困等活动不断。这些举措不仅提升了企业的社会形象,也为公司的可持续发展奠定了坚实基础。

展恒电子(Broadic)公司的发展小趣事

2012年,展恒电子与FANSO(孚安特)签订战略合作协议,共同向智能电表厂家提供配套销售服务。这一合作不仅拓宽了展恒电子的销售渠道,也提升了公司在智能电表市场的影响力。此后,展恒电子继续与多家知名企业建立战略合作关系,通过资源共享和优势互补,实现了共赢发展。

Good Will Instrument Co., Ltd.公司的发展小趣事

自2010年起,展恒电子专注于智能仪表行业,凭借其核心技术和横向联合多家关键器件供应商的策略,为水、电、气、热四表市场提供整套解决方案。随着业务的不断拓展,公司逐渐积累了大量的行业知名客户,进一步巩固了其在智能仪表领域的领先地位。同时,公司还积极向新能源、物联网、安防家居等多个领域拓展,以实现业务的多元化发展。

问答坊 | AI 解惑

基于ARM控制器LPC2294的CAN/PCI智能通信卡设计

基于ARM控制器LPC2294的CAN/PCI智能通信卡设计郑玉婷,彭琦(西安电子科技大学电子工程学院,陕西 西安 710071) 0 引言 LPC2294是PHILIPS公司推出的一款功能强大、超低功耗且具有ARM7TDMI内核的32位微控制器。它具有丰富的片上资源,完全可以满足 ...…

查看全部问答>

请教个大家FFT 算法的问题

有一段连续的模拟信号从AD输入,我用单片机采样256个数据做FFT变换, 有几个问题不明白请执教: 1。 假如这256个数据做完FFT,是不是又要重新采集新的256个数据才能做FFT,  还是只要再采集一个数据,然后跟前面的255个数据组成一段数据来 ...…

查看全部问答>

单片机c语言精确延时

51单片机 Keil C 延时程序的简单研究 (晶振12MHz,一个机器周期1us.) void delay(void) { unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 以上就是利用C51语言编写的一个延时函数,下面这段代码则 ...…

查看全部问答>

WINCE中如何调节显示字体的大小和颜色

我用的2440的串口调试助手的程序,想让输入和显示的字体变大并且变为红色,如何做到啊。…

查看全部问答>

请问越南语的UNICODE编码在哪可以查到啊

请问越南语的UNICODE编码在哪可以查到啊…

查看全部问答>

lcd液晶显示 端口设置问题

我是用的1602lcd液晶显示器,想用mega16单片机的porta端口输出,不知道该怎样设置, DB4~DB9  -------PA4~PA7 RS       -------PA3 EN       -------PA2 请高手帮助。…

查看全部问答>

DVD光驱拷贝和刻录速度变慢

我的三星DVD刻录光驱 最近拷贝和刻录的速度都变慢了 拷贝光盘里的文件cpu就100% 刻录文件的时候4个G的文件以前10分钟就刻完了 现在要刻一个多小时 系统没有病毒 磁盘空间有人足够大 重做了系统还是不行 时什么原因啊…

查看全部问答>

用c#写的关于udp协议的通信,在wince下边有影响吗??

现在还没有开始写,先打听清楚下,这个能行吗?…

查看全部问答>

RTC备份数据区与ADC电源关系???

                                 最近在使用STM32F103RB时,出现了断电后再上电时备份数据区数据丢失的现象,不知道是什么原因,最初在设计的时候芯 ...…

查看全部问答>