amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 769|回复: 8

求助: STC单片机P2口有莫名的脉冲输出!

[复制链接]
发表于 2016-1-19 11:45:00 | 显示全部楼层 |阅读模式
如题,单片机为STC12C5A60S2,使用2片ht1621驱动段式液晶,定义了一块缓存,27字节.
P2.1和P2.6驱动2片74hc595的RCK, 这些脉冲就影响了74hc595的输出.
使用了第2组DPTR,还是有脉冲输出.
放在idata的编译结果: Program Size: data=62.6 xdata=902 code=55754
放在xdata的编译结果: Program Size: data=35.6 xdata=929 code=58094
idata u8 g_LcdBuf[27];  //正常
xdata u8 g_LcdBuf[27]; //有脉冲输出

问题虽然能避开,但是没找到原因,心里总觉得不踏实.
期待各位大牛............

发表于 2016-1-19 12:42:39 | 显示全部楼层
感觉象你访问了外部超出1K的RAM空间了!
 楼主| 发表于 2016-1-19 15:15:59 | 显示全部楼层
EMC菜鸟 发表于 2016-1-19 12:42
感觉象你访问了外部超出1K的RAM空间了!

stc12c5a60s2的ram有 256+1024字节啊.
发表于 2016-1-19 15:43:36 | 显示全部楼层
本帖最后由 chess01 于 2016-1-20 08:51 编辑
bondxie3 发表于 2016-1-19 15:15
stc12c5a60s2的ram有 256+1024字节啊.


STC的1K空间=256+768

仔细看了下datasheet,确实是1280字节,256+1024
发表于 2016-1-19 15:50:09 | 显示全部楼层
chess01 发表于 2016-1-19 15:43
STC的1K空间=256+768

也不是,楼主的单片机一共 1280 字节RAM,其中内部 256,外部 1024!

单看楼主提示的信息看不出问题,怀疑楼主程序里有BUG,导致访问冲出了 1024 的空间!
 楼主| 发表于 2016-1-19 16:24:17 | 显示全部楼层
EMC菜鸟 发表于 2016-1-19 15:50
也不是,楼主的单片机一共 1280 字节RAM,其中内部 256,外部 1024!

单看楼主提示的信息看不出问题,怀 ...

如果超出256+1024,会默认使用外部总线吗?
我仔细检查看看, 对段式液晶的操作都是使用的 偏移+位地址 的方式.
我一段一段得把代码屏蔽后测试过, 如果超出应该每次都会超出, 而脉冲是偶尔出现.
发表于 2016-1-19 16:52:13 | 显示全部楼层
不会默认使用外部总线的,编译器压根不知道你的MCU的DATA  IDATA XDATA的范围。都是用C编程,没有关注RAM的区间范围呀。
发表于 2016-1-19 17:30:33 | 显示全部楼层
bondxie3 发表于 2016-1-19 16:24
如果超出256+1024,会默认使用外部总线吗?
我仔细检查看看, 对段式液晶的操作都是使用的 偏移+位地址 的方 ...

外部总线超出 1024,就会使用外部总线,这个是单片机硬件决定的!

所以如果P2口有你不希望的脉冲,首先检查是不是有对扩展RAM的越界访问!
发表于 2016-1-28 16:04:57 | 显示全部楼层
查一下是不是固件没下载进去,我用最新的下载软件就有这个问题,好像是6.85I第一次能下载进去,后面就下载不进去了,看HEX文件是最新的,看着也是下载进去了。但就是没改变,后来换成6.85E就一切正常了。
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-6-17 09:54

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表