第三章——独立按键及矩阵键盘控制LED灯(2).讲述
独立按键控制led课程设计

独立按键控制led课程设计一、课程目标知识目标:1. 学生能理解独立按键的工作原理,掌握其电路连接方式。
2. 学生能掌握LED的基本特性,了解其在电路中的应用。
3. 学生能理解独立按键控制LED的原理,掌握相关编程方法。
技能目标:1. 学生能独立完成独立按键与LED的电路连接,并进行功能测试。
2. 学生能编写简单的程序,实现独立按键控制LED的亮灭、闪烁等功能。
3. 学生能运用所学知识解决实际问题,具备一定的创新意识和动手能力。
情感态度价值观目标:1. 学生通过课程学习,培养对电子技术的兴趣,提高学习积极性。
2. 学生在团队合作中,学会沟通、协作,培养团队精神。
3. 学生在实践过程中,树立正确的价值观,认识到科技对生活的影响。
课程性质:本课程为实践性课程,结合理论教学,注重培养学生的动手能力、创新意识和实际应用能力。
学生特点:学生处于初中阶段,具有一定的物理知识和动手能力,对电子技术有一定的好奇心和兴趣。
教学要求:教师应注重理论与实践相结合,引导学生主动参与实践,鼓励学生创新思维,提高解决问题的能力。
同时,关注学生的情感态度价值观培养,使学生在掌握知识技能的同时,形成良好的综合素质。
通过分解课程目标为具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 理论知识:- 介绍独立按键的原理、功能及其在电路中的应用。
- 讲解LED的基本结构、特性以及在电路中的作用。
- 分析独立按键控制LED的电路原理及编程方法。
2. 实践操作:- 指导学生进行独立按键与LED的电路连接,确保正确无误。
- 帮助学生编写程序,实现独立按键控制LED的亮灭、闪烁等功能。
- 引导学生进行功能测试,分析并解决可能出现的故障。
3. 教学大纲:- 第一课时:介绍独立按键和LED的基本概念、原理及应用。
- 第二课时:讲解独立按键控制LED的电路原理及编程方法。
- 第三课时:指导学生进行电路连接和程序编写,实现功能。
- 第四课时:进行功能测试,总结问题,提高实践能力。
键盘控制LED发光二极管(模拟声控电子琴)

实验20:键盘控制LED发光二级管(模拟声控电子琴)设计报告学院土木工程班级交通021 设计人吴宁学号 021192 成绩一、设计题目:键盘控制LED发光二极管(模拟声控电子琴)二、总体设计:1、题目的功能:当按下一个键时对应的发光二极管点亮,按下另一个键时,该键对应的发光二极管点亮,同时前一个发光二极管熄灭。
2、总体方案设计:首先检索按键信息,判断被按下的时哪个键,判断出键以后利用该键的列扫描码判断点灯信息。
实验开发系统中只有16个发光二极管,用8255作输出口,利用PA口控制中音7个音符对应的7个发光二极管,PB口控制高音的7个发光二极管,PC口控制两个低音的6、7的发光二极管,剩下5个音可重复使用发光二极管。
3、受音乐声控喷水注的启发,可以设计一个音乐键控发光二极管的模拟电子琴(无声)。
将实验开发系统上的键盘自定义成中音、低音和高音的1~7键,任一个键按下后对应一个发光二极管被点亮;当按下一个键时,使该键对应的发光二极管被点亮,同时使前一个发光二极管0;随着乐谱的弹奏,相应的发光二极管随着亮灭。
三、硬件设计:1四、软件设计:1、2ORG 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 ;列扫描码送R2 MOV 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 ,NX4 MOV A,#0F7HMOV DPTR,#0FF28HMOVX @DPTR,ALJMP KEY1NX4: CJNE A,#19H ,NX5 MOV A,#0EFHMOV DPTR,#0FF28HMOVX @DPTR,ALJMP KEY1NX5: CJNE A,#1BH ,NX6 MOV A,#0DFHMOV DPTR,#0FF28HMOVX @DPTR,ALJMP KEY1NX6: CJNE A,#1DH ,NX7 MOV A,#0BFHMOV DPTR,#0FF28HMOVX @DPTR,ALJMP KEY1NX7: CJNE A,#08H ,NX8 MOV A,#0FEHMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX8: CJNE A,#0AH ,NX9 MOV A,#0FDHMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX9: CJNE A,#0CH ,NX10 MOV A,#0FBHMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX10: CJNE A,#0EH ,NX11 MOV A,#0F7HMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX11: CJNE A,#18H ,NX12 MOV A,#0EFHMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX12: CJNE A,#1AH ,NX13 MOV A,#0DFHMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX13: CJNE A,#1CH ,NX14 MOV A,#0BFHMOV DPTR,#0FF29HMOVX @DPTR,ALJMP KEY1NX14: CJNE A,#01H ,NX15 MOV A,#0FEHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX15: CJNE A,#03H ,NX16 MOV A,#0FDHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX16: CJNE A,#05H ,NX17 MOV A,#0FBHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX17: CJNE A,#07H ,NX18 MOV A,#0F7HMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX18: CJNE A,#11H ,NX19 MOV A,#0EFHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX19: CJNE A,#13H ,NX20 MOV A,#0DFHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX20: CJNE A,#15H ,NX21 MOV A,#0BFHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX21: CJNE A,#17H ,NX22MOV A,#07FHMOV DPTR,#0FF2AHMOVX @DPTR,ALJMP KEY1NX22: NOPNEXT: INC R4 ;列扫描计数器加1 MOV 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灯是低电平输入的时候亮。
最新独立按键及矩阵键盘控制LED灯

