该系统设计一个由单片机控制的八音阶电子琴。接通电源以后,按下不同的按键来播放不同的音符,将电平高低的变化送入主电路。单片机进行识别,进而解码,然后通过音频放大电路放大,最后从蜂鸣器发出声音,系统构成如图1所示。
2. 系统硬件设计
2.1 AT89C51
AT89C51单片机是利用CMOS 工艺和高密度非易失性存储器制造而成,功能强、灵活性高、低电压、性能好、价格合理,封装如图2,其内部结构如图3所示[1]。
图2 AT89C51封装图
2.1.1 AT89C51主要特性
(1) MCS-51兼容。
(2) 4 KB可编闪烁存储器。
(3) 128×8位内部数据存储器。
(4) 32位可编程I/O口线。
(5) 16位定时/计数器T0、T1。
(6) 五个中断源。
(7) 全静态工作范围:0Hz-24Hz。
(8) 可编程的串行通信。
图3 AT89C51单片机结构框图
AT89C51中P3口内部提供上拉电阻,可接收输出4个TTL门电流。除此之外,P3口还具有第二功能,其各个引脚功能如表1所示。
P3端口引脚 第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 (外中断0)
P3.3 (外中断1)
P3.4 T0 (外定时器0 )
P3.5 T1 (外定时器1 )
P3.6 (外存写选通)
P3.7 (外存读选通)
表1 P3口引脚第二功能
2.2 中心控制模块设计
设计中以AT89C51单片机为主控芯片,控制整个系统。以P1口作为键盘输入,以P0口作为LED灯指示信号输出,P3.5接音频电路。
2.3 电源模块设计
通常在电源的两端并联一个滤波电容,可使电源的直流输出变的平稳,而且还能吸收电路工作过程中产生的电流波动和干扰,使其工作性能更加稳定。如图4所示。
图4 电源设计图
2.4 按键模块设计
在单片机系统中按键通常用作输入设备,来代替键盘功能,每个按键都是一个常开开关电路。一般按键采用机械弹性开关,由于触点的弹性作用,开关闭合时不会立刻稳定接通, 断开时也不会马上断开,所以在闭合及断开的刹那均伴随有一连串的抖动,如图5所示。抖动时间的长短与按键的机械特性相关, 通常为5~10 ms[2]。
图5 按键抖动
2.4.1 键盘的结构与工作原理
本系统采用的是非编码矩阵式键盘,键盘由行线和列线组成,构成2×4矩阵键盘,如图6所示。按键位于不同的行线和列线的交叉点上,按键所在行线连接单片机的I/O口作为输出端,按键所在列线连接的单片机I/O作为信号输入端。当矩阵键盘中没有按键按下时,输出端均为高电平状态。如果有按键按下,输出端的电平状态可以通过读输入端的电平状态就可以确定是否有按键按下[3]。
图6 键盘原理图
2.4.2 按键的判别
在矩阵式键盘中行线和列线的按键共用,任意按键的电平变化都会影响它所在的行线输出端和列线输入端的电平变化。为了判定具体是哪个按键按下,就必须将行线和列线合理搭配利用。 51单片机八音阶电子琴设计+流程图+程序代码(3):http://www.751com.cn/zidonghua/lunwen_566.html