历史上的今天
返回首页

历史上的今天

今天是:2025年10月08日(星期三)

正在发生

2022年10月08日 | 51单片机STC89C52控制LED闪烁(将延时程序写成子函数有形参)

2022-10-08 来源:csdn

/*-----------------------包含头文件区域-------------------------*/

#include  //单片机头文件 

/*-----------------------端口/引脚定义区域----------------------*/

sbit LED=P2^0;  //位定义P2.0引脚名为LED

/*-----------------------函数声明区域---------------------------*/ 

void delay(unsigned int xms);//延时函数声明

/*-----------------------主函数区域-----------------------------*/

void main()

{

while(1)  //重复执行while循环体的程序

{

LED=0; //点亮LED

delay(800); //延时800ms

LED=1; //熄灭LED

delay(200); //延时200ms

}

/*----------------------------------------------------------------

函数名称:delay

函数功能:延时

函数形参:xms为延时时间,延时范围0~65535

返 回 值:无

----------------------------------------------------------------*/

void delay(unsigned int xms)

{

unsigned int i,j; //定义无符号整形变量i(范围为0~65535)

for(i=xms;i>0;i--) //执行循环体xms次

for(j=115;j>0;j--); //延时1ms(给i赋1ms的延时值,执行i--指令115次为1ms)

}


推荐阅读

史海拾趣

光磊(GL)公司的发展小趣事

关于晶体管水位自动控制电路,网友们可能会提出多种问题,这些问题可能涉及电路的工作原理、设计细节、实际应用中的挑战以及故障排除等方面。以下是一些可能的问题及相应的回答:

问题1: 晶体管水位自动控制电路的基本工作原理是什么?

回答: 晶体管水位自动控制电路通常利用浮子开关(或水位传感器)来检测水位的变化,当水位达到预设的上下限时,浮子开关会闭合或断开,从而改变晶体管的导通状态。晶体管作为开关元件,控制着继电器(或其他负载)的通断,进而控制水泵(或其他执行机构)的启停,以实现水位的自动调节。

问题2: 如何设计电路以确保准确性和稳定性?

回答: 设计时需要考虑多个因素,包括选择合适的晶体管类型(如NPN或PNP型)、合适的电阻值以限制电流并保护晶体管、使用稳定可靠的水位传感器、以及设计合理的防抖动电路来避免误操作。此外,还需进行充分的测试和调整,确保电路在不同水位和工况下都能准确、稳定地工作。

问题3: 在实际应用中,如何避免误报警或误动作?

回答: 误报警或误动作通常是由于水位传感器的误判或电路的干扰引起的。为了避免这种情况,可以采取以下措施:一是选用高质量、高灵敏度的水位传感器;二是增加滤波电路,减少电路中的噪声和干扰;三是设置合理的延时电路,避免由于水位短暂波动而引起的误动作;四是定期对电路进行检查和维护,确保各部件工作正常。

问题4: 如何调整电路的灵敏度以适应不同的水位控制需求?

回答: 电路的灵敏度可以通过调整电阻值、改变晶体管的型号或选择不同特性的水位传感器来实现。例如,增大电阻值可以减小电路的灵敏度,使得电路对水位变化的响应更加迟缓;反之,减小电阻值则可以提高电路的灵敏度。此外,也可以根据实际需求选择不同精度的水位传感器,以满足不同的控制精度要求。

问题5: 如果电路出现故障,应该如何进行排查和修复?

回答: 当电路出现故障时,首先应检查电源是否正常供电;然后检查水位传感器是否损坏或接触不良;接着检查晶体管、电阻等元件是否损坏或焊接不良;最后检查电路连线是否正确无误。在排查过程中,可以使用万用表等工具进行电压、电流等参数的测量和分析。一旦找到故障点,就可以根据具体情况进行修复或更换元件。

EPT公司的发展小趣事

随着品牌影响力的不断提升,EPT开始积极拓展OEM/ODM业务。公司凭借先进的生产技术和严格的质量管理体系,成功与多家国内外知名企业建立了合作关系。通过为客户提供定制化的产品和服务,EPT不仅实现了业务的快速增长,还为其积累了丰富的行业经验。

台湾君耀(Brightking)公司的发展小趣事

君耀一直注重技术创新和产品研发。公司拥有一支强大的研发团队,致力于开发新型的半导体器件,以满足市场不断变化的需求。同时,君耀还与全球知名的半导体公司合作,共同研究和开发未来的半导体技术。这些努力使得君耀在技术上始终保持领先地位,为公司的长期发展提供了有力保障。

Gravitech公司的发展小趣事

君耀(Brightking)公司于1996年在台湾新竹高科技园区创立,初期专注于防雷元器件的研发和生产。凭借对技术的深入研究和市场需求的敏锐洞察,君耀逐步在台湾的电子器件市场上占得一席之地。随着产品质量和技术含量的提升,君耀的产品开始受到国内外客户的青睐,销售网络逐渐拓展至全球。

Blue Creation公司的发展小趣事

作为一家有社会责任感的企业,Blue Creation公司始终关注环保和可持续发展。公司积极采用环保材料和节能技术,努力降低生产过程中的环境影响。同时,公司还积极参与公益事业,捐资助学、扶贫济困,回馈社会。这些举措不仅提升了Blue Creation的企业形象,也为其赢得了社会各界的广泛赞誉。

以上五个故事分别从不同角度展现了Blue Creation公司在电子行业发展的历程和成就。虽然这些故事是虚构的,但它们所蕴含的企业发展理念和经验对于现实中的企业来说仍具有一定的借鉴意义。

Digital Core Design公司的发展小趣事

1996年,Core Design推出了其标志性作品《古墓丽影》。这款游戏以其独特的女主角Lara Croft和精心设计的游戏世界吸引了全球玩家的关注。Lara Croft成为游戏界最具代表性的女性角色之一,而《古墓丽影》系列也成为Core Design最成功的游戏系列之一。这款游戏的成功不仅为Core Design带来了巨大的经济收益,也使其在全球游戏市场上赢得了极高的声誉。

问答坊 | AI 解惑

手机RF设计技巧(三)

 57. What is the requirement for phase noise at 1k offset, 10kHz offset,       and 100kHz offset for GSM handset? GSM手机的相位噪声为1k、10kHz和100kHz的情况下,需要满足什么条件?   &nbs ...…

查看全部问答>

1602液晶。。。。

1602液晶。。。。…

查看全部问答>

要不要删除重复帖子和复制代码狂

如果单纯为了帖子数量,我支持复制和重复。 但是一个服务器能不能承受这么多复制帖子真让我失望。 比如一个资料,老是发来发去,我觉得很没意思的。 代码也是很多复制,粘贴形式。 解决问题的人少了,都是一些瞎话。比如我帮你顶,我也在等,希 ...…

查看全部问答>

avr单片机用7.3728 MHz或11.0592 MHz如何产生5MS的定时时标?

avr单片机用7.3728 MHz或11.0592 MHz如何产生5MS的定时时标? 我用AVR单片机,晶体是7.3728 MHz或11.0592 MHz,要如何设置定时器才能产生准确的5MS定时中断?…

查看全部问答>

分析下面程序写法中的问题

入门同志编写的程序,简析其写法与表达错误! LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Manchester_encoder IS        PORT(D:IN STD_LOGIC;                  Q ...…

查看全部问答>

为什么同样的测试条件,我们的测试结果不一样呢?

同样的电路HDMI一致性测试,我们北京office的同事和上海的同事测试的结果为什么有时候差距甚大呢?(测试仪器是完全相同的型号,相同的板子)谁有类似的遭遇分享一下?谢谢~~…

查看全部问答>

怎样才能让电源寿命不受制于电容

在电路研发过程中,电容是最常用的电子元器件之一,主要用于平滑、储存能量或者交流电压整流后的滤波,另外还用于非精密的时序延时等。在代表电源寿命的 MTBF预计时,模型分析结果表明电容是影响开关电源寿命的主要因素,因此了解影响电容寿命的因 ...…

查看全部问答>

AP5056 大电流充电管理代理 13927409969 李生

AP5056是一颗超好用的大电流充电管理IC,充电电流可达1A,SOP-8封装。价格低廉,品质稳定,被广泛用于移动电源,PSP等锂电供电产品中。本公司为一级代理商,长期稳定供货。原厂技术支持。需要联系。 …

查看全部问答>

一点一点搭建起程序框架,实现方便移植,异于管理的一个通用模版

这个帖子,实际上可以认为是先前我发的那个帖子 让我们一起来搭建一个 单片机通用程序模版 的 后续篇章。那一章里,主要阐述了我自己的观点和想法,最后觉得比较空,毕竟这个模版要在实际操作中,针对遇到的新情况重新分析,增删修改,才能真正实现 ...…

查看全部问答>

高手们给分析下void (*func(void (*p)(void *)))(void *)

void (*func(void (*p)(void *)))(void *) {      return p; }看了好久没怎么明白。这样写的意思,目的。 [ 本帖最后由 zw357234798 于 2012-9-4 07:39 编辑 ]…

查看全部问答>