已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子琴课程设计 学院 机电学院专业 电子信息科学与技术班级 1301班成员 王子远余佳指导教师 翁志刚 2020 3 18 可编辑 1 设计框架 一 摘要二 设计要求三 课题构思四 方案设计五 单元设计六 电路工作原理图 LOGO 2 一 摘要 电子琴作为现代电子科技与音乐结合的产物 是一种新型的键盘乐器 而鉴于单片机强大的控制功能和灵活的编程实现特性 本设计以AT89C51单片机为核心控制元件设计一个由4 4组成16个按键矩阵 构成16个音阶的多音阶电子琴 LOGO 3 1 由4X4组成16个按钮矩阵 设计成16个音对应音乐音符 2 每按一个键 单片机检测按下的是那个键并查表查找相应的音符 输出到音频处理模块驱动喇叭发出音符 二 设计要求 LOGO 4 三 课题构思 LOGO 5 1 根据总的功能和技术要求 把复杂的电路分解成若干个单元系统以方便检修 2 选择合适的电路及元器件构成每个单元电路 3 考虑各个单元电路间的连接 所有单元电路应协调一致 满足工作需求 四 方案设计 LOGO 6 AT89c51是一个低功耗 高性能CMOS8位单片机片内含4KB的可擦除的Flash只读程序存储器 128B的随机存取数据存储器 具有40个引脚 32个外部双向输入 输出 I O 口 5个中断优先级2层中断嵌套中断 2个16位可编程定时计数器 2个全双工串行通信口 看门狗 WDT 电路 片内时钟振荡器 此外 AT89c51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式 空闲模式下 CPU暂停工作 而RAM定时计数器 串行口 外中断系统可继续工作 掉电模式冻结振荡器而保存RAM的数据 停止芯片其它功能直至外中断激活或硬件复位 一 AT89C51单片机 五 单元设计 LOGO 7 引脚介绍 P0口 可以被定义为数据 地址的低八位 能够用于外部程序 数据存储器 在FIASH编程时 P0口作为原码输入口 当FIASH进行校验时 P0输出原码 此时P0外部必须被拉高 P1口 标准输入输出I O P1口管脚写入1后 被内部上拉为高 可用作输入 在FLASH编程和校验时 P1口作为第八位地址接收 P2口 既可用于标准输入输出I O 也可用于外部程序存储器或数据存储器访问时的高八位地址 P2口在FLASH编程和校验时接收高八位地址信号和控制信号 P3口 既可以作标准输入输出I O 也可作为AT89C51的一些特殊功能口 P3 0RXD 串行输入口 P3 1TXD 串行输出口 P3 2 INT0 外部中断0 P3 3 INT1 外部中断1 P3 4T0 记时器0外部输入 P3 5T1 记时器1外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 LOGO 8 RST 复位输入 当振荡器复位器件时 要保持RST脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字节 PSEN 外部程序存储器的选通信号 EA VPP 当 EA保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有内部程序存储器 XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 LOGO 9 二 数码管显示电路 利用AT89c51单片机的P0端口的P0 0 P0 7连接到一个七段数码管的a h的笔段上 数码管的公共端接电源 数码管显示单元如图 LOGO 10 三 扬声器 扬声器单元模块如图 LOGO 11 四 矩阵键盘电路模块 在键盘中按键数量较多时 为了减少I O口的占用 通常将按键排列成矩阵形式 在矩阵式键盘中 每条水平线和垂直线在交叉处不直接连通 而是通过一个按键加以连接 这样 一个端口 如P1口 就可以构成4 4 16个按键 列线通过电阻接正电源 并将行线所接的单片机的I O口作为输出端 而列线所接的I O口则作为输入 LOGO 12 六 电路工作原理图 LOGO 13 附录 实验源程序 名称 电子琴 include defineucharunsignedchar defineuintunsignedint 共阳极数码管编码ucharcodeDSY Table 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 ox80 0 1 2 3 4 5 6 7 80 x90 0 x88 0 x83 0 xc6 0 xa1 0 x86 0 x8e 0 xBF 9 A B C D E F 各音符对应的延时uintcodeTone Delay Table 64021 64103 64260 64400 64524 64580 64684 64777 64820 64898 64968 65030 65058 65110 65157 65178 sbitBEEP p3 0 蜂鸣器ucharKeyNo 按键序号 延时 voidDelayMS ucharx LOGO 14 uchari while x for i 0 i 120 i 键盘矩阵扫描子程序 voidKeys Scan ucharTmp k 高四位置0 放入四行p1 0 x0F DelayMS 2 按键后00001111将变成0000XXXX X中1个为0 3个仍为1 下面的异或操作会把3个1变成0 唯一的0变成1Tmp p1 0 x0F 判断按键发生于0 3列中的哪一列switch Tmp case1 k 0 break case2 k 1 break case4 k 2 break case8 k 3 break LOGO 15 default return 无键按下 低四位置0 放入四列p1 0 xF0 DelayMS 2 按键后11110000将变成XXXX0000 X中1个为0 3个仍为1 下面的表达式会将高四位移至低四位 并将其中唯一的0变为1 其余为0Tmp p1 4 0 x0F 对0 3行分别附加起始值0 4 8 12switch Tmp case1 k 0 break case2 k 4 break case4 k 8 break case8 k 2 break default return KeyNo k 定时器0中断程序 不同频率的声音由该中断产生 LOGO 16 voidPlay Tone interrupt1 TH0 Tone Delay Table KeyNo 256 TL0 Tone Delay Table KeyNo 256 BEEP BEEP 主程序 voidmain p0 0 xBF 初始显示 TMOD 0 x01 IE 0 x8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南通市中医院计划生育护理规范考核
- 财税体系适配改革-洞察与解读
- 湖州市中医院腹腔穿刺操作考核
- 合同协议文本格式模板
- 合同税率变化补充协议
- 合同签订地的认定协议
- 合同终止协议模板模板
- 合同能源管理框架协议
- 合同补充协议模板模板
- 合同设备增减补充协议
- 乡卫生院影像检查资格授权申请表
- 严重精神障碍患者家属护理教育
- 口腔龋病课件
- 颞下颌关节疾病的生物力学分析
- 《新能源汽车动力电池及管理系统检修》 课件 7-2 了解废旧动力电池的回收、拆解与相关政策(制作中)
- 健身器材采购项目投标方案(技术方案)
- 烯湾科城(广州)新材料有限公司扩产增效技术改造项目环境影响报告表
- 《学前心理学》课件-任务四 掌握学前儿童的感觉和知觉的发展
- 关于推动党建引领经济高质量发展的调研报告
- 间歇性跛行的鉴别诊疗培训课件
- 盟史简介12.10.18课件
评论
0/150
提交评论