0-99的显示
Org 0 Ljmp main Org 0100h Main:MOV R0,#00H ;给R0赋值0 MOV DPTR, #TAB ; MOV R3, #0; ;给R3赋值0 M1:MOV R4, #0; ;给R4赋值0 GW:MOV R2, #10 YS:MOV A, R4; ;A为0 MOVC A, @A+DPTR MOV P0, A ;显示个位的数据 CLR P1.1 LCALL DL MOV P0,#0 SETB P1.1 MOV A, R3 MOVC A, @A+DPTR MOV P0, A ;显示十位的数据
8个共阴极的数码管,动态显示0-7
ORG 0000H MOV R0,#00H ;给R0赋值0 MOV DPTR,#TAB ; 把TAB 表的首地址给 DPTR MOV R4,#0FEH; ;给R4赋值0FE MOV A,R4; ;A为0FE 也就是1111 1110 PUSH ACC; ;将A入栈 DLO:MOV A,R0 MOVC A,@A+DPTR; ;查TAB表 MOV P0,A ; 把查的值给数码管的8个段 POP ACC; 将之前的A出栈 MOV P1,A; 将A的值给P1 也就是给P1 1111 1110 是那个为0的管亮 LCALL QF; 调用取反子程序 PUSH ACC; 将A入栈 INC R0; R0值加1 LCALL DELAY ; 调用延时程序 CJNE R0,#08H,DLO; 判断是否查完一便 表 没查完再跳到DLO MOV R4,#0FEH; 查完了重新给A赋值 MOV A,R4 PUSH ACC ; 再将A入栈 MOV R0,#00H; 给R0清0 SJMP DLO ;跳到DLO再显示 DELAY:MOV R1,#18 LP1:MOV R2,#200 LP2:MOV R3,#126 DJNZ R3,$ DJNZ R2,LP2 DJNZ R1,LP1 RET TAB:DB 3fH,06H,5bH,4fH,66H,6dH,7dh,07h QF: RL A ; 左移 RET END
单片机独立按键和矩阵键盘概念及原理

单片机独立按键和矩阵键盘概念及原理一、基本知识 1.按键分类与输入原理 按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中最常见的是触点式开关按键。
在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。
当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入时与软件结构密切相关的过程。
对于一组键或一个键盘,总有一个接口电路与CPU相连。
CPU可以采用查询或中断方式了解有无将按键输入,并检查是哪一个按键按下,将该键号送人累加器,然后通过跳转指令转入执行该键的功能程序,执行完成后再返回主程序。
2.按键结构与特点 微机键盘通常使用机械触点式按键开关,其主要功能式把机械上的通断转换为电气上的逻辑关系。
也就是说,它能提供标准的TTL逻辑电平,以便于通用数字系统的逻辑电平相容。
机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定的时间触点机械抖动,然后其触点才稳定下来。
其抖动过程如下图1所示,抖动时间的长短与开关的机械特性有关,一般为5-10ms。
在触点抖动期间检测按键的通与断,可能导致判断出错,即按键一次按下或释放错误的被认为是多次操作,这种情况是不允许出现的。
为了克服你、按键触点机械抖动所致的检测误判,必须采取消抖措施。
按键较少时,可采用硬件消抖;按键较多式,采用软件消抖。
图1 按键触点机械抖动 (1)按键编码 一组按键或键盘都要通过I/O口线查询按键的开关状态。
根据键盘结构的不同,采用不同的编码。
无论有无编码,以及采用什幺编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。
(2)键盘程序 一个完整的键盘控制程序应具备以下功能: a.检测有无按键按下,并采取硬件或软件措施消抖。
矩阵键盘完整使用说明书汇编

