已阅读5页,还剩2页未读,            继续免费阅读
        
        
                版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
            实验20:键盘控制LED发光二级管(模拟声控电子琴)设计报告学院 土木工程 班级 交通021 设计人 吴宁 学号 021192 成绩 一、 设计题目:键盘控制LED发光二极管(模拟声控电子琴)二、 总体设计:1、 题目的功能:当按下一个键时对应的发光二极管点亮,按下另一个键时,该键对应的发光二极管点亮,同时前一个发光二极管熄灭。2、 总体方案设计:首先检索按键信息,判断被按下的时哪个键,判断出键以后利用该键的列扫描码判断点灯信息。实验开发系统中只有16个发光二极管,用8255作输出口,利用PA口控制中音7个音符对应的7个发光二极管,PB口控制高音的7个发光二极管,PC口控制两个低音的6、7的发光二极管,剩下5个音可重复使用发光二极管。3、 受音乐声控喷水注的启发,可以设计一个音乐键控发光二极管的模拟电子琴(无声)。将实验开发系统上的键盘自定义成中音、低音和高音的17键,任一个键按下后对应一个发光二极管被点亮;当按下一个键时,使该键对应的发光二极管被点亮,同时使前一个发光二极管0;随着乐谱的弹奏,相应的发光二极管随着亮灭。三、 硬件设计:1、 硬件电路:八路反向驱动器PB0PB1PB2PB3PB4PB5PB6PB7PA0PA1PA2PA3PA4PA5PA6PA7PC0PC1PC2PC3PC4六路反相驱动器四、 软件设计:1、 软件模块设计和流程图:有键闭合否?开始输入键号并点亮对应的灯闭合键释放否?两次调用显示子程序延迟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 DIRLJMP 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 ACC.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,#0BH ,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,#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 KEY1NX10: 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 ,NX15MOV 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 DPTR,#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.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 DPTR, 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五、 调试: 把关于键盘的程序输入调试,观察哪个键起什么作用,它的输出信号是什么输出到哪,这一段程序是逐步运行的,所以对各个键的信号输入输出有了一定的认识,然后调控LED灯的输入程序,发现LED灯是低电平输入的时候亮。最后学习课本中的8255的用法,对8255的输入输出功能有了一定的认识以后,把关于它的输入输出程序在硬件机房调试,最终确定8255各个端口的地址,及其对应关系。当各个环节弄懂后,将键盘的信号输出到PA PB PC口,再由PA PB PC口输出到LED灯。刚开始由于输入的是低电平,灯全亮,我们用了一个取反语句,将其变为低电平,就可以实现预定的功能了。六、 感受及评价: 一周实习结束了,这其中有成功的喜悦,也不乏有为取得那份成功而付出的汗水与艰辛。正所谓有失必有得,这一周来,为了单片机设计付出了很多,由于任务不是很轻松,不得不拿出部分睡眠休息时间来进行设计,整天的脑子里满是机器语言。但现在想来,这一周的收获不菲,当拿着自己设计出来的方案提交到老师面前时,是那么的满足。想当初刚拿到设计任务书时,感到自己离成功是那么遥远,一片茫然,心里也不免有抵触        
    温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
 - 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
 - 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
 - 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
 - 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
 - 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
 - 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
 
最新文档
- 高标准农田土壤改良与培肥方案
 - 企业电脑设备配置与使用管理规范
 - 2025年食品安全与卫生管理知识模拟测试答案及解析
 - 生产安全事故应急救援预案演练方案及记录
 - 古筝基础曲谱集锦
 - 代理记账合同签订要点与风险防范
 - 2025年特许金融分析师CFA考试题库附答案和详细解析
 - 2024年爆破作业人员安全技术培训试题(及答案)
 - 2025年1月《安全风险分级管控》试卷及答案
 - 绿化种植施工方案
 - 中国咸宁房地产行业市场调研及投资战略研究报告
 - 进制教学课件
 - 思想道德与法治2023年版电子版教材-1
 - 29.液化天然气加气站特种设备事故应急预案
 - 标准轴载及轴载换算卜力平课件
 - T-CFNA 6705-2024 地理标志证明商标 玉林八角 低产林改造技术规程
 - 阀门流体力学优化
 - 【产业图谱】2024年四川低空经济产业全景图谱(附产业布局、发展现状、重点企业等)
 - 《低压电工实操及考证》全套教学课件
 - 新生儿咽下综合症护理查房
 - 开学第一课《哪吒-我命由我不由签》2024-2025学年下学期开学第一课主题班会课件
 
            
评论
0/150
提交评论