键盘控制LED发光二极管(模拟声控电子琴)

上传人:无*** 文档编号:156040339 上传时间:2022-09-25 格式:DOC 页数:7 大小:68KB
收藏 版权申诉 举报 下载
键盘控制LED发光二极管(模拟声控电子琴)_第1页
第1页 / 共7页
键盘控制LED发光二极管(模拟声控电子琴)_第2页
第2页 / 共7页
键盘控制LED发光二极管(模拟声控电子琴)_第3页
第3页 / 共7页
资源描述:

《键盘控制LED发光二极管(模拟声控电子琴)》由会员分享,可在线阅读,更多相关《键盘控制LED发光二极管(模拟声控电子琴)(7页珍藏版)》请在装配图网上搜索。

1、实验20:键盘控制LED发光二级管(模拟声控电子琴)设计报告学院 土木工程 班级 交通021 设计人 吴宁 学号 021192 成绩 一、 设计题目:键盘控制LED发光二极管(模拟声控电子琴)二、 总体设计:1、 题目的功能:当按下一个键时对应的发光二极管点亮,按下另一个键时,该键对应的发光二极管点亮,同时前一个发光二极管熄灭。2、 总体方案设计:首先检索按键信息,判断被按下的时哪个键,判断出键以后利用该键的列扫描码判断点灯信息。实验开发系统中只有16个发光二极管,用8255作输出口,利用PA口控制中音7个音符对应的7个发光二极管,PB口控制高音的7个发光二极管,PC口控制两个低音的6、7的发

2、光二极管,剩下5个音可重复使用发光二极管。3、 受音乐声控喷水注的启发,可以设计一个音乐键控发光二极管的模拟电子琴(无声)。将实验开发系统上的键盘自定义成中音、低音和高音的17键,任一个键按下后对应一个发光二极管被点亮;当按下一个键时,使该键对应的发光二极管被点亮,同时使前一个发光二极管0;随着乐谱的弹奏,相应的发光二极管随着亮灭。三、 硬件设计:1、 硬件电路:八路反向驱动器PB0PB1PB2PB3PB4PB5PB6PB7PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4六路反相驱动器四、 软件设计:1、 软件模块设计和流程图:有键闭合否?开始输入键号并点亮对应的

3、灯闭合键释放否?两次调用显示子程序延迟12ms判断闭合键键号调用显示程序延迟6ms有键闭合否?开始 2、程序清单和必要的注释:ORG 0000HSTART: MOV SP,#60HMOV DPTR,#0FF20HMOV A,#03HMOVX DPTR,AMOV 70H,#00MOV DPTR ,#0FF2BHMOV A,#80HMOVX DPTR,AKEY1: LCALL KS1 ;调用判断有无键闭合子程序JNZ LK1N1: LCALL DIR ;调用显示子程序LJMP KEY1LK1: LCALL DIR ;延时12msLCALL DIRLCALL KS1JNZ LK2LCALL DIRL

4、JMP KEY1LK2: MOV R2,#0FEH ;列扫描码送R2MOV R4,#0 ;R4时列计数单元LK4: MOV DPTR,#0FF21H ;列扫描码送PA口MOV A,R2MOVX DPTR,AINC DPTRINC DPTRMOVX A,DPTR ;读C口JB ACC.0,LONE ;0行为高电平,转判1行MOV A,#0 ;0行首键号送ALJMP LKPLONE: JB ACC.1,LTWO ;转判2行MOV A,#08H ;1行首键号送ALJMP LKPLTWO: JB ACC.2,LTHR ;转判3行MOV A,#10H ;2行首键号送ALJMP LKPLTHR: JB A

5、CC.3,LFORMOV A,#18HLJMP LKPLFOR: JB ACC.4,AMMMOV 70H,#19HLJMP KEY1LKP: ADD A,R4 ;行首键号列号键号MOV 70H,APUSH ACCAMM: LJMP NEXT ;转判下一列LK3: LCALL DIR ;判断键释放否LCALL KS1JNZ LK3POP ACCCJNE A,#09H ,NX1 ;键值不等,跳转下一键值,MOV A,#0FEH 若相等则向下执行,控制灯的亮灭,MOV DPTR,#0FF28H NX1-NX20分别控制16个灯的亮灭MOVX DPTR,ALJMP KEY1NX1: CJNE A,#0

6、BH ,NX2MOV A,#0FDHMOV DPTR,#0FF28HMOVX DPTR,ALJMP KEY1NX2: CJNE A,#0DH ,NX3MOV A,#0FBHMOV DPTR,#0FF28HMOVX DPTR,ALJMP KEY1NX3: CJNE A,#0FH ,NX4MOV A,#0F7HMOV DPTR,#0FF28HMOVX DPTR,ALJMP KEY1NX4: CJNE A,#19H ,NX5MOV A,#0EFHMOV DPTR,#0FF28HMOVX DPTR,ALJMP KEY1NX5: CJNE A,#1BH ,NX6MOV A,#0DFHMOV DPTR,#

