找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STC89C52单片机启动文件STARTUP.A51怎么修改IO 上电为低电平

[复制链接]
跳转到指定楼层
楼主
STC89C52启动文件STARTUP.A51怎么修改IO 上电为低电平,默认是IO口上电复位是高电平,我需要一上电就是低电平,不改硬件电路,只改STATRUP.A51文件可以吗,请大家指导一下怎么改启动文件的IO口初始值。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2023-8-4 06:59 | 只看该作者
STC89C52的IO口默认上电复位是高电平。不可更改。STC15系列部分型号的部分管脚可以在下载选项中选择上电复位低电平。STC8系列上电复位默认是高阻,可以软件设置低电平。
回复

使用道具 举报

板凳
ID:712097 发表于 2023-8-4 07:54 | 只看该作者
设置IO为双向IO,上电赋值为0试试。
回复

使用道具 举报

地板
ID:752974 发表于 2023-8-4 08:38 | 只看该作者
51系列上电或复位后硬件IO口默认的就是高电平,需要低电平的话,只能在上电后做的第一件事就是处理IO口。放在启动文件里也是这样的。
回复

使用道具 举报

5#
ID:123289 发表于 2023-8-4 09:07 | 只看该作者
不可以改成低电平,需要你另想办法。
回复

使用道具 举报

6#
ID:635055 发表于 2023-8-23 13:32 | 只看该作者
技术手册指导输出硬件下拉10K电阻,驱动高电平时设置推挽输出
回复

使用道具 举报

7#
ID:883242 发表于 2023-8-23 14:47 | 只看该作者
不可以。51单片机要求RESET撤销前XTAL引脚有若干时钟才能复位内部寄存器(软件不可见),撤销RESET后软件才可以执行让IO口变低电平,唯一解决方案是换用某些缺省IO口为高阻态的扩展型51单片机,基本型号这个问题无法解决。
回复

使用道具 举报

8#
ID:879348 发表于 2023-8-23 16:22 | 只看该作者
加100欧姆电阻,之后代码配置强推输出
回复

使用道具 举报

9#
ID:624769 发表于 2023-8-23 17:01 | 只看该作者
打开  startup.A51  找到寄存器定义 处  定义需要修改默认值的  总线地址。如图:




找到  STARTUP1:   标签, 在下面添加  IO初始值的代码。
用MOV指令定义整个总线8个IO的电平状态,用CLR指令 将单独一个IO改为低电平。如图:




注意,此方法,虽然比起在 C语言 Main 程序里修改电平状态 要快很多,属于上电后 未进行初始化 就在第一之间变更电平状态。但是,依然属于上电后修改电平状态,依然无法完全避免电平的跳动。
回复

使用道具 举报

10#
ID:879348 发表于 2023-8-24 09:43 | 只看该作者
188610329 发表于 2023-8-23 17:01
打开  startup.A51  找到寄存器定义 处  定义需要修改默认值的  总线地址。如图:

没用的,依然在上电复位的一段时间高电平
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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