LED灯与数码管同时使用时,存在暗闪现象,应如何解决?

一、代码如下:

二、显示界面

八盏LED灯会以很微弱的灯光闪烁。

三、分析原因

       现场被破坏:Led_Proc()函数中,LED和蜂鸣器的操作是直接对端口进行赋值,没有考虑到操作过程中中断的影响。如果在对端口操作期间,恰好发生中断,中断里面又加入了Seg_Disp()数码管显示函数,也对相关端口有读写操作,为此出现了现场被破坏,导致LED状态异常闪烁,出现暗闪现象。

四、解决办法

       可以采用关中断(EA = 0)的方式,在对LED端口进行相关操作时,临时屏蔽中断;操作完成之后再开启中断(EA = 1),确保LED端口操作的原则性。

修改后代码如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值