2477|4

48

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

这个164测试小程序里的怪现象 [复制链接]

       这是一个一块164接在串口进行测试的小程序,程序中原本没有delay语句,在keil上仿真正常,但是搭建了电路后出现了怪现象,在164输出端应该只有一个led亮,结果所有的led都亮,只不过亮度稍低一些(见图片1)。如果加上delay语句,就会出现想要的结果(见图片2)。经过试验发现,当延时小于10ms时就开始出现以上现象,延时时间越小越明显,也就是说延时时间越小,其他不该亮的亮度越高。我自己分析,没有delar语句,当p10==0,164输出永远是0xfe ,就相当于延时了,为什么非得有延时语句?在实际使用中我打算在164的每一个输出端接一个光电隔离,再接2803驱动负载,如果不要延时语句,将会出现什么问题?请有经验的朋友指教指教,谢谢!!

void main()
{
        while(1)
        {
                if(p10==0)
                {
                        SerialPortOnly164(0xfe);  
                        delay_1ms(10);
                }
                else
                {
                        SerialPortOnly164(0xff);          
                        delay_1ms(10);
                }
        }
}


1.JPG (178.18 KB, 下载次数: 5)

1.JPG

2.JPG (159.91 KB, 下载次数: 2)

2.JPG
此帖出自51单片机论坛

最新回复

我相信楼主你是没有仔细看164的datasheet的,如果看了datasheet就会知道,数据会在输出上移位,所以你更适合使用595这类的芯片。  详情 回复 发表于 2017-4-24 14:21
点赞 关注
 

回复
举报

994

帖子

3

TA的资源

一粒金砂(高级)

沙发
 
delay时间延长,到1s,人眼分辨不出来
此帖出自51单片机论坛
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

板凳
 
SerialPortOnly164,里面是怎么写的。是不是用扫描的方式去点灯,可能是函数执行过程中,有时候,不该亮的led 的控制脚位电平发生了变化。有没有示波器或逻辑分析仪,看看那些不该的灯的对应引脚一段时间内的信号。当他们有弱光时。如果SerialPortOnly164中,有很短暂的时间,led控制脚位电平变化,循环频率足够高,像你说延时小于10ms. led 使能的占空比就相对大了。延时较大时,这个短暂的led使能时间段占空比很小。肉眼几乎不能识别。
此帖出自51单片机论坛
 
 
 

回复

6040

帖子

196

TA的资源

版主

4
 
我相信楼主你是没有仔细看164的datasheet的,如果看了datasheet就会知道,数据会在输出上移位,所以你更适合使用595这类的芯片。
此帖出自51单片机论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(中级)

5
 
先谢谢各楼朋友的指点!我是自学单片机的,也没开发过什么产品,就是喜欢瞎捣鼓。最近想搞一个小东西,由于io不够用,想到了164,于是遇到了问题,自己有想不通,就求教于大家了。现将部分相关电路图贴上,上面标明了一些市场数据,2803后面的负载没画上,有Led指示灯、直流小电机、蜂鸣器。现在不明白的是:1、有延时和无延时各相关点电位为什么不一样,而且相差很大?   2、在我的原贴里已提过,if(p10==0),如果p10变化不是非常快,不就相当于延时吗,为什么表现的和无延时的一样?  3、后面的负载运行肯定不是1秒2秒时间,它们有时同时运行,有时不同时运行,还要随时查询控制信号,所以不能大量地、长时间地在这里使用延时程序,根据我这次的两个贴图,有没有什么办法(在程序或者在硬件上)采取措施改善?  4、关于改用595,想弄明白164再考虑。 希望各位朋友继续帮助,再次谢谢!

截图04.jpg (183.61 KB, 下载次数: 3)

截图04.jpg

截图05.jpg (185.04 KB, 下载次数: 0)

截图05.jpg
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表