键盘控制器(KEYBOARD CONTROLLER)使用说明书Operation InstructionCopyright 2003-2009. All Rights Reserved.温馨提示:感谢您使用本公司产品。
为了让您能够尽快熟练的操作本机,请您仔细阅读我们为您配备内容详细的使用说明书,从中您可以获取有关产品安全注意事项、产品介绍以及产品使用方法等方面的知识。
当您阅读完说明书后,请将它妥善保存好,以备日后参考。
如果您在产品的使用过程中发现什么问题,请联系产品技术服务人员。
谢谢您的合作!申明:在编写此说明书时我们非常小心谨慎,并认为此说明书中所提供的信息是正确可靠的,然而难免会有错误和疏漏之处,请您多加包涵并热切欢迎您的指正。
但是我们将不对本手册可能出现的问题和疏漏负责。
同时,由于我们无法控制用户对本手册可能造成的误解,因此,将不负责在使用本手册的过程中出现的事故或由此引起的损坏。
对于因使用本产品所造成的任何损坏第三方的索赔不负责任。
对于因软件的误操作、产品维修、或其它意外情况等引起资料的删改或丢失不负任何责任,也不对由此造成的其它间接损失负责。
本产品的发行和销售由原始购买者在许可协议条款下使用。
未经允许,任何单位和个人不得将本说明书全部或部分复制、再生或翻译成其它机器可读形式的电子媒介。
本说明书若有任何修改恕不另行通知。
因软件版本升级而造成的与本说明书不符,以软件为准。
注:本设备在出厂前已经过严格的质量测试,符合国家电磁辐射标准。
目录第一部分键盘操作 (4)1.1 设备概述 (4)1.2 开机运行 (6)1.3 键盘登录 (6)1.4 键盘注销 (6)第二部分控制监控主机 (6)2.1 选择监视器 (6)2.2 选择图像 (7)2.3 向前、向后切换图像 (7)2.4 图像保持 (7)2.5 主机自由切换 (7)2.6 主机程序切换 (8)2.7 主机同步切换 (9)2.8 主机群组切换 (10)2.9 屏幕分割控制 (10)2.10 屏幕拼接控制 (10)2.11 保存主机当前设置 (11)2.12 网络主机控制 (11)2.13 监控主机菜单设置 (11)第三部分控制摄像机 (12)3.1 选择摄像机 (12)3.2 控制摄像机方向 (12)3.3 控制摄像机镜头 (13)3.4 预置位操作 (13)3.5 图像返回 (14)3.6 自动巡视 (14)3.7 轨迹扫描 (14)3.8 区域扫描 (15)3.9 云台自动扫描 (15)3.10 操作辅助功能 (16)3.11 智能摄像机菜单设置 (16)第四部分控制报警主机 (16)4.1 选择警点 (16)4.2 防区警点设防、撤防 (16)4.3 报警应答 (17)4.4 警点状态查询 (17)4.5 报警联动开、关 (17)4.6 报警联动时间 (17)第五部分控制数字录像机 (17)5.1 选择数字录像机 (17)5.2 图像监控 (18)5.3 多画面监控 (18)5.4 图像浏览 (18)5.5 图像抓拍 (18)5.6 图像播放、暂停 (18)5.7 图像快退、快进 (18)5.8 图像段首、段末 (18)5.9 图像帧退、帧进 (18)5.10 图像录制 (19)5.11 图像停止 (19)5.12 信息显示 (19)5.13 录像机菜单设置 (19)5.14 退出控制数字录像机 (19)第六部分宏指令功能 (19)6.1 宏指令在单级系统的应用 (19)6.2 宏指令在多级系统的应用 (19)6.3 宏指令操作 (20)第七部分键盘设置 (21)7.1 通讯速率设置 (21)7.2 控制协议设置 (21)7.3 操作员设置 (22)7.4 常规设置 (22)7.5 语言选择 (24)7.6 版本信息 (24)7.7 退出 (24)第八部分键盘连接 (25)8.1 键盘与智能摄像机、解码器连接示意图 (25)8.2 键盘与监控主机连接示意图 (26)8.3 键盘与报警主机连接示意图 (27)8.4 键盘与数字录像机连接示意图 (28)安全事项 (29)主键盘控制器KEYBOARD CONTROLLER第一部分键盘操作1.1 设备概述:主键盘控制器是以操作控制安防监控主机、智能摄像机、数字录像机、报警主机为特色的操作设备。
矩阵键盘完整使用说明书.docx

