历史上的今天
返回首页

历史上的今天

今天是:2025年10月27日(星期一)

正在发生

2022年10月27日 | 52单片机IO口输出点亮你的LED

2022-10-27 来源:csdn

特殊功能寄存器SFR声明

我们想要使用单片机的IO口就要先定义它的地址,我们可以从芯片资料上找到IO口对应的地址(也可以直接网上搜)

单片机C语言SFR声明:


sfr P0 = 0x80;

sfr P1 = 0x90;

sfr P2 = 0xA0;

sfr P3 = 0xB0;//定义P0~P3


定义好以后,通过控制P0~P1,我们可以同时控制他们对应的8个IO口,当然这次我们只需要点亮一两个LED,只需要用到一两个IO口,所以可以用下面的方法单独定义一个IO口。


sbit LED0 = P1 ^ 0;

sbit LED1 = P1 ^ 1;

sbit LED2 = P1 ^ 2;

sbit LED3 = P1 ^ 3;

sbit LED4 = P1 ^ 4;

sbit LED5 = P1 ^ 5;

sbit LED6 = P1 ^ 6;

sbit LED7 = P1 ^ 7;//分别定义P1的8个IO口


注意:定义IO口要大写


头文件

前面我们使用sfr来定义IO口,如果每次都要一条一条的输入sfr来定义会非常麻烦,这时我们可以用头文件的方法来代替刚才的方法,52单片机C语言的头文件是

这个头文件里就包含了大部分定义,方便快捷。那为什么还要讲sfr声明呢?其实就是为了更好的理解头文件的核心内容。


代码参考

给led0赋值0可以让其对应的IO口发出低电平的信号,从而点亮led。


#include


//sfr P1 = 0x90;//定义P1寄存器地址


sbit led0 = P1^0;//led0 第1个led

sbit led7 = P1^7;//led7 第8个led


void main()

{

// led0 = 0;//低电平 点亮led0

// while(1);//使程序停在这(死循环)

while(1)

{

led0 = 0;

led7 = 0;

}

}


下面就是最终成果图,黑色框框里就是我们点亮的第1个和第8个led。

参考内容链接: https://www.bilibili.com/video/BV1Kt411Q7aV?p=4.

推荐阅读

史海拾趣

Hirel Systems Ltd公司的发展小趣事

对于四通道红外遥控器接收器电路,网友可能提出的问题涉及多个方面,以下是一些可能的问题及回答:

一、技术原理类问题

  1. 问题:四通道红外遥控器接收器电路是如何工作的?
    回答:四通道红外遥控器接收器电路主要通过光电二极管接收遥控器发射的红外信号,经过放大、解码等处理,最终识别出不同的按键指令,并控制相应的设备执行操作。具体来说,当遥控器发射出特定频率的红外光信号时,光电二极管将光信号转换为电信号,经过放大电路放大后,送入解码器进行解码,解码器根据解码结果输出相应的控制信号,控制设备执行相应的操作。

  2. 问题:接收器电路中的关键元件有哪些?
    回答:接收器电路中的关键元件包括光电二极管(用于接收红外光信号)、放大器(用于放大微弱的电信号)、解码器(用于解码信号并输出控制信号)以及可能的滤波电路(用于滤除噪声干扰)等。这些元件共同协作,实现红外信号的接收和处理。

二、故障排查与维修类问题

  1. 问题:接收器无法接收到信号,可能的原因有哪些?
    回答:接收器无法接收到信号的可能原因包括:

    • 光电二极管损坏或老化,导致无法有效接收红外光信号。
    • 接收器电路中的连接线松动或接触不良,导致信号传输中断。
    • 放大器或解码器故障,无法对接收到的信号进行正常放大或解码。
    • 接收器受到外界干扰(如光线、电磁干扰等),影响信号的接收和处理。

    针对以上问题,可以逐一检查光电二极管、连接线、放大器、解码器等元件的状态,并采取相应的维修或更换措施。同时,注意避免将接收器放置在易受干扰的环境中。

  2. 问题:如何排查和解决接收器响应延迟或误动作的问题?
    回答:排查和解决接收器响应延迟或误动作的问题可以从以下几个方面入手:

    • 检查遥控器发射的红外信号是否正常,包括信号的频率、强度等是否符合接收器的要求。
    • 检查接收器电路中的滤波电路是否设置得当,以避免噪声干扰导致误动作。
    • 检查解码器的解码逻辑是否正确,以确保能够准确识别出遥控器发射的指令。
    • 如果以上均正常,可以考虑检查接收器的电源系统是否稳定,以及是否有其他电路元件故障导致的影响。

    针对具体问题,可以采取相应的调整或维修措施来解决。

三、应用与拓展类问题

  1. 问题:四通道红外遥控器接收器电路可以应用于哪些场景?
    回答:四通道红外遥控器接收器电路可以广泛应用于各种需要遥控控制的设备中,如智能家居系统(如电视、空调、灯光等的遥控控制)、工业自动化控制(如电机、阀门等的远程控制)、安防监控系统(如摄像头、报警器的遥控操作)等。通过扩展通道数量和增加控制逻辑,还可以实现更复杂的控制功能。

  2. 问题:如何对四通道红外遥控器接收器电路进行升级或改造?
    回答:对四通道红外遥控器接收器电路进行升级或改造时,可以考虑以下几个方面:

    • 升级光电二极管或放大器等关键元件的性能,以提高接收灵敏度和信号处理能力。
    • 增加滤波电路或改进解码算法,以减少噪声干扰和提高解码准确性。
    • 扩展通道数量或增加控制逻辑,以实现更复杂的控制功能。
    • 引入无线通信模块(如Wi-Fi、蓝牙等),将红外遥控与无线控制相结合,提高控制的灵活性和便捷性。

    在进行升级或改造时,需要根据具体的应用需求和技术条件进行选择和设计。

