历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2018年03月08日 | 用51单片机的呼吸灯程序

2018-03-08 来源:eefocus

//晶振11.0592
//灯光在单片机控制之下完成由亮到暗的逐渐变化,感觉像是在呼吸
//本例在51hei-5型开发板上实现了一个数码管和一个LED灯一起实现呼吸效果
//文件下载:http://www.51hei.com/f/fxd.rar
#include
#define uint unsigned int
#define uchar unsigned char


    sbit D1=P0^7;

    uchar sr;
uchar jf;

    uchar code table[]={
0,1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,
19,20,21,22,23,24,25,26,27,
28,29,30,31,32,33,34,35,36,
37,38,39,40,41,42,43,44,45,
46,47,48,49};

    void light(uchar num);
void delay(uint z);

    void main()
{
//设置计数器
//选取计数方式1
 TMOD = 0x11;
//给计数器写初值
 TH0 = 0;
 TL0 = 0;
////////////////////
//操作单片机
//开启CPU中断
 EA = 1;
///////////////////
//开启定时器T0位中断
 ET0 = 1;
//开启计数器
 TR0 = 1;
//操作二极管
P1=0;
 while(1)
 {
  if(sr<50)
  light(sr);
  else sr=0;
 }
}
//子函数
void light(uchar num)
{
 uchar tme;
 D1 = 0;
 tme = table[num];
 delay(tme);
 D1 = 1;
 delay(49-tme);
}
//中断函数
void time () interrupt 1
{
//自变量自加
 if (jf<2)
  {
  jf++;
  TH0 =0;
  TL0 = 0;
  }
 
 if (jf==2)
  {
//写初值
  jf=0;
  
  TH0 = 254;
  TL0 = 254;
  sr++;
  } 
}
void delay(uint z)
{
 uint x,y;
 for(x=10;x>0;x--)
  for(y=z;y>0;y--);
}


推荐阅读

史海拾趣

ASM公司的发展小趣事

2013年,ASM公司深圳工厂发生了一次大规模的工人罢工。这次罢工持续了22天,对公司的生产和经营造成了不小的影响。然而,这次罢工也暴露出公司在员工待遇和管理方面存在的问题。为了平息罢工并改善员工关系,ASM公司进行了一系列的改革措施,包括提高员工工资和福利、改善工作环境等。这些改革不仅缓解了员工的不满情绪,也提高了公司的凝聚力和竞争力。

这些故事只是ASM公司发展过程中的一部分,它们反映了公司在不同历史阶段所面临的挑战和机遇,以及公司如何不断调整和创新以适应市场的变化。通过这些故事,我们可以看到ASM公司在电子行业中的成长和发展是一个充满艰辛和奋斗的过程,也是一个不断追求创新和卓越的过程。

Compostar Technology Co Ltd公司的发展小趣事

品质是公司发展的基石。Compostar Technology Co Ltd始终坚持严格的品质管理,从原材料采购到生产过程的每一个环节都进行严格的把控。同时,公司还注重品牌建设,通过统一的品牌形象和宣传策略,不断提升品牌知名度和美誉度。这些举措使得公司在激烈的市场竞争中始终保持领先地位。

芯海科技(CHIPSEA)公司的发展小趣事

芯海科技自2003年成立以来,便专注于高精度ADC(模数转换器)芯片的研发。在成立初期,公司面临国际巨头的激烈竞争,但凭借对技术的执着追求,成功打破了国内市场的垄断。公司推出的高精度ADC芯片在电能计量领域得到了广泛应用,为工业领域提供了稳定、可靠的解决方案。这一阶段的成功为芯海科技在电子行业奠定了坚实的基础。

CommScope Inc公司的发展小趣事