键盘控制器( KEYBOARD CONTROLLER )使用说明书Operation InstructionCopyright 2003-2009. All Rights Reserved.温馨提示:感谢您使用本公司产品。
为了让您能够尽快熟练的操作本机,请您仔细阅读我们为您配备内容详细的使用说明书,从中您可以获取有关产品安全注意事项、产品介绍以及产品使用方法等方面的知识。
当您阅读完说明书后,请将它妥善保存好,以备日后参考。
如果您在产品的使用过程中发现什么问题,请联系产品技术服务人员。
谢谢您的合作!申明:在编写此说明书时我们非常小心谨慎,并认为此说明书中所提供的信息是正确可靠的,然而难免会有错误和疏漏之处,请您多加包涵并热切欢迎您的指正。
但是我们将不对本手册可能岀现的问题和疏漏负责。
同时,由于我们无法控制用户对本手册可能造成的误解,因此,将不负责在使用本手册的过程中岀现的事故或由此引起的损坏。
对于因使用本产品所造成的任何损坏第三方的索赔不负责任。
对于因软件的误操作、产品维修、或其它意外情况等引起资料的删改或丢失不负任何责任,也不对由此造成的其它间接损失负责。
本产品的发行和销售由原始购买者在许可协议条款下使用。
未经允许,任何单位和个人不得将本说明书全部或部分复制、再生或翻译成其它机器可读形式的电子媒介。
本说明书若有任何修改恕不另行通知。
因软件版本升级而造成的与本说明书不符,以软件为准。
注:本设备在岀厂前已经过严格的质量测试,符合国家电磁辐射标准。
第一部刀键盘操作,,,,,,,,,,,,,,,,,,,,J4 1.1设备概述,,,,,,,,,,,,,,,,,,,,,,,4 1.2开机运行X I Iz U I -J )))5 JJJJJJJJJJJJJJJJJJJ6 1.3乍键盘登^录,,,,,,,,,,,,,,,,,,,,,,,6 1.4键盘注销,,,,,,,,,,,,,,,,,,,,,,,6第二部分控制监控主机6 2.1选择监视器,,,,,,,,,,,,,,,,,,,,,,6 2.2选择图像,,,,,,,,,,,,,,,,,,,,,,,7 2.3向前、向后切换图像,,,,,,,,,,,,,,,,,,7 2.4图像保持,,,,,,,,,,,,,,,,,,,,,,,7 2.5主机自由切换,,,,,,,,,,,,,,,,,,,M7 2.6主机程序切换,,,,,,,,,,,,,,,,,,,,,8 2.7主机同步切换,,,,,,,,,,,,,,,,,,,,,9 2.8主机群组切换,,,,,,,,,,,,,,,,,,,,,10 2.9屏幕分割控制,,,,,,,,,,,,,,,,,,,,,10 2.10屏幕拼接控制,,,,,,,,,,,,,,,,,,,,,10 2.11保存主机当前设置,,,,,,,,,,,,,,,,,,,11 2.12网络主机控制,,,,,,,,,,,,,,,,,,,,,11 2.13监控主机菜单设置,,,,,,,,,,,,,,,,,,,11第三部分控制摄像机12 3.1选择摄像机,,,,,,,,,,,,,,,,,,,,,,12 3.2控制摄像机方向,,,,,,,,,,,,,,,,,,,,12 3.3控制摄像机镜头,,,,,,,,,,,,,,,,,,M13 3.4预置位操作,,,,,,,,,,,,,,,,,,,,,,13 3.5图像返回,,,,,,,,,,,,,,,,,,,,,,,14 3.6自动巡^视,,,,,,,,,,,,,,,,,,,,,,,14 3.7轨迹扫描,,,,,,,,,,,,,,,,,,,,,,,14 3.8域扫扌田,,,,,,,,,,,,,,,,,,,,,,,15 3.9厶台自动扫描,,,,,,,,,,,,,,,,,,,,,15 3.10操作辅助功能,,,,,,,,,,,,,,,,,,,,,16 3.11智能摄像机菜单设置,,,,,,,,,,,,,,,,,,16第四部分控制报警主机164.1选择警占八、、164.2防区警点设防、撤防,,,,,,,,,,,,,,,,,,164.3报警应答-J 1×>- I==T Z—1- I_I ))))5 JJJJJJJJJJJJJJJJJJ17 4.4警点状态查询17 4.5报警联动开、关17 4.6报警联动时间17第五部分控制数字录像机17 5.1选择数字录像机17 5.2图像监控,,,,,,,,,,,,,,,,,,,,,,,18 5.3多画面监控,,,,,,,,,,,,,,,,,,,,,,18 5.4图像浏览,,,,,,,,,,,,,,,,,,,,,,,18 5.5图像抓拍,,,,,,,,,,,,,,,,,,,,,,,18 5.6图像播放、暂停18 5.7图像快退、快进18 5.8图像段首、段末18 5.9图像帧退、帧进18 5.10图像录制19 5.11图像停止,,,,,,,,,,,,,,,,,,,,,,,19 5.12彳口息显,,,,,,,,,,,,,,,,,,,,,,J19 5.13录像机菜单设置19 5.14退岀控制数字录像机,,,,,,,,,,,,,,,,M19第八部分宏指令功冃匕”””””””””19 6.1宏指令在单级系统的应用,,,,,,,,,,,,,,,,19 6.2宏指令在多级系统的应用,,,,,,,,,,,,,,,,196.3宏指令操作/∕~∖ J H y J/卜 I \ ))JJJJJJJJJJJJJJJJJJJJ 20第七部分键盘设置,,,,,,,,,,,,,,,,,,,21 7.1通讯速率设置,,,,,,,,,,,,,,,,,,,,,21 7.2控制协议设置,,,,,,,,,,,,,,,,,,,,,21 7.3操作员设置,,,,,,,,,,,,,,,,,,,,,,22 7.4吊规设置,,,,,,,,,,,,,,,,,,,,,,,22 7.5!口言选,,,,,,,,,,,,,,,,,,,,,,,24 7.6版本信口丿,,,,,,,,,,,,,,,,,,,,,,J24 7.7退岀∕*i<--1 ' I )5 JJJJJJJJJJJJJJJJJJJJJJJ24第八部分键盘连接,,,,,,,,,,,,,,,,,,,25 8.1键盘与智能摄像机、解码器连接示意图,,,,,,,,,,25 8.2键盘与监控主机连接示意图,,,,,,,,,,,,,,,26 8.3键盘与报警主机连接示意图,,,,,,,,,,,,,,,27 8.4键盘与数字录像机连接示意图,,,,,,,,,,,,,,28安全事项―I_*- √丿、)5 JJJJJJJJJJJJJJJJJJJJJJ29主键盘控制器KEYBoARD CoNTRoLLER第一部分键盘操作1.1设备概述:主键盘控制器是以操作控制安防监控主机、智能摄像机、数字录像机、报警主机为特色的操作设备。
实验5-独立键盘和矩阵键盘

