找回密码
 立即注册

QQ登录

只需一步,快速开始

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

为什么我的音阶播放程序再AT89c51中可以播放,在stc15芯片中不可以?

[复制链接]
跳转到指定楼层
楼主
ID:864653 发表于 2020-12-21 13:50 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155507 发表于 2020-12-21 19:05 | 只看该作者
STC15是STC所谓的1T时钟单片机,大部分的指令速度都比AT89c51要快5倍以上,也就是说,只要是有延时的,时间基本上是缩短了5倍以上了
回复

使用道具 举报

板凳
ID:864653 发表于 2020-12-21 20:36 来自手机 | 只看该作者
angmall 发表于 2020-12-21 19:05
STC15是STC所谓的1T时钟单片机,大部分的指令速度都比AT89c51要快5倍以上,也就是说,只要是有延时的,时间基本 ...

您好!首先感谢大神的提醒。意思是我只需要改一下延时函数就可以了吗?可是我从原来的10ms已经改到100ms了,还是没用啊。难道是需要改音长延时函数嘛?
回复

使用道具 举报

地板
ID:864653 发表于 2020-12-21 20:40 来自手机 | 只看该作者
angmall 发表于 2020-12-21 19:05
STC15是STC所谓的1T时钟单片机,大部分的指令速度都比AT89c51要快5倍以上,也就是说,只要是有延时的,时间基本 ...

还是说需要修改一下播放速度的范围?我这里速度是设置从1到60的,初始速度给的20
回复

使用道具 举报

5#
ID:864653 发表于 2020-12-21 20:55 来自手机 | 只看该作者
angmall 发表于 2020-12-21 19:05
STC15是STC所谓的1T时钟单片机,大部分的指令速度都比AT89c51要快5倍以上,也就是说,只要是有延时的,时间基本 ...

        以下是我的两个延时函数,请问师傅怎么改呢?void fx_delay(unsigned char i) //
{
        unsigned int j,k;
        for(i;i>0;i--)
                for(k=speed;k>0;k--)
                        for(j=625;j>0;j--);
}



void Delay100ms()                //@11.0592MHz
{
        unsigned char i, j, k;

       
        i = 5;
        j = 52;
        k = 195;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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