找回密码
 立即注册

QQ登录

只需一步,快速开始

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

求个CXD2545控制代码

[复制链接]
跳转到指定楼层
楼主
一直想做个CD转盘,求个CXD2545控制代码和显示方案
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶顶 踩踩
回复

使用道具 举报

沙发
ID:953019 发表于 2026-10-5 08:45 | 只看该作者
sbit CD_DATA = P1^0;
sbit CD_CLK  = P1^1;
sbit CD_STB  = P1^2;
void CD_Write(uchar cmd)
{
    uchar i;

    CD_STB = 0;
    for(i = 0; i < 8; i++)
    {
        CD_CLK = 0;
        CD_DATA = (bit)(cmd & 0x80);
        cmd <<= 1;
        DelayUs(5);
        CD_CLK = 1;
        DelayUs(5);
    }
    CD_STB = 1;
    DelayMs(2);
}
//================== CXD2545 标准指令集 ==================
void CD_Reset(void)
{        // 复位
        CD_Write(0x18);
}
void CD_Play(void)
{
        CD_Write(0x01);
        PlayFlag = 1;
        StopFlag = 0;
}
void CD_Pause(void)
{
        CD_Write(0x02);
        PlayFlag = 0;
}
void CD_Stop(void)
{
        CD_Write(0x00);
        PlayFlag = 0;
        StopFlag = 1;
}
void CD_Prev(void)
{
        CD_Write(0x05);
        if(Track > 1)
        Track--;
}
void CD_Next(void)
{
        CD_Write(0x04);
        Track++;
}
void CD_FF(void)
{        // 快进
        CD_Write(0x03);
}
void CD_FR(void)
{        // 快退
        CD_Write(0x0B);
}
void CD_Open(void)
{
        CD_Write(0x0D);
        TrayOpen = 1;
}
void CD_Close(void)
{
        CD_Write(0x0E);
        TrayOpen = 0;
        DelayMs(1500);
}
仅供参考
回复

使用道具 举报

板凳
ID:1175769 发表于 2026-10-5 11:04 | 只看该作者
如果你做的是 纯 CD 转盘,重点通常是:
主轴电机控制
进给电机控制
聚焦/循迹伺服
TOC 读取
音频数据输出
播放/暂停/停止/跳轨控制
曲目号、时间、状态显示
这些功能不能只靠 CXD2545 一个芯片完成,必须看整机方案。
. 控制代码不要从零写,建议基于参考方案移植
比较稳妥的做法是:
找一台使用 CXD2545Q 的 VCD/CD 机电路图;
找到 MCU 与 CXD2545 之间的控制线;
看它用的是:
I²C
类 I²C / 两线总线
并行控制
专用串行总线
状态标志 + 按键逻辑
再根据原机 MCU 程序或维修资料整理出:
初始化序列
播放命令
停止命令
跳轨命令
读取曲目号/时间
状态标志解析
回复

使用道具 举报

地板
ID:430283 发表于 2026-10-8 00:12 | 只看该作者
小青龙2150 发表于 2026-10-5 08:45
sbit CD_DATA = P1^0;
sbit CD_CLK  = P1^1;
sbit CD_STB  = P1^2;

我是某鱼买的成品MCU,型号STC89C52RC,实际装机使用中用sony213B光头没问题,但用夏普光头某些片子会跳轨,用先锋光头只能读取TOC信息,应该是循迹增益不够
目前的想法是最好有全套例程,自己修改一下写入MCU,水平实在有限
回复

使用道具 举报

5#
ID:996773 发表于 2026-10-8 09:03 | 只看该作者
这个代码是求不到的,1主题,5个回帖就别想了,得具备两个要素,您是cd硬件专家音乐发烧,当然一天到晚把通透,模拟味,推力放嘴上就别想了,第二个要素您得是单片机大佬,熟悉i2c等协议,我正在写这代码,不过不是你要求的一步登天CXD2545,我是从cxd1167开始写的简单一些,我现在程序卡在读取TOC焦头烂额,这个很冷门,路也很难走,但总得有人去走,楼上就别贴代码了,这个代码是搞笑的
回复

使用道具 举报

6#
ID:430283 发表于 2026-10-8 16:57 | 只看该作者
hi等你 发表于 2026-10-8 09:03
这个代码是求不到的,1主题,5个回帖就别想了,得具备两个要素,您是cd硬件专家音乐发烧,当然一天到晚把通 ...

我有台先锋T-05,用的就是1167,同样SPDIF输出,实际用下来和2545差距蛮大,建议你直接研究2545,硬件线路还简单
回复

使用道具 举报

7#
ID:69038 发表于 2026-10-8 17:33 | 只看该作者
CXD2545貌似不需要烧录代码,就是一个设备,如同HT1621一样,控制它就行了,前提是要知道它的指令。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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