基于单片机at89s52的电子琴设计内容摘要:

试验,每次试验可写入不同程序,而且用户产品还可以 根据用户需要进行修改。 如图 21 所示为 AT89S52单片机引脚图。 图 21 AT89S52 管脚图 8 第二节 各电路模块设计 ( 1)单片机复位电路 单片机 复位是由外部的复位电路来实现的。 片内复位电路是复位引脚 RST 通过一个斯密特触发器与复位 电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的 S5P2,由复位电路采样一次。 复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路 ,时钟频率选用 12MHz 时, C 取 22μF,R 约为 1KΩ。 单片机复位电路如图 22 所示。 图 22 单片机复位电路原理图 ( 2)单片机晶振电路 此系统的晶振电路设计是采用的内部方式,即利用芯片内部的振荡电路。 单片机 内部有一个用于构成振荡器的高增益反相放大器。 引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端。 这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。 外接晶体谐振器以及电容 C1 和 C2 构成并联谐振电路,接在放大器的反馈回路中。 对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。 因此,此系统电路的晶体振荡器的值为 12 MHz,电容应尽可能的选择陶瓷电容,电容值约为 30pF。 单片机晶振电路原理图如图 23 所示。 9 图 23 单片机晶振电路 原理图 ( 3) 琴键电路 此系统琴键输入是通过独立式键盘来完成的。 由于 89S52 单片机的八 个 I/O 口足以 实现控制 C 调各音阶的输出,且独立式键盘的编程 和 结构简单,实现起来方便,而且每个按键单独占有一根 I/O 接口线 ,每个 I/O 口的工作状态互不影响,所以采用独立式键盘。 分别对应琴键 Dou、 Ruai、 Mi、 Fa、 Sou、 La、 Si和高音 Dou, 当一个键按下时,对应的管脚就会由高电频变为低电平,再经单片机自身对该管脚状态进行判断,跳至相应程序,产生一定频率。 如图 24 所示。 图 24 电子琴琴键电路 其中关于键盘的抖动问题的分析和解决如下: AT89S52 10 当用手按下一个键时,如图 25 往往按键在闭合位置和断开位置之间跳几下才稳定到闭合 或断开 状态;在释放一个键时,也回会出现类似的情况,这就是抖动, 抖动通常总是不大于 10ms。 若抖动问题不解决就会影响对按 键 是否 闭合 的识别。 用软件方法可以很容易地解决抖动问题,这就是通过延迟 10ms 来等待抖动消失,即去抖动,然后再读按键端。 图 25 键抖动信号波形 ( 4)放大电路 此部分的放大电路简单容易实现,可以采用一个小功率 PNP 型硅管 9012,利用分压偏置式工作点稳定直流通路,达到了对静态工作点的稳定。 分压电阻分别选择 1K和。 蜂鸣器一端接 +5V 电压,一端接晶体管的发射极。 通过软件编程 使 输出预定的方波,加到晶体管进行放大,再输出到蜂鸣器,就 可以很好的实现频率、声音的转换。 即 放大电路输出原理图如 图 36 所示。 图 36 放大电路输出原理图 键按下 前沿抖动 后沿抖动 闭合 稳定 11 第三章 电子琴软件设计 第一节 电子琴主程序设计 图 31 电子琴主程序流程图 首先, 程序开始,进行初始化,要注意的是 在查看琴键状态前,必须将定时器关闭,防止琴键识别受影响,然后再进行琴键识别。 在琴键识别时,首先要去抖动, 判关闭定时器,进行下一次 琴键识别 读 P1 口状态 延迟 10ms 程序开始 再读 P1 状态,判断是否是抖动 判断是几号琴键,并跳转到相应程序 查表得到相应琴键定时初值 启动定时器 T1 等待中断,并判断此次琴键是否被释放 程序结束 NO NO 12 断 P1 口是否发生抖动,若发生抖动,侧返回到主程序 , 若没有发生抖动,则下一步判断是几号键按下,然后跳转到相应程序查表得到定时初值。 启动定时器,等待中断。 然后确定 琴键被释放,此次发生方波完毕。 第二节 电子琴 子程序 设计 1. 中断程序设计。 如图 32 所示为中断子程序流程图。 图 32 电子琴中断程序流程图 当程序进入中断后,重装 T1 定时器初值,将 口输出取反,得到反方向波形,这样一个完整的方波就产生了,中断完毕返回主程序。 2. 延时子程序设计。 如图 33 所示延时子程序流程图。 重装定时器 T1 初值 对 取反 中断返回 13 图 33 电子琴延时子程序流程图 延时子程序段如下: DELAY_。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。