Epitex Inc公司的发展小趣事

Epitex非常重视企业文化的建设和团队精神的培育。他们倡导“创新、协作、务实、共赢”的价值观,鼓励员工积极创新、勇于挑战。同时,Epitex还注重员工关怀和福利待遇的提升,为员工提供良好的工作环境和发展空间。

在团队建设方面,Epitex注重培养员工的团队协作能力和沟通能力。他们定期组织团队活动和培训项目,增强团队的凝聚力和向心力。这种积极向上的企业文化和高效的团队协作为Epitex的持续发展提供了有力保障。

Cosel公司的发展小趣事

1967年,Cosel公司的前身——木村电气销售(个人独资)在日本正式成立,标志着Cosel公司创业之路的开始。创始人凭借对电子行业的敏锐洞察和深厚技术背景,带领公司逐步在竞争激烈的市场中站稳脚跟。随着业务的不断拓展,1969年,公司撤消了木村电气销售,并成立了ELCO株式会社,这一变革为公司后续的发展奠定了坚实基础。

ATOP_Technologies公司的发展小趣事

在追求技术创新的同时,ATOP Technologies也始终注重品质管理和品牌建设。公司通过了ISO-9001认证,从产品的研发设计到生产,所有的流程都严格遵循最佳品质原则。此外,ATOP Technologies还注重品牌形象的塑造和推广,通过参加行业活动、举办技术研讨会等方式,不断提升品牌知名度和影响力。

Cedrat Technologies公司的发展小趣事

随着技术的不断进步和产品质量的提升,Cedrat Technologies开始积极拓展国际市场。公司凭借其卓越的技术实力和优质的产品服务,成功打入欧美等发达国家市场,赢得了众多客户的青睐。同时,公司也积极参与国际电子行业的交流与合作,提升了品牌知名度和国际影响力。

这些故事只是Cedrat Technologies在电子行业发展中的一小部分缩影,它们展示了公司在技术创新、产品应用和市场拓展等方面的努力和成果。未来,随着电子行业的不断发展和变革,相信Cedrat Technologies将继续保持其领先地位,为行业的发展贡献更多的力量。

Charcroft Electronics Ltd公司的发展小趣事

在电子行业的早期,Charcroft Electronics Ltd公司以其对新兴技术的敏锐洞察力和创新研发能力脱颖而出。公司不断投入研发资源,开发出一系列具有竞争力的电子元器件产品,这些产品以其优异的性能和稳定性赢得了市场的广泛认可。同时,公司还积极与高校和研究机构合作,共同探索新的技术应用领域,为公司的长远发展奠定了坚实的基础。

问答坊 | AI 解惑

关于用51单片机 实现语音控制小车的设计!

本人想用51单片机实现语音控制小车的前进,后退,停止,左传,右转,但是由于能力所限,对于具体的声音信号的处理过程不太了解,想请高人帮助解决下关于电路,所用元件的设计。具体可以用那些声音处理芯片等。…

查看全部问答>

2009年全国试题征集大全

本帖最后由 paulhyde 于 2014-9-15 09:32 编辑 与大家共享下,网上收集来的,一共12个WORD! [ 本帖最后由 clr110110 于 2009-8-24 21:37 编辑 ]  …

查看全部问答>

菜鸟问题:中断接收的一串数据要存起来再发送,怎么定义这个数组

如题,在串口中断中要接收一串193个数据的字符串,怎样定义一个数组来存储这个字符串,中断里暂时把字符串存在接收缓冲器里,在中断外怎么定义个数组存储?或者存在EEPROM里面,那里面可以定义数组吗?…

查看全部问答>

请教PDA开发

我用EVC开发PDA 对PDA有特殊要求吗,是不是像HP、DELL等普通PDA,还是必须用供二次开发的PDA 另外我如果用HP HX2490C的PDA,开发时用从微软官网上下载的SDK可以吗,还是要用HP hx2490c的专用SDK 多谢了!…

查看全部问答>

I2t

一般整流桥会有一个参数I2t,大家来说说这个参数在设计时提醒我们应该考虑哪些方面?…

查看全部问答>

周公的LPC1114开发板IIC程序是不是有点毛病大家看看

/*********************************************************************************************************** Function name:       I2C_ReadNByte** Descriptions:        ...…

查看全部问答>

官方的FlashLoaderDemoV1.2无法使用com10以上的串口

如附图:我的程序已经改得可以了。请下载使用V0.7版。…

查看全部问答>

有源滤波器的Q值有什么意义?

《基于运算放大器和模拟集成电路的电路设计》一书中有源滤波器章节里提到了Q值,这个Q值越大,峰化越明显,可峰化同时也放大了增益。 请问 这个Q值到底有什么意义呢?…

查看全部问答>

这个typedef 怎么用

/*-----------------------------------------------------------------------------Define the structure of the Capture Driver Object ------------------------------------------------------------------------------*/typedef struct { Uint ...…

查看全部问答>

用单片机+DA实现的话,若要模拟锂电池的输出是否直接将DA输出串联?

如题,用单片机+DA实现的话,若要模拟锂电池的输出是否直接将DA输出串联?…

查看全部问答>