找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1674|回复: 8
收起左侧

有没有大佬看一下为什么这套代码放在STC89C52RC单片机不能用

[复制链接]
ID:1115684 发表于 2024-4-10 19:17 | 显示全部楼层 |阅读模式
这套代码放在STC89C52蜂鸣器可以响,但是下载进STC89C52RC单片机蜂鸣器不会响,是因为两者的I/O口不同吗?求大佬指点

#include <REGX51.H>

typedef unsigned int u16;
typedef unsigned char u8;
sbit beep=P1^5;

void delay(u16 i)
{
        while(i--);
}        

void main()
{
        while(1)
        {
                beep=~beep;
                delay(50);
        
        
        
        }

}

回复

使用道具 举报

ID:672792 发表于 2024-4-11 11:06 | 显示全部楼层
延时时间太短了
回复

使用道具 举报

ID:1109793 发表于 2024-4-11 12:31 | 显示全部楼层
大概是频率高了,STC的可能是1T模式,频率高10几倍应该就听不到了
回复

使用道具 举报

ID:161164 发表于 2024-4-11 14:21 | 显示全部楼层
代码没问题
STC89C52和STC89C52RC是用同一块开发板吗?
回复

使用道具 举报

ID:1034262 发表于 2024-4-11 15:22 | 显示全部楼层
估计是电路硬件问题,STC89C52和STC89C52RC完全兼容的。
回复

使用道具 举报

ID:619259 发表于 2024-4-18 16:55 | 显示全部楼层
STC89C52和STC89C52RC都是12T模式,两者程序可以无缝移植,认真检查一下硬件吧。
回复

使用道具 举报

ID:1126656 发表于 2024-6-23 23:39 | 显示全部楼层
我也才买了这块板子来学习
回复

使用道具 举报

ID:466250 发表于 2024-6-24 04:25 | 显示全部楼层
源还是无源?检查都是否为12t或者6t模式
还比较有可能是IO口的输出电路的问题,老51只能灌电流输出模式。
取反写反受各种教程影响非常不好,~是按位取反,对byte有效对bit其实是错误的。
应该改为:beep=beep ^ 1;
回复

使用道具 举报

ID:1012735 发表于 2024-6-25 21:22 | 显示全部楼层
beep =! beep 试试
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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