实验5 独立键盘和矩阵键盘一、实验目的1、学会用C语言进行独立按键应用程序的设计。
2、学会用C语言进行矩阵按键应用程序的设计。
二、实验内容1、独立按键:对四个独立按键编写程序:当按k1时,8个LED同时100ms闪烁;当按k2时,8个LED从左到右流水灯显示;当按k3时,8个LED从右到左流水灯显示;当按k4时,8各LED同时从两侧向中间逐步点亮,之后再从中间向两侧逐渐熄灭;2、矩阵按键:采用键盘扫描方式,顺序按下矩阵键盘后,在一个数码管上顺序显示0~F,采用静态显示即可。
3、提高部分(独立按键、定时器、数码管动态扫描):编写程序,实现下面的功能。
用数码管的两位显示一个十进制数,变化范围为00~59,开始时显示00,每按一次k1,数值加1;每按一次k2,数值减1;每按一次k3,数值归零;按下k4,利用定时器功能使数值开始自动每秒加1;再按一次k4,数值停止自动加1,保持显示原数。
三、实验步骤1、硬件连接(1)使用MicroUSB数据线,将实验开发板与微型计算机连接起来;(2)在实验开发板上,用数据线将相应接口连接起来;2、程序烧入软件的使用使用普中ISP软件将HEX文件下载至单片机芯片内。
查看结果是否正确。
四、实验结果——源代码1. #include "reg52.h"typedef unsigned char u8;typedef unsigned int u16;#define LED P2sbit key1=P3^1;sbit key2=P3^0;sbit key3=P3^2;sbit key4=P3^3;const char tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; u8 code begMid[]={0x7e, 0xbd,0xdb,0xe7, 0xdb, 0xbd, 0x7e}; void Delay(u16 i){ while(i--);}void KeyDown(){u8 i;if(key2==0){Delay(1000);if(key2==0){for(i=0;i<8;i++){LED=tab[i];Delay(50000);}while(!key2);}LED=0xff;}else if(key1==0){Delay(1000);if(key1==0)for(i=0;i<3;i++){LED=0x00;Delay(10000);LED=0xff;Delay(10000);}}}}void Int0Init(){IT0=1;EX0=1;EA=1;}void Int1Init(){IT1=1;EX1=1;EA=1;} void main(){Int0Init();Int1Init();while(1){KeyDown();}}void Int0() interrupt 0{u8 i;if(key3==0){Delay(1000);if(key3==0)for(i=7;i>=0;i--){LED=tab[i];Delay(50000);}}}}void Int1() interrupt 2{u8 i;if(key4==0){Delay(1000);if(key4==0){for(i=0;i<=6;i++){LED=begMid[i];Delay(50000);}}}}2.#include "reg52.h"typedef unsigned int u16;typedef unsigned char u8;#define GPIO_DIG P0#define GPIO_KEY P1sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;u8 KeyValue;u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//??0~F?? void delay(u16 i){while(i--);}void KeyDown(void){char a=0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f){delay(1000);if(GPIO_KEY!=0x0f){GPIO_KEY=0X0F;switch(GPIO_KEY){case(0X07): KeyValue=0;break;case(0X0b): KeyValue=1;break;case(0X0d): KeyValue=2;break;case(0X0e): KeyValue=3;break;}GPIO_KEY=0XF0;switch(GPIO_KEY){case(0X70): KeyValue=KeyValue;break;case(0Xb0): KeyValue=KeyValue+4;break;case(0Xd0): KeyValue=KeyValue+8;break;case(0Xe0): KeyValue=KeyValue+12;break;}while((a<50)&&(GPIO_KEY!=0xf0)){delay(1000);a++;}}}}void main(){LSA=0;LSB=0;LSC=0;while(1){KeyDown();GPIO_DIG=smgduan[KeyValue];}}3.#include <reg52.h>typedef unsigned int u16;typedef unsigned char u8;#define KEYPORT P3sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;sbit key1=P3^1;sbit key2=P3^0;sbit key3=P3^2;sbit key4=P3^3;u16 t;u8 sec;u8 DisplayData[2];u8 code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void Time1Init(){TMOD |= 0x10;TH1=0Xd8;TL1=0Xf0;EA=1;ET1=1;}void delay(u16 i){while(i--); }void DigDisplay(){u8 i;for(i=0;i<2;i++){switch(i){case 0:LSA=0;LSB=0;LSC=0;break;case 1:LSA=1;LSB=0;LSC=0;break;}P0=DisplayData[i];delay(100);P0=0x00;}}void datapros(){DisplayData[0]=smgduan[sec%10];DisplayData[1]=smgduan[sec/10];}void main(){Time1Init();while(1){if(key4==0){delay(1000);if(key4==0){TR1=!TR1;while(key4==0);}}if(key3==0){delay(1000);if(key3==0){sec=0;while(key3==0);}}if(key2==0){delay(1000);if(key2==0){sec--;while(key2==0);}}if(key1==0){delay(1000);if(key1==0){sec++;while(key1==0);}}}}void Time1() interrupt 2{TH1=0Xd8;TL1=0Xf0;t++;if(t==100){t=0;sec++;if(sec>=60){sec=0;}}datapros();DigDisplay();}五、实验体会——结果分析1、独立按键:位定义四个按键key1、key2、key3、key4,宏定义LED为P2口,tab数组保存流水灯D0-D7依次点亮的数值,begMid数组保存流水灯同时从两侧向中间逐步点亮,之后再从中间向两侧逐渐熄灭的赋值方式。
矩阵控制键盘操作说明