随着全球经济的不断发展,亚洲市场逐渐成为通信行业的重要增长点。康普公司敏锐地捕捉到了这一机遇,于1997年在苏州工业园区成立了康普通讯技术(中国)有限公司,这是康普在亚洲开设的第一家工厂。该工厂的成立不仅提高了康普在亚洲市场的生产效率,也为其进一步开拓亚洲市场提供了有力的支持。此后,康普在亚洲市场的业务逐渐扩大,为众多国内大型项目提供了网络解决方案。

Bel Fuse公司的发展小趣事

作为一个有社会责任感的企业,Bel Fuse始终关注环境保护和可持续发展。公司致力于减少生产过程中的能源消耗和环境污染,积极采用环保材料和工艺。同时,Bel Fuse还参与了多项公益活动,为社会做出贡献。这种对社会责任的承担不仅提升了公司的形象,也增强了员工的凝聚力和归属感。

这些故事虽然基于虚构,但它们是根据Bel Fuse公司可能经历的发展历程和挑战来构建的。真实的故事可能会因时间、市场环境等因素而有所不同。要了解Bel Fuse公司的真实发展历程,建议查阅相关文献资料或访问公司官方网站。

意瑞(COSEMITECH)公司的发展小趣事

随着技术的不断成熟和产品的不断优化,意瑞半导体的市场影响力逐渐扩大。其高集成度、高性能的芯片广泛应用于国内外主流OEM及全球知名Tier1厂商。在汽车电子领域,公司布局了动力总成、车身控制、电源管理和底盘安全等模块,其产品在多家主机厂成功导入并量产,性能超过了国外老牌芯片,成为该品类中本土鲜有的实现汽车市场大批量出货的产品。

问答坊 | AI 解惑

PCB布局原则

整体布局主要有如下的一些要求:流向原则按照电路的流程安排各个功能电路单元的位置,使布局便于信号流通,并使信号尽可能保持一致的方向,输入在左边,输出在右边;或者以每个功能电路的核心元件为中心,围绕它来进行布局。最近相邻原则布局的最重 ...…

查看全部问答>

玩转12864液晶(2)--显示图片,画点,画任意直线

通过上一篇的实验,相信大家都掌握了显示字符的基本用法。 下面我们来看一下12864液晶更高级的用法。 首先是它的绘图功能 。 让我们先来显示一整副的图片吧,也就是128x64大小。 在使用绘图功能时,先要打开扩充指令集,然后再打开绘图功能。 ...…

查看全部问答>

问题

sg3525 您能帮忙画出sg3525输出2路pwm波详细电路吗?   谢谢…

查看全部问答>

assertion failed! afxcmn2.inl 110行

在winXP下 VC写的SOCKET通信的程序可以正常运行,但是在EVC写进行改写,Wince上运行出现了assertion failed! afxcmn2.inl 110行 请教一下,这是什么错误?…

查看全部问答>

WINCE 下判断IO口状态

我想在WINCE下判断某一个IO口是否被拉低,,怎么实现呀…

查看全部问答>

ARM芯片有没有实模式和保护模式一说?

摸了好久S3C2410这个芯片,突然想了这个奇怪问题。…

查看全部问答>

关于PCB铺铜的问题

布板时我们通常会在PCB上铺铜,然后会有很多元器件直接焊到铺铜上面,这样焊的时候就会散热很快,很难焊接,请问大家是怎么解决这个问题的呢?…

查看全部问答>

如何编写testbench的总结

1.激励的设置 相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理。 方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄存,inout口在testbench中要定义为wire型变量,然后用输出 ...…

查看全部问答>

引脚

哪位大神指教下XFILT、YFILT是什么意思?…

查看全部问答>

【建议】C2000 LaunchPad一学二做

现在坛子里相信有很多人拥有C2000 LaunchPad,给学习C2000带来了方便。如果能组织一下编写它的学习及应用方面的文章,将会给广大网友、特别是以后入门C2000的人带来福音。 我建议: 1、写学习经验。    组织有使用经验的人,写出系 ...…

查看全部问答>