m0_58022217 2021-09-15 09:01
浏览 48
已结题

求简易电子琴三和弦做法

简易电子琴的三和弦设计

1.设计一个以单片机为核心,可演奏3和弦的、音程为三组(Ģ—Ề)的电子琴。
30.2
硬件方案
任务分析频率输出有两种方案可选,一是通过定时器中断控制端口的置位复位,形成给定频率的方波输出;二是用定时器8253,通过设定不同的计数初值在其输出端形成给定频率的方波输出。由于按键较多,键盘选用矩阵式键盘,支持两键同时按下的识别。另外,由于要求有三和弦输出,所以,设置三个输出端,先将三个频率叠加,之后送给功放输出。注意,方波中含有高频成分,须将高频滤掉形成近似正弦波后进行叠加。硬件框图如图30.1所示。
30.3.2软件方案
软件的主要任务,简单的讲,即是在键盘按下之后,根据键名(音高)计算或查表得到对应频率的定时器计数初值,使定时器产生中断或输出给定频率的方波。推荐查表方式获得计数初值,此种方式只占用ROM,速度快。
一般情况下,每一个按键可以根据其硬件接线情况确定其编码,这一编码在一个键按下时是唯一的。但是,由于本系统允许多键同时按下,所以,键盘按键名进行编码的管理方式不适用于本系统。此时,应扫描键盘状态,即扫描有那几个键按下,再根据键盘(按下)状态查找定时器初值。由于没有重复处理的问题,所以不用键盘去抖延时。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 9月23日
    • 创建了问题 9月15日

    悬赏问题

    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程