标题:
请教STC15与STC8A单片机读写片内EEPROM的区别?
[打印本页]
作者:
南海6496
时间:
2023-7-10 10:29
标题:
请教STC15与STC8A单片机读写片内EEPROM的区别?
一直用STC15单片机,想玩下STC8A。买了几个STC8A4K。
发现:
1,
在推3极管+蜂鸣器时。
STC15可以PXM0=0X00;PXM1=0X00;蜂鸣器就响。
STC8要 PXM0=0X01;PXM1=0X00;(设为推挽才行)
2,
STC8读写片内EEPROM,(STC15一直在用读写片内EEPROM)
STC8A用官方例程(下载软件带那个),没直接用过,改用官方STC8A.H,屛蔽重复定义。
搞个按键点灯,
不加擦,写程序,正常;
加了擦,写程序,死机一样,灯不亮,按键没反应,在死循环跳不出来?没加狗。
先请教大家,回头再研究。
作者:
chxelc
时间:
2023-7-10 13:36
STC15通用I/O口复位后为:准双向口/弱上拉(8051传统I/O口)。
每个IO口驱动能力均可达到20mA,但整个芯片最大不要超过120mA。
STC8系列规格书只有以下描述:
所有的GPIO均支持如下4种模式:准双向口模式、强推挽输出模式、开漏输出模式、高阻输入模式。
推测是STC8系列的准双向模式驱动电流不足,需要推挽模式才行。
作者:
sbskywalker
时间:
2023-7-10 15:15
1. 准双向IO时,弱上拉拉电流很弱的,一般是灌电流,看此时驱动蜂鸣器电路是灌电流还是拉电流,如果是n管驱动,是需要用推挽的。
2. 注意擦除是需要时间的,官方说是4-6ms,建议更长一点,建议先定位到问题,看是不是死循环中。
作者:
wulin
时间:
2023-7-10 15:54
1.
STC15 系列默认端口模式准双向,部分型号的部分端口默认高阻。以用户手册为准。
STC8 系列大部分型号除P3.0、P3.1默认端口模式准双向,其它端口默认高阻。少数例外。以用户手册为准。
2.
STC15 系列的EEPROM地址是固定范围,大小不可设置。ISP15型号的芯片的EEPROM可设置于用户程序以外的剩余扇区。以用户手册为准。
STC8 系列大部分型号的EEPROM地址是固定范围,部分型号或相同型号不同生产日期的EEPROM大小可设置。部分型号的EEPROM可设置于用户程序以外的剩余扇区。以用户手册为准。
楼主加了擦,写程序后运行出错是没有按芯片具体型号的EEPROM使用方法控制EEPROM地址,误将部分用户程序擦除所致。
作者:
cnfloatleaf
时间:
2023-7-10 16:54
如果STC8A4K不想用推挽输出,可以用准双向IO模式,加一个上拉电阻。
作者:
南海6496
时间:
2023-7-11 08:28
本帖最后由 南海6496 于 2023-7-11 10:22 编辑
谢谢大家指点,
莫名其妙,,,,,,行了。
硬件没动(专门打的板,一体,不太存在松动什么的),
软件比不行时似乎也没有什么改变,15用了有4,5年。
都是常规设置:PXM0,PXM1都=0X00。
回头再看看。
编辑补充:
可能是测试初时的程序太粗糙了。
按键没消抖,延时不准等等之类。
后来按常规认真搞了下,可能就好了。
作者:
南海6496
时间:
2023-7-11 10:56
怎么回复在我的贴子看到回了,打开又没的?很长时间了。
解决了,
可能刚试时程序太粗糙了,
按键没消抖,延时不太准之类。
作者:
coody_sz
时间:
2023-7-11 13:29
STC15与STC8A单片机读写片内EEPROM的区别只有一个:STC8系列多一个速度设置寄存器IAP_TPS,写入主频值(MHZ),比如12MHz,IAP_TPS=12;
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1