单片机课程设计---简易电子琴设计

内容发布更新时间 : 2025/6/10 23:53:44星期一 下面是文章的全部内容请认真阅读。

廉的方案。外形及引脚排列如图3.2所示。

图3 AT89C51引脚分布图

主要引脚功能:

1、RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;

2、XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入; 3、XTAL2(18):来自反向振荡器的输出;

4、P1口(1-8):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流; 5、 EA/

__VPP:当EA保持低电平时,单片机只访问外部程序存储器。EA为高

____电平时,单片机只访问内部程序存储器。 2)芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM、定时器、计数器、串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁

止所用其他芯片功能,直到下一个硬件复位为止。 3.1.3 矩阵式键盘的结构与工作原理

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,本系统中的矩阵键盘中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

图4 矩阵式键盘

3.1.4按键显示模块 1)数码管的分类

本设计用的是七段码。可显示0-F。

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

1.共阳数码管:是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就

不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。

2.共阴数码管:在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。

2)数码管的驱动方式

数码管的驱动方式分为:静态式和动态式两类。

1.静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

优点是:编程简单,显示亮度高,缺点是占用I/O端口多。

2.动态显示驱动:动态驱动是将所有数码管的8个显示笔划\的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的

>>灞曞紑鍏ㄦ枃<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi