找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教STC15与STC8A单片机读写片内EEPROM的区别?

[复制链接]
跳转到指定楼层
楼主
ID:1087927 发表于 2023-7-10 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一直用STC15单片机,想玩下STC8A。买了几个STC8A4K。
发现:
1,
在推3极管+蜂鸣器时。
STC15可以PXM0=0X00;PXM1=0X00;蜂鸣器就响。
STC8要     PXM0=0X01;PXM1=0X00;(设为推挽才行)
2,
STC8读写片内EEPROM,(STC15一直在用读写片内EEPROM)
STC8A用官方例程(下载软件带那个),没直接用过,改用官方STC8A.H,屛蔽重复定义。
搞个按键点灯,
不加擦,写程序,正常;
加了擦,写程序,死机一样,灯不亮,按键没反应,在死循环跳不出来?没加狗。

先请教大家,回头再研究。

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

使用道具 举报

沙发
ID:712097 发表于 2023-7-10 13:36 | 只看该作者
STC15通用I/O口复位后为:准双向口/弱上拉(8051传统I/O口)。
每个IO口驱动能力均可达到20mA,但整个芯片最大不要超过120mA。

STC8系列规格书只有以下描述:
所有的GPIO均支持如下4种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式。

推测是STC8系列的准双向模式驱动电流不足,需要推挽模式才行。
回复

使用道具 举报

板凳
ID:111463 发表于 2023-7-10 15:15 | 只看该作者
1. 准双向IO时,弱上拉拉电流很弱的,一般是灌电流,看此时驱动蜂鸣器电路是灌电流还是拉电流,如果是n管驱动,是需要用推挽的。
2. 注意擦除是需要时间的,官方说是4-6ms,建议更长一点,建议先定位到问题,看是不是死循环中。
回复

使用道具 举报

地板
ID:213173 发表于 2023-7-10 15:54 | 只看该作者
1.
STC15 系列默认端口模式准双向,部分型号的部分端口默认高阻。以用户手册为准。
STC8 系列大部分型号除P3.0、P3.1默认端口模式准双向,其它端口默认高阻。少数例外。以用户手册为准。
2.
STC15 系列的EEPROM地址是固定范围,大小不可设置。ISP15型号的芯片的EEPROM可设置于用户程序以外的剩余扇区。以用户手册为准。
STC8 系列大部分型号的EEPROM地址是固定范围,部分型号或相同型号不同生产日期的EEPROM大小可设置。部分型号的EEPROM可设置于用户程序以外的剩余扇区。以用户手册为准。
楼主加了擦,写程序后运行出错是没有按芯片具体型号的EEPROM使用方法控制EEPROM地址,误将部分用户程序擦除所致。
回复

使用道具 举报

5#
ID:1085441 发表于 2023-7-10 16:54 | 只看该作者
如果STC8A4K不想用推挽输出,可以用准双向IO模式,加一个上拉电阻。
回复

使用道具 举报

6#
ID:1087927 发表于 2023-7-11 08:28 | 只看该作者
本帖最后由 南海6496 于 2023-7-11 10:22 编辑

谢谢大家指点,
莫名其妙,,,,,,行了。
硬件没动(专门打的板,一体,不太存在松动什么的),
软件比不行时似乎也没有什么改变,15用了有4,5年。
都是常规设置:PXM0,PXM1都=0X00。
回头再看看。
编辑补充:
可能是测试初时的程序太粗糙了。
按键没消抖,延时不准等等之类。
后来按常规认真搞了下,可能就好了。
回复

使用道具 举报

7#
ID:1087927 发表于 2023-7-11 10:56 | 只看该作者
怎么回复在我的贴子看到回了,打开又没的?很长时间了。
解决了,
可能刚试时程序太粗糙了,
按键没消抖,延时不太准之类。
回复

使用道具 举报

8#
ID:1034262 发表于 2023-7-11 13:29 | 只看该作者
STC15与STC8A单片机读写片内EEPROM的区别只有一个:STC8系列多一个速度设置寄存器IAP_TPS,写入主频值(MHZ),比如12MHz,IAP_TPS=12;
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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