7、0FF28HMOVX DPTR,ALJMP KEY1NX6: CJNE A,#1DH ,NX7MOV A,#0BFHMOV DPTR,#0FF28HMOVX DPTR,ALJMP KEY1NX7: CJNE A,#08H ,NX8MOV A,#0FEHMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1NX8: CJNE A,#0AH ,NX9MOV A,#0FDHMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1NX9: CJNE A,#0CH ,NX10MOV A,#0FBHMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1N

8、X10: CJNE A,#0EH ,NX11MOV A,#0F7HMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1NX11: CJNE A,#18H ,NX12MOV A,#0EFHMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1NX12: CJNE A,#1AH ,NX13MOV A,#0DFHMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1NX13: CJNE A,#1CH ,NX14MOV A,#0BFHMOV DPTR,#0FF29HMOVX DPTR,ALJMP KEY1NX14: CJNE A,#01H ,NX

9、15MOV A,#0FEHMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX15: CJNE A,#03H ,NX16MOV A,#0FDHMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX16: CJNE A,#05H ,NX17MOV A,#0FBHMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX17: CJNE A,#07H ,NX18MOV A,#0F7HMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX18: CJNE A,#11H ,NX19MOV A,#0EFHMOV DPT

10、R,#0FF2AHMOVX DPTR,ALJMP KEY1NX19: CJNE A,#13H ,NX20MOV A,#0DFHMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX20: CJNE A,#15H ,NX21MOV A,#0BFHMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX21: CJNE A,#17H ,NX22MOV A,#07FHMOV DPTR,#0FF2AHMOVX DPTR,ALJMP KEY1NX22: NOPNEXT: INC R4 ;列扫描计数器加1MOV A, R2 ;判断是否已扫到最后一列JNB ACC.

11、7,KND ;扫到则转移RL A ;列扫描码左移一位MOV R2,ALJMP LK4KND: LJMP KEY1KS1: MOV DPTR,#0FF21HMOV A,#0 ;全0送PA口MOVX DPTR,AINC DPTRINC DPTRMOVX A, DPTR ;读键入状态CPL AANL A,#1FH ;屏蔽高位RETDIR: MOV R0, #70HMOV A,R0ANL A,#0FHMOV 30H,AMOV A,R0SWAP AANL A,#0FHMOV 31H,AMOV R0, #30HMOV R3, #01HDO1: MOV A,R3MOV DPTR,#0FF21HMOVX DP

12、TR, AINC DPTRMOV A,R0ADD A,#0DHMOVC A,A+PCDIR1: MOVX DPTR,ALCALL DL1MOV A, R3RL AJB ACC.2,LD1MOV R3,AINC R0LJMP DO1LD1: RETDSEH: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H 赋值语句DB 80H,90H,88H,83H,0C6H,0A1H,086H,08EH,0FFH,0C0HDL1: MOV R7,#2DL: MOV R6,#0FFHDL6: DJNZ R6,DL6DJNZ R7,DLRETEND五、 调试: 把关于键盘的程序输入

13、调试,观察哪个键起什么作用,它的输出信号是什么输出到哪,这一段程序是逐步运行的,所以对各个键的信号输入输出有了一定的认识,然后调控LED灯的输入程序,发现LED灯是低电平输入的时候亮。最后学习课本中的8255的用法,对8255的输入输出功能有了一定的认识以后,把关于它的输入输出程序在硬件机房调试,最终确定8255各个端口的地址,及其对应关系。当各个环节弄懂后,将键盘的信号输出到PA PB PC口,再由PA PB PC口输出到LED灯。刚开始由于输入的是低电平,灯全亮,我们用了一个取反语句,将其变为低电平,就可以实现预定的功能了。六、 感受及评价: 一周实习结束了,这其中有成功的喜悦,也不乏有为

14、取得那份成功而付出的汗水与艰辛。正所谓有失必有得,这一周来,为了单片机设计付出了很多,由于任务不是很轻松,不得不拿出部分睡眠休息时间来进行设计,整天的脑子里满是机器语言。但现在想来,这一周的收获不菲,当拿着自己设计出来的方案提交到老师面前时,是那么的满足。想当初刚拿到设计任务书时,感到自己离成功是那么遥远,一片茫然,心里也不免有抵触情绪。可现在,一切难题都已解决,自己将不会再为这项任务而努力付出,心里又不免有些失落。在任务进行的过程当中,自己也曾被困难阻挡过,但还是通过查阅资料,请教老师将它解决了。这使我更能认识到遇到困难坎坷时,只有坚持,想一切办法去破解才能够保持向前。我感觉这是这次实习任务中最大的收获。我会将这样的体会与经验应用到以后的生活学习和工作中。最后,感谢学校能给我这次实践机会,感谢计算机任课老师们对我提出问题的耐心讲解和对我的鼓励与支持。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!