找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2447|回复: 2
打印 上一主题 下一主题
收起左侧

STC12单片机的复位问题

[复制链接]
跳转到指定楼层
楼主
ID:283954 发表于 2020-7-7 00:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我最近完成了一个电子琴控制板,采用2个MCU,一个是STC15作扫描键盘用(12X8),得到的音符送给STC12再处理,一切妥当,
但开机时偶尔会出现怪现象,我的程序开始时会有一段延迟程序,指示灯会闪,几秒后就进入主程序,但偶尔会开机后得等一段长
时间(约半分钟)再进入主程序,但不会死机,操作也正常,这条虫困扰了一段时间,而且是无解的,我因此怀疑是STC12的复位出现问题。

我的STC12的晶振频率是18M,根据手册:
复位电路:时钟频率低于12M时,可以不用C1,R1接1K电阻到地时钟频率高于12M时,建议使用第二复位功能。
我因为一开始就用11M的晶振,所以就用1K接地,后来改用18M了,还是1K接地,好像也没事,如今到了定型了,就出现这个问题,而且似乎
没有解决之道,改回11M的话,所有UART的定时器都得改,红外线程序的定时LOOP得重新测定,更何况也不确定用11M之后问题就得到解决,
最要命的是那个RST2的脚已经给触摸IC用了,无法使用第二复位功能。

我以前写程序曾经用到这个软重置命令:MOV 0C7H, #00100000B ;RESET TO AP 去重置STC12,发现偶尔会失败,所以每次都用两次命令,
算是成功了,但也发现一些寄存器或RAM并没有归零,所以都在开始处先来个CLEAN RAM的动作:
MAIN:
CLEANRAM:     ;THIS CLEAR INTERNAL RAM FFH TO 00H
MOV A, #0
MOV R0, #0FFH
CLEANRAM1:
MOV @R0, A
DJNZ R0, CLEANRAM1

总之我对STC12的复位充满疑惑,不知道各位前辈是否有这方面的经验可以分享,我现在设计电路都开始用STC8了,连那颗1K电阻也免了,
就不明白为何当年的STC12内建了什么MAX810的复位电路还会留下1K的尾巴,现在的STC15和STC8都割掉了,感恩啊!

至于我这片电子琴控制板该怎么善后呢?那天走街看风景忽然灵机一动,这上面不是有另一颗STC15吗?开机后就让STC15输出一个高电位
去复位STC12不就得了,还没去做,应该可以啦。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:282850 发表于 2020-7-7 09:04 | 只看该作者
原来用过MSP430F149主控,电源干扰导致POR非正常,程序死锁,加了一个MSP430F2001做为复位及电源监测,真正的双CPU
回复

使用道具 举报

板凳
ID:283954 发表于 2020-7-13 00:05 | 只看该作者
f556 发表于 2020-7-7 09:04
原来用过MSP430F149主控,电源干扰导致POR非正常,程序死锁,加了一个MSP430F2001做为复位及电源监测,真正 ...

我到现在还没有做过用市电的制作,都是用电池的,所以幸运没有电源干扰的烦恼,连看门狗也未用上。以前对说明书上的某些规定比较不在意,现在吃了点亏,以后会认真了。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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