标题: 有没有大佬看一下为什么这套代码放在STC89C52RC单片机不能用 [打印本页]

作者: 2064453029    时间: 2024-4-10 19:17
标题: 有没有大佬看一下为什么这套代码放在STC89C52RC单片机不能用
这套代码放在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);
        
        
        
        }

}


作者: 爱电子998    时间: 2024-4-11 11:06
延时时间太短了
作者: xiaobendan001    时间: 2024-4-11 12:31
大概是频率高了,STC的可能是1T模式,频率高10几倍应该就听不到了
作者: lkc8210    时间: 2024-4-11 14:21
代码没问题
STC89C52和STC89C52RC是用同一块开发板吗?
作者: coody_sz    时间: 2024-4-11 15:22
估计是电路硬件问题,STC89C52和STC89C52RC完全兼容的。
作者: cy009    时间: 2024-4-18 16:55
STC89C52和STC89C52RC都是12T模式,两者程序可以无缝移植,认真检查一下硬件吧。
作者: zyscxr    时间: 2024-6-23 23:39
我也才买了这块板子来学习
作者: 蓝蓝小星星    时间: 2024-6-24 04:25
源还是无源?检查都是否为12t或者6t模式
还比较有可能是IO口的输出电路的问题,老51只能灌电流输出模式。
取反写反受各种教程影响非常不好,~是按位取反,对byte有效对bit其实是错误的。
应该改为:beep=beep ^ 1;
作者: hy47566398    时间: 2024-6-25 21:22
beep =! beep 试试




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1