# 双路波形发生器 **Repository Path**: cciteie/DualWaveFormGenerator ## Basic Information - **Project Name**: 双路波形发生器 - **Description**: 一个专注于开发双路波形发生器的开源项目,支持生成和控制两路独立波形信号,适用于电子测试、实验教学等领域。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 双路波形发生器 #### 介绍 基于STC89C52RC单片机设计的双路独立波形发生器,通过两片DAC0832数模转换芯片实现模拟波形输出,搭配8个独立按键完成波形类型切换、频率调节、幅值控制等功能,适用于电子电路实验、教学演示、简易信号测试等场景。 #### 软件架构 1. **核心主控层**:基于STC89C52RC单片机实现逻辑控制,负责按键扫描、波形数据生成、DAC芯片驱动; 2. **外设驱动层**:包含DAC0832驱动模块、独立按键扫描模块、延时/定时器模块; 3. **应用层**:波形生成模块(正弦波、方波、三角波、锯齿波)、参数调节模块(频率/幅值)、双路通道控制模块; 4. **程序流程**:初始化 → 按键扫描 → 解析按键指令 → 更新波形参数 → 输出波形数据到DAC0832 → 循环执行。 #### 安装教程 1. **开发环境搭建** - 安装Keil C51(版本V4/V5均可),配置STC89C52RC芯片编译环境; - 安装STC-ISP下载工具(用于将编译后的hex文件烧录到单片机)。 2. **硬件连接** - 单片机P0口分别连接两片DAC0832的数据线(D0-D7)和LCD1602数据线; - DAC0832和、LCD1602片选端接P2口; - 8个独立按键接单片机P1口(建议串联10K上拉电阻); - DAC0832的输出端接运放(如LM358)进行信号放大,输出模拟波形; - 单片机外接5V电源,DAC0832参考电压接5V。 3. **代码编译与烧录** - 将项目源码导入Keil C51,编译生成.hex文件; - 打开STC-ISP,选择对应单片机型号、COM口,导入hex文件后点击“下载/编程”。 #### 使用说明 1. **按键功能定义** - 按键1-2:切换通道1/通道2的波形类型(正弦波/方波/三角波/锯齿波); - 按键3-4:调节通道1的输出频率(1Hz~10kHz可调); - 按键5-6:调节通道2的输出频率; - 按键7-8:调节两路波形的输出幅值(0~5V可调)。 2. **波形输出** - 通电后默认输出两路正弦波(频率1kHz,幅值2.5V); - 按下对应按键,单片机实时更新DAC输出数据,调整波形参数; - 可通过示波器连接DAC输出端,观测调整后的波形效果。 3. **注意事项** - 电源电压稳定在5V,避免电压波动导致波形失真; - 按键扫描为轮询方式,长按按键会连续调节参数; - 频率调节范围受单片机定时器精度限制,高频段精度略有下降。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支(如Feat_add_sawtooth_wave、Feat_optimize_key_scan) 3. 提交代码(建议标注修改模块,如“[DAC驱动] 优化数据输出时序”) 4. 新建 Pull Request ### 总结 1. README 围绕 STC89C52RC + DAC0832 双路波形发生器的核心硬件,清晰划分了介绍、架构、安装、使用等模块,贴合单片机项目的实际使用场景; 2. 安装教程包含开发环境、硬件连接、代码烧录三个核心步骤,使用说明明确了按键功能和使用注意事项,符合电子类项目的使用习惯; 3. 保留了原格式的参与贡献和特技模块,适配 Gitee 仓库的开源协作规范。