矩阵控制键盘操作说明键盘概述控制器是智能电视监控系统中的控制键盘,也是个监控系统中人机对话的主要设备。
可作为主控键盘,也可作为分控键盘使用。
对整个监控系统中的每个单机进行控制。
键盘功能1.中文/英文液晶屏显示2.比例操纵杆(二维、三维可选)可全方位控制云台,三维比例操纵杆可控制摄像机的变倍3.摄像机可控制光圈开光、聚集远近、变倍大小4.室外云台的防护罩可除尘和除霜5.控制矩阵的切换、序切、群组切换、菜单操作等6.控制高速球的各种功能,如预置点参数、巡视组、看守卫设置、菜单操作等7.对报警设备进行布/撤防及报警联动控制8.控制各种协议的云台、解码器、辅助开头设置、自动扫描、自动面扫及角度设定9.在菜单中设置各项功能10.键盘锁定可避免各种误操作,安全性高11.内置蜂鸣器桌面上直接听到声音,可判断操作是否有效技术参数1.控制模式主控、分控2.可接入分控数16个3.可接入报警模块数239个4.最大报警器地址1024个5.最大可控制摄像机数量1024个6.最大可控制监视器数量 64个7.最大可控制解码器数量 1024个8.电源 AC/DC9V(最低500mA的电源)9.功率 5W10.通讯协议Matri、PEL-D、PEL-P、VinPD11.通讯波特率1200 Bit/S,2400 Bit/S,4800 Bit/S ,9600Bit/S,Start bit1,Data bit8,Stop bit1键盘按键说明Focus Far 聚焦远FocusNear 聚焦近ZoomTele 变倍大Zoom Wide 变倍小DVR 设备操作DVR功能键Shift 用户登入Login退出键Exit报警记录查询List进入键盘主菜单MENU启动功能F1/ON关闭功能F2/OFF液晶显示区1.蜂鸣声提示说明2.1 “嘀”一声,表示有按键操作。
2.2 “嘀,嘀,嘀”三声,表示本次操作错误或无效。
2.3 “嘀嘀嘀…”连续发声,表示有报警发生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 键扫描 键扫描就是要判断有无键按下,当扫描到有键
按下时再进行下一步处理,否则退出键盘处理程序。 独立式键盘扫描只需读取IO口状态,而矩阵式键盘 描通常有两种实现方法:逐行扫描法和线反转法。 (1) 逐行扫描法。依次从第一至最末行线上发
出低电平信号, 如果该行线所连接的键没有按下
的话, 则列线所接的端口得到的是全“1”信号, 如 果有键按下的话, 则得到非全“1”信号。
8个共阴极的数码管,动态显示0-7
ORG 0000H MOV R0,#00H ;给R0赋值0 MOV DPTR,#TAB ; 把TAB 表的首地址给 DPTR MOV R4,#0FEH; ;给R4赋值0FE MOV A,R4; ;A为0FE 也就是1111 1110 PUSH ACC; ;将A入栈 DLO:MOV A,R0 MOVC A,@A+DPTR; ;查TAB表 MOV P0,A ; 把查的值给数码管的8个段 POP ACC; 将之前的A出栈 MOV P1,A; 将A的值给P1 也就是给P1 1111 1110 是那个为0的管亮 LCALL QF; 调用取反子程序 PUSH ACC; 将A入栈 INC R0; R0值加1 LCALL DELAY ; 调用延时程序 CJNE R0,#08H,DLO; 判断是否查完一便 表 没查完再跳到DLO MOV R4,#0FEH; 查完了重新给A赋值 MOV A,R4 PUSH ACC ; 再将A入栈 MOV R0,#00H; 给R0清0 SJMP DLO ;跳到DLO再显示 DELAY:MOV R1,#18 LP1:MOV R2,#200 LP2:MOV R3,#126 DJNZ R3,$ DJNZ R2,LP2 DJNZ R1,LP1 RET TAB:DB 3fH,06H,5bH,4fH,66H,6dH,7dh,07h QF: RL A ; 左移 RET END
矩阵式键盘。独立式键盘的工作过程与矩阵式键盘
类似,无论是硬件结构还是软件设计都比较简单,。
按键按照结构原理可分为两类,一类是触 点式开关按键,如机械式开关、导电橡胶 式开关等;另一类是无触点开关按键,如 电气式按键,磁感应按键等。前者造价低 ,后者寿命长。目前,微机系统中最常见 的是触点式开关按键。
dpl1: mov r1,#250 ; dplop: mov a,a_bit ;取个位数 MOVC A,@A+DPTR ;查个位数的7段 代码 mov p0,a ;送出个位的7段代码 clr p1.7 ;开个位显示 acall d1ms ;显示162微秒 setb p1.7;关闭个位显示,防止鬼影 mov a,b_bit ;取十位数 MOVC A,@A+DPTR ;查十位数的7段 代码 mov p0,a ;送出十位的7段代码 clr p1.6 ;开十位显示 acall d1ms ;显示162微秒 setb p1.6;关闭十位显示,防止鬼影 djnz r1,dplop ;循环执行250次 djnz r0,dpl1 ;循环执行 250X4=1000次 Ret ;2+2X80=162微秒,延时按12MHZ计 算 D1MS: MOV R7,#80 DJNZ R7,$ RET 共阴数码管的显示代码 numtab: DB 3fH, 06H, 05bH, 4fH, 66H, 6dH, 7dH,07H, 7fH, 6fH
Q & +5V & Q
图3.6 硬件去抖动电路
(2)软件消抖法:键按下的时间与操作者的按 键动作有关,约为十分之几到几秒不等。而键抖动 时间与按键的机械特性有关,一般为5~10ms不等。 软件消抖法即是采用延时(一般延时10~20ms)的 方法,以避开按键的抖动,即在按键已稳定地闭合 或断开时才读出其状态。
第三章 电子时钟设计
键盘接口
键盘是单片机应用系统中使用最广泛的一种
数据输入设备。键盘是一组按键的组合。键通常
是一种常开型按钮开关,常态下键的两个触点处
于断开状态,按下键时它们才闭合(短路)。
通常,按键按照接口原理键盘有编码和非编码
两种。编码键盘通过硬件电路产生被按按键的键码 和一个选通脉冲。选通脉冲可作为CPU的中断请求 信号。这种键盘使用方便,所需程序简单,但硬件 电路复杂,常不被单片机采用。 非编码键盘按组成结构又可分为独立式键盘和
39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 40 20 10 11 30 29
P10
P11
K0
0 4
K1
1 5
K2
2 6
K3
3 7
K4
K5
K6
K7
89S52
P12K8
8
C
K9 K13
9
D
K10 K14
A K11 B
E
K15
EA/VP
19 18
9 17 16
0-99的显示
Org 0 Ljmp main Org 0100h Main:MOV R0,#00H ;给R0赋值0 MOV DPTR, #TAB ; MOV R3, #0; ;给R3赋值0 M1:MOV R4, #0; ;给R4赋值0 GW:MOV R2, #10 YS:MOV A, R4; ;A为0 MOVC A, @A+DPTR MOV P0, A ;显示个位的数据 CLR P1.1 LCALL DL MOV P0,#0 SETB P1.1 MOV A, R3 MOVC A, @A+DPTR MOV P0, A ;显示十位的数据
CLR P1.0 LCALL DL MOV P0,#0 SETB P1.0 DJNZ R2,YS INC R4 CJNE R4,#10,GW INC R3 CJNE R3,#10,M1 SJMP MAIN DL: MOV R7,#10 D1: MOV R6,#200 D2:DJNZ R6,d2 DJNZ R7,d1 RET TAB: DB 3fH, 06H, 05bH, 4fH, 66H, 6dH, 7dH,07H, 7fH, 6fH
设第2行第 4列键按下
+5V
89C51 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
行值:1011
1 0 0 1 0 1 0
1 0 0 1 0 1 0
列值:1110
2.消抖 由于按键按下时的机械动作,在按键被按下或松 开的瞬间,其输出电压会产生波动,称为键的抖动。
P10 P11 P12 P13 P14 P15 P16 P17
1 2 3 4 5 6 7 8 13 12 15 14 31
U1
P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 VCC GND RXD TXD ALE/P PSEN
100ms
10ms 10ms 键抖动时间
图3.7 软件消抖法延时区间示意图
3. 计算键码
键码是每个按键的标识。被按键确定下来之后,
接下来的工作是计算闭合键的键码,然后才能根据 键码进行对应的操作。 为编程方便,键码通常都是以键的排列顺序安
+5V
+5V
89s52
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P1.4 P1.5 P1.6 P1.7
S1 S2 S3 S4
89S52
图3.1 独立式键盘接口 特点:每个按键占用一条I/O 线,当按键数量较多时,I/O 口利用率不高,但程序编制简 单。适用于所需按键较少的场 合。
矩阵式键盘的结构及原理
矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上, 其结构如下图所示。
由图可知,一个4×4的行、列结构可以构成一个含有16个按键 的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘 要节省很多I/O口。
矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过 上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键 按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线 电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线 、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的 电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来 作适当处理,才能确定闭合键的位置。
a_bit equ 20h ;数码管个位数存放内存位 置 b_bit equ 21h ;数码管十位数存放内存位 置 temp equ 22h ;计数器数值存放内存位置 org 0 star: mov temp,#0 ;初始化计数器,从0 开始 stlop: acall display;调用显示子程序 inc temp;对计数器加1 mov a,temp cjne a,#100,next ;判断计数器是否满 100? mov temp,#0;满100就清零重新开始 next: ljmp stlop;不满就循环执行 ;显示子程序 display: mov a,temp ;将temp中的十六 进制数转换成10进制 mov b,#10 ;10进制/10=10进制 div ab mov b_bit,a ;十位在a mov a_bit,b ;个位在b mov dptr,#numtab ;指定查表启始地址 mov r0,#4
键按下
前沿 抖动
后沿 抖动
图3.5 键闭合及断开时的抖动
为确保每按一次键单片机只进行一次处理,使 键盘可靠地工作,必须消除按键抖动。消抖方法有 硬件消抖和软件延时两种。
(1)硬件消抖法:就是在键盘中附加去抖动电 路,从根上消除抖动产生的可能性。右图所示电路 实际上是由R-S触发器构成的单脉冲电路。当按钮 开关按下时Q端输出低电平,当开关松开时Q端恢复 高电平,即输出一个负脉冲,以此消除抖动。