按键接口实验
单片机 键盘接口实验
实验六键盘接口实验一、实验目的1、掌握Keil C51软件与Protues软件联合仿真调试的方法;2、掌握单片机的键盘接口电路;3、掌握单片机的键盘扫描原理;4、掌握键盘的去抖原理及处理方法。
二、实验仪器与设备1、微机一台2、Keil C51集成开发环境3、Protues仿真软件三、实验内容1、用Protues设计一矩阵键盘接口电路。
要求利用P1口接一4×4矩阵键盘。
串行口通过一74LS164接一共阴极数码管。
用线反转法编写矩阵键盘识别程序,用中断方式,并将按键的键值0-F通过串行口输出,显示在数码管上。
2、将P1口矩阵键盘改成8个独立按键,重新编写识别和显示程序。
四、实验说明矩阵键盘识别一般包括以下内容:⑴判别有无键按下。
⑵键盘扫描取得闭合键的行、列号。
⑶用计算法或查表发的到键值;⑷判断闭合键是否释放,如没释放则继续等待。
⑸将闭合键的键值保存,同时转去执行该闭合键的功能。
五、实验步骤1、用Protues设计键盘接口电路;2、在Keil C51中编写键盘识别程序,编译通过后,与Protues联合调试;3、按动任意键,观察键值是否能正确显示。
六、实验电路仿真图矩阵键盘电路图见附录1。
独立按键电路图见附录2。
七、实验程序实验程序见附录3、4。
八、实验总结1、矩阵键盘常用的检测方法有线反转法、逐行扫描法。
线反转法较简单且高效。
在矩阵键盘的列线上接一与门,利用中断方式查询按键,可提高CPU的运行效率。
2、注意用线反转法扫描按键时,得到的键值不要再赋给temp,最好再设一新变量接收键值,否则再按下按键显示数字的过程中,再按按键会出现乱码。
3、学会常用与门、与非门的使用方法。
附录1:矩阵键盘实验电路图附录2:独立按键实验电路图附录3:矩阵键盘实验程序#include <REG51.H>char code LED_TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};char code KEY_TABLE[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};char code tab1[10]={0xfe,0xde,0x9e,0x9a,0x92,0x82,0x82,0x80,0xff};char temp,num,i,m;int t;bit flag=0;void Delay_ms(t){int i;for(;t>0;t--)for(i=0;i<124;i++);}void main(void){TMOD=0x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;ET0=1; PT0=1; SCON=0;EX0=1; IT0=1; EA=1;P1=0xf0;while(1){SBUF=tab1[m];while(TI==0); TI=0;Delay_ms(400); //500msm++;if(m==9) m=0;}}void int_1() interrupt 0{P1=0xf0;if(P1!=0xf0){Delay_ms(10);if(P1!=0xf0){temp=P1;P1=0x0f;temp=temp|P1;for(i=0;i<16;i++){if(temp==KEY_TABLE[i]){temp=i; break;}}SBUF=LED_TAB[temp];while(TI==0); TI=0; TR0=1;while(flag==0); flag=0;} } P1=0xf0;}void timer_0() interrupt 1{TH0=(65536-10000)/256;TL0=(65536-10000)%256;t++;if(t==300){t=0; flag=1; TR0=0;}}附录4:独立按键实验#include <REG51.H>char code LED_TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};char code KEY_TABLE2[]={ 0xfe,0xfd,0xfb,0x f7, 0xef,0xdf,0xbf,0x7f,} ;char code tab1[10]={0xfe,0xde,0x9e,0x9a,0x 92, 0x82,0x82,0x80,0xff};char temp,i,m;int t;bit ff;bit flag=0;void Delay_ms(t){int i;for(;t>0;t--)for(i=0;i<124;i++);}void main(void){TMOD=0x01;TH0=(65536-10000)/256;TL0=(65536-10000)%256;ET0=1; SCON=0; EX0=1;IT0=1; PT0=1; EA=1;P1=0xff;while(1){ff=IE0;SBUF=tab1[m];while(TI==0); TI=0;Delay_ms(400);m++;if(m==9) m=0;}}void timer_0() interrupt 1{TH0=(65536-10000)/256;TL0=(65536-10000)%256;t++;ff=IE0;if(t==300){t=0;flag=1;}}void int_0() interrupt 0{EX0=0;Delay_ms(10);temp=P1;if(temp!=0xff){for(i=0;i<8;i++){if(temp==KEY_TABLE2[i]){temp=i; break;}}SBUF=LED_TAB[temp];while(TI==0); TI=0;TR0=1; while(flag==0);flag=0; TR0=0;P1=0xff; EX0=1;}}。
9 接口技术II键盘接口
P.168
b. 线反转法
采用线反转法的键盘行线、 列线端口各自应当可以在输 入与输出方式间切换! 如图:高四位与低四位均可 独立改变其输入或输出方式
实验板4×4键盘 实验板 × 键盘 连接82C55的端口线 连接 的端口线 PC3 PC2 PC1 PC0 PC4 PC5 PC6 PC7
图10-10线反转法原理图 10-10线反转法原理图 第1步:列线输出为全‘0’ ,随后输入行线电平如有‘0’,则 线输出为全‘ 随后输入行线电平如有‘ , 所在的行就是闭合的按键所在行; 则无键闭合。 ‘0’所在的行就是闭合的按键所在行;无‘0’则无键闭合。 所在的行就是闭合的按键所在行 则无键闭合 随后输入列线电平如有‘ , 第2步:行线输出为全‘0’ ,随后输入列线电平如有‘0’,则 线输出为全‘ 则无键闭合。 所在的列就是闭合的按键所在列; 则无键闭合 ‘0’所在的列就是闭合的按键所在列;无‘0’则无键闭合。 所在的列就是闭合的按键所在列 结合上述两步,可确定按键所在行和列。 结合上述两步,可确定按键所在行和列。
键盘扫描子程序---3 TEST2011.ASM 键盘扫描子程序--3 KN:MOV MOV MUL MOV JMP A,61H B,#05H AB DPTR,#K0 DPTR,#K0 @A+DPTR ;根据查表获得的键号00H~0FH之一转向相应处理程序 根据查表获得的键号00H~0FH之一转向相应处理程序 00H ;转移表中每个键号处理程序占 转移表中每个键号处理程序占5 ;转移表中每个键号处理程序占5个地址单元
键盘扫描子程序---1 TEST2011.ASM 键盘扫描子程序--1 KEY:MOV 键盘扫描子程序(反转法) KEY:MOV A,#81H ;键盘扫描子程序(反转法) MOV DPTR,#0FEFFH ;C口先初始化为高 位输出驱行线、 口先初始化为高4 MOVX @DPTR,A ;C口先初始化为高4位输出驱行线、低4位输入列线 MOV DPTR,#0FEFEH 键盘行线 行线( 输出驱动全 驱动全'0' MOV A,#00H ;键盘行线(高4位)输出驱动全'0' MOVX @DPTR,A A,@DPTR 输入键盘列线电平 列线电平( 60H单元 MOVX A,@DPTR ;输入键盘列线电平(低4位)存60H单元 MOV 60H,A ;C口改初始化为高 位输入行线、 口改初始化为高4 MOV A,#88H ;C口改初始化为高4位输入行线、低4位输出驱列线 MOV DPTR,#0FEFFH MOVX @DPTR,A MOV DPTR,#0FEFEH 键盘列线 列线( 输出驱动全 驱动全'0' MOV A,#00H ;键盘列线(低4位)输出驱动全'0' MOVX @DPTR,A 行线电平( 输入键盘行线电平 MOVX A,@DPTR ;输入键盘行线电平(高4位)在A中 ANL 60H,#0FH ;列线电平值保留所在的低4位 列线电平值保留所在的低4 行线电平值保留所在的高4 ANL A,#0F0H ;行线电平值保留所在的高4位 ;两次输入的列线电平值 行线电平值组合成 两次输入的列线电平值、 合成8 ORL 60H,A ;两次输入的列线电平值、行线电平值组合成8位行列码
单片机独立按键实验报告总结
单片机独立按键实验报告总结本次实验我们使用了单片机进行了独立按键实验,通过学习掌握了单片机输入输出口的基本使用方法以及独立按键的使用方法和技巧。
以下是本次实验的总结:一、实验内容本次实验的主要内容是独立按键的使用方法和技巧。
通过学习,我们掌握了独立按键的接法原理和基本应用方法。
在实验中,我们首先通过理论学习了按键的工作原理,了解了按键在电路中的应用和接法方法,然后实际动手进行了按键电路的搭建和单片机程序的编写,最后进行了按键测试和实验结果分析。
二、实验步骤1.理论学习:首先,我们学习了独立按键的工作原理和接法原理,了解按键在电路中的应用和接法方法,掌握了按键接口的输入输出方式,并对具体实现过程和技巧进行了分析和探讨。
2.电路搭建:根据学习到的按键接法原理和电路图,我们使用面包板和导线搭建了独立按键电路,将按键连接到单片机的输入端口上,并设置相应的电阻来保护电路和单片机芯片。
3.程序编写:通过阅读单片机说明书和参考其他资料,我们学习了单片机输入输出口的基本使用方法和指令,编写了程序代码,实现了独立按键操作的功能。
我们实现了多种按键操作方式,包括单击、长按等方式,并添加了相应的提示和保护措施,以确保程序的可靠性和稳定性。
4.测试实验:最后,我们进行了独立按键测试实验,通过按键操作,观察测试实验结果,进行了数据分析和结论汇总。
实验结果表明,我们的按键电路和程序代码都实现了预期的功能和效果,证明了我们在实验中掌握的独立按键技巧和方法是正确和有效的。
三、实验结论通过本次实验,我们掌握了单片机输入输出口的基本使用方法和独立按键的使用方法和技巧,了解了按键在电路中的应用和接法方法,探索了独立按键实现的多种方式和技巧,提高了我们的电路设计能力和程序设计能力。
同时,本次实验还加强了我们的实验动手操作能力,增强了我们的实际应用能力和创新思维能力,为我们以后的学习和工作打下了坚实的基础。
键盘 实验报告
键盘实验报告实验报告:键盘引言:键盘是计算机输入设备中最常用的一种设备,用于输入字符、数字、命令等等。
键盘以一定的方式将我们按下的按键转换成计算机可识别的信号,从而实现输入功能。
本实验的目的是了解键盘的工作原理、结构以及使用方法。
实验目的:1. 了解键盘的工作原理;2. 掌握键盘通信协议;3. 掌握键盘的结构和按键布局;4. 学习键盘的使用方法。
实验原理:键盘的工作原理是通过扫描矩阵的方式实现的,常见的键盘为4x4矩阵结构,也有其他规格的矩阵结构。
按键的每一个位置都与键盘电路中的一个电气开关相连接,当按下某个按键时,会导电并向计算机发送信号。
键盘通过PS/2或USB 接口与计算机相连,传输按键的信息。
键盘结构通常包括以下部分:1. 按键:键盘上的每一个按键代表一个字符、数字、命令或功能等。
按键大致分为四个区域:字母区、数字区、符号区和功能区。
2. 电路板:键盘的电路板上连接着按键开关,实现按键的电气连接和信号传输。
3. 导线和线缆:将电路板与接口连接,传递信号。
4. 接口:键盘通过PS/2或USB接口与计算机相连,实现信号的传输。
实验步骤:1. 准备一个计算机和一台键盘,确保键盘的连接正确。
2. 打开计算机,进入操作系统。
3. 在文本编辑器中打开一个文档,用来记录实验结果。
4. 将注意力集中在键盘上,按下键盘上的一个按键,观察文档中的输入情况。
5. 重复步骤4,测试其他按键,记录测试结果。
6. 关闭计算机,结束实验。
实验结果与分析:通过本实验,我们了解到键盘的工作原理是通过扫描矩阵的方式实现的,按键通过电路板中的电气开关与计算机相连,实现键盘输入。
键盘的按键布局通常分为四个区域:字母区、数字区、符号区和功能区。
通过实验测试,我们发现按键输入是可靠的,按下按键时能够正确输入对应的字符或数字。
键盘的使用方法是简单明了的,只需要按下对应的按键即可完成输入。
实验总结:键盘作为计算机最常用的输入设备,广泛应用于各个领域。
矩阵式键盘实验报告
矩阵键盘实验报告佘成刚学号2010302001班级08041202时间2016.01.20一、实验目的1.学习矩列式键盘工作原理;2.学习矩列式接口的程序设计。
二、实验设备普中HC6800ESV20开发板三、实验要求要现:用4*4矩阵键盘,用按键形式输入学号,在数码管上显示对应学号。
四、实验原理工作原理:矩阵式由行线和列线组成,按键位于行、列的交叉点上。
如图所示,一个4*4 的行、列结构可以构成一个由16 个按键的键盘。
很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/0 口。
(1)矩阵式键盘工作原理按键设置在行、列交节点上,行、列分别连接到按键开关的两端。
行线通过下拉电阻接到GND 上。
平时无按键动作时,行线处于低电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。
列线电平如果为低,行线电平为高,列线电平如果为高,则行线电平则为低。
这一点是识别矩阵式键盘是否被按下的关键所在。
因此,各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。
(2)按键识别方法下面以3 号键被按下为例,来说明此键是如何被识别出来的。
前已述及,键被按下时,与此键相连的行线电平将由与此键相连的列线电平决定,而行线电平在无键按下时处于高电平状态。
如果让所有列线处于高电平那么键按下与否不会引起行线电平的状态变化,始终是高电平,所以,让所有列线处于高电平是没法识别出按键的。
现在反过来,让所有列线处于低电平,很明显,按下的键所在行电平将也被置为低电平,根据此变化,便能判定该行一定有键被按下。
但我们还不能确定是这一行的哪个键被按下。
所以,为了进一步判定到底是哪—列的键被按下,可在某一时刻只让一条列线处于低电平,而其余所有列线处于高电平。
当第1 列为低电平,其余各列为高电平时,因为是键3 被按下,所以第1 行仍处于高电平状态;当第2 列为低电平,其余各列为高电平时,同样我们会发现第1 行仍处于高电平状态,直到让第4 列为低电平,其余各列为高电平时,因为是3 号键被按下,所以第1 行的高电平转换到第4 列所处的低电平,据此,我们确信第1 行第4 列交叉点处的按键即3 号键被按下。
单片机原理及接口技术实验报告
单片机原理及接口技术实验报告一、引言单片机(Microcontroller)是一种集成为了处理器、存储器和各种接口电路的微型计算机系统。
它具有体积小、功耗低、成本低等优点,广泛应用于嵌入式系统、自动化控制、电子设备等领域。
本实验旨在深入了解单片机的原理和接口技术,并通过实验验证相关理论。
二、实验目的1. 理解单片机的基本原理和结构。
2. 掌握单片机与外部器件的接口技术。
3. 进一步培养实际操作能力和解决问题的能力。
三、实验仪器与材料1. 单片机开辟板2. 电脑3. 串口线4. LED灯5. 蜂鸣器6. 数码管7. 按键开关8. 电阻、电容等元件四、实验内容与步骤1. 单片机原理实验1.1 单片机的基本结构单片机由中央处理器(CPU)、存储器(RAM、ROM)、输入输出接口(I/O)、定时器/计数器、串行通信接口等组成。
通过学习单片机的基本结构,我们可以了解各个部份的功能和作用。
1.2 单片机的工作原理单片机的工作原理是指单片机在不同工作模式下的内部状态和运行规律。
通过学习单片机的工作原理,我们可以更好地理解单片机的工作过程,为后续的实验操作提供基础。
2. 单片机接口技术实验2.1 LED灯接口实验将LED灯与单片机相连,通过控制单片机的输出口电平,控制LED灯的亮灭。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.2 蜂鸣器接口实验将蜂鸣器与单片机相连,通过控制单片机的输出口电平和频率,控制蜂鸣器的声音。
通过实验,我们可以学习到单片机的输出接口的使用方法。
2.3 数码管接口实验将数码管与单片机相连,通过控制单片机的输出口电平和数据,显示不同的数字。
通过实验,我们可以学习到单片机的输出接口和数码管的使用方法。
2.4 按键开关接口实验将按键开关与单片机相连,通过检测单片机的输入口电平,实现按键的功能。
通过实验,我们可以学习到单片机的输入接口的使用方法。
五、实验结果与分析1. 单片机原理实验结果通过学习单片机的基本结构和工作原理,我们深入了解了单片机的内部组成和工作过程,为后续的接口技术实验打下了基础。
实验报告1--GPIO输出按键输入实验
班级学号姓名实验日期室温大气压成绩实验题目:GPIO输出实验——按键输入检测实验一、实验目的:1、通过本实验学会ARM7.0软件的安装及掌握对该软件和EasyJTAG仿真器的使用;2、了解EasyARM2131开发板硬件结构,掌握各引脚功能和接线;3、掌握相关实验的程序,并能作出简单的修改并实现其功能;4、掌握GPIO输出实验---按键输入的检测。
二、实验仪器:EasyARM2131开发板一块及相关导线、计算机一台三、实验原理:下面是工程窗口中的图标介绍:如图4.2所示,当P0口连接GPIO且用于输入时,如用于检测按键的时候,由于P0口作GPIO输入时,内部无上拉内阻,所以需要加10K左右的上拉电阻,把I/O口拉到高电平。
当P0口用于GPIO输入时(如按键输入),内部无上拉电阻,需要加上拉电阻,电路如图4.14图4.14 按键输入原理图实验通过跳线JP8连线KEY3_P0.18,程序检测按键KEY3的状态,控制蜂鸣器BEEP的蜂鸣。
在实验中,需要将按键KEY3输入口P0.18设为输入口,而蜂鸣器控制口P0.7设为输出口。
蜂鸣器电路如图1.11所示,当跳线JP6连线蜂鸣器时,P0.7控制蜂鸣器,低电平时蜂鸣器蜂鸣。
程序首先设置管脚连线寄存器PINSEL0和PINSEL1,设置P0.7为输出。
然后检测端口P0.18的电平,对P0.7进行相应的控制,流程图如图4.15所示,实现程序见程序清单4.7。
四、实验步骤:1、接好开发板与计算机的相关接线2、打开已安装好的H-JTAG和H-Flasher软件,并在H-Flasher软件中选择Flasher Selation→PHILIPS→LPC2318;然后再选择Programming→check。
操作过程中出现的窗口如下图(1)、(2)所示:图(1)图(2)3、Metrowerks CodeWarrior for ARM Developer Suite v1.2软件,点击File选择Open打开GPIO输出实验——按键输入检测实验文件夹,选择GPIO_Leds8-2.mcp文件,双击main.c ,打开主程序,并运行检查是否出现错误,无误后点击Dubeg按钮;操作过程中的窗口如下图(3)、(4)所示:图(3)图(4)4、出的AXD窗口中选择Options,点击configure target后,在跳出的choose target窗口中点击Ok,点击运行按钮(若点击运行按钮,开发板中的LED不会亮)则在PIO_Leds8-a.mcp窗口中点击Run按钮运行,并观察开发板上出现的现象是否符合实验要求窗口如下图(5)所示:图(5)5、程序清单4.7:按键输入程序如下#include "config.h"const uint32 BEEP = 1 << 7; // P0.7控制蜂鸣器const uint32 KEY1 = 1 << 18; // P0.18连接KEY3/************************************************************ ************************************************ 函数名称:main()** 函数功能:GPIO输入实验测试。
实验六、独立式键盘输入实验
实验六、独立式键盘输入实验一、实验目的1.认识独立式键盘的工作原理2.学习独立式键盘的接口设计二、实验设备1.单片机最小系统模块2.仿真器3.独立式键盘实验模块4.发光二极管显示模块三、实验要求要求由8个独立式键盘和8个发光二极管组成实验电路,当按下某一个键时相应的发光二极管被点亮。
四、实验原理独立式键盘中,各按键相互独立,每个按键各接一根输入线,每根输入线上的按键工作状态不会影响其它输入线上的工作状态。
因此,通过检测输入线的电平状态就可以很容易的判断按键是否被按下了。
独立式键盘电路配置灵活,软件结构简单。
但每个按键需占用一根输入线,在按键数量较多时,输入口浪费大,电路结构显得很繁杂,故此种键盘适用于按键较少或操作速度较高的场合。
下面介绍独立式按键的接口方法。
图6-1(a)为中断方式的独立式键盘工作电路,图(b)为查询方式的独立式按键工作电路,按键直接与89C51的I/O口线相接,通过读I/O口,判定各I/O口线的电平状态,即可识别出按下的按键。
(a)中断方式(b)查询方式图6-1 独立式键盘接口电路此外,也可以用扩展I/O口连接独立式键盘接口电路。
上述独立式键盘电路中,各按键开关均采用了上拉电阻,这是为了保证在按键断开时,各I/O口线有确定的高电平。
在我们的键盘模块中,已经在键盘输出端加上了上拉电阻,因此不用再额外加上。
五、实验步骤实验参考连线如图6-2所示。
(以6键、6发光管为例)图6-2 实验连线图1、按照图6-2的电路原理,用导线正确连接独立式键盘、发光二极管实验模块和单片机最小系统模块。
2、示例程序如下(以6键、6发光管为例):BEGIN: MOV P0,#0FFH ;熄灭二极管LOOP: MOV A,P0 ;读键盘状态ANL A,#3FH ;屏蔽高二位MOV 40H,A ;把读的键盘状态暂放在40H的地址CJNE A,#3FH,HADKEYSJMP LOOPHADKEY:ACALL DL10MS ;延时10MSMOV A,P0 ;再读键盘状态ANL A,#3FH ;屏蔽高二位CJNE A,40H,LOOP ;比较两次读键盘状态,如不同则重读MOV P2,A ;使相应的二极管发亮NOPNOPLJMP LOOPDL10MS: MOV R7,#05LOOP1: MOV R6,#0F9HLOOP2: NOPNOPDJNZ R6,LOOP2DJNZ R7,LOOP1RET将程序调入仿真器进行调试。
按键的实验原理
按键的实验原理
按键是计算机中的重要输入设备,是人机交互的方式之一。
在计算机中,按键分为机械按键和触摸按键两种类型。
机械按键主要是我们常说的键盘按键,而触摸按键则是指在屏幕或其他面板上进行触摸操作。
无论是机械按键还是触摸按键,其实验原理都是差不多的。
按键通常由导电的金属触点、弹簧、外壳和连接器等组成。
当按键按下时,触点会与外壳接触,从而形成一个通路,导通电流。
通过按键的开合状态,我们可以对电路进行控制,从而实现各种功能。
例如在计算机键盘中,每一个按键都与一个独立的电路相连。
当按下某一个按键时,它与外壳形成通路,就会给计算机发送一个信号,表示当前按下了某个按键。
计算机会根据这个信号来响应相应的操作,比如打印出相应字符、播放音乐等。
除了普通的机械按键,目前还有一种较为流行的触摸屏幕。
触摸屏幕是通过手指与屏幕接触,来实现控制设备的一种方式。
触摸屏通过感应电容、电阻等原理来识别手指的位置。
根据人体电导率的大小以及手指与屏幕的距离等参数,系统可以计算出手指在屏幕上的坐标位置,从而完成对设备的控制。
在触摸屏幕中,一般使用电容方式来进行触控,即将一层导电玻璃覆盖在显示屏上方,然后将外加电压引入其上。
当我们的手指接触屏幕时,会改变导电玻璃上的电场分布,导致电极间的电容值发生变化。
触摸屏上的控制电路会检测这种电
容变化,并据此计算出手指位置,从而实现手指对屏幕的控制。
总之,不论是机械按键还是触摸屏幕,按键都是计算机的重要输入设备之一。
通过按下按键,我们可以控制电路,使计算机完成相应操作,从而实现人机交互。
简易键盘设计实验报告
简易键盘设计实验报告1. 引言键盘作为计算机输入设备的一种,是人与计算机之间进行信息交流的重要工具。
随着计算机应用领域的不断扩展,人们对键盘的要求也越来越高,希望它能够更加人性化、便捷,提高工作效率。
因此,设计一款简易键盘成为了本实验的主要目标。
在本实验中,我们将利用现有的技术和材料,设计并制作一款基于蓝牙通信的简易键盘。
通过该键盘,我们可以实现无线连接,通过按键和计算机进行信息传输。
本报告将依次介绍实验的设计思路、实验过程和结果,并对实验进行总结和展望。
2. 设计思路我们的简易键盘设计基于蓝牙通信技术,主要包括键盘硬件设计和键盘软件设计两个部分。
2.1 键盘硬件设计在硬件设计中,我们采用了基于STM32单片机的开发板作为键盘的控制核心。
该开发板具备较高的性能和丰富的外设接口,非常适合作为键盘的控制平台。
我们将利用单片机的GPIO引脚来控制按键的输入和输出,通过编程来实现按键的扫描和信号的处理。
此外,我们还需要设计键盘的结构和按键布局。
在本实验中,我们采用传统的QWERTY键盘布局,并根据键盘的大小和手部的人体工程学原理进行调整,以提高使用的舒适性。
键盘的结构设计将考虑到键盘的稳定性和坚固性,同时兼顾美观和实用性。
2.2 键盘软件设计在软件设计中,我们将利用C语言编程,编写键盘的控制程序。
首先,我们需要编写按键扫描程序,该程序能够周期性地检测按键的状态,并将按键的信息保存在内存中。
其次,我们需要编写蓝牙通信程序,将按键的信息通过蓝牙模块传输给计算机。
最后,在计算机端,我们需要编写接收程序,接收并处理从键盘传来的数据。
3. 实验过程和结果为了验证我们的设计思路,我们按照以下步骤完成了实验:1. 制作键盘的物理结构,包括键盘的外壳和按键。
2. 将STM32开发板与键盘电路连接,确保所有的接口正常工作。
3. 编写键盘的控制程序,实现按键的扫描和信号的处理。
4. 将蓝牙模块与STM32开发板连接,编写蓝牙通信程序。
实验五:独立式键盘实验
实验五:独立式键盘实验4.5.1 实验目的1. 掌握单片机独立键盘接口设计方法。
2. 掌握单片机键盘扫描程序设计方法。
3. 掌握按键功能设计方法。
4. 掌握软件消除按键抖动方法。
4.5.2 实验预习1.熟悉Keil集成编译环境的使用方法。
2. 复习单片机C语言程序设计方法。
3. 复习独立键盘工作原理。
4. 复习按键去抖动方法。
4.5.3 实验原理实验板上提供4个独立按键,与单片机接口如图4.5.1所示,每个按键单独接单片机一个I/O接口。
只要将相应端口设为1,然后判断端口状态,如果仍为1,则按键处于断开(释放)状态,如果为0,则按键处于接通(闭合)状态。
图4.5.1 独立键盘电原理图4.5.4 预作实验任务1. 用Proteus仿真软件绘制独立键盘电路图,包括如图4.5.1所示键盘接口,单片机最小系统以及数码管动态显示电路。
2. 简述按键识别过程中如何等待按键释放。
3. 简述按键抖动对单片机系统工作性能的影响,并简介消除按键抖动的方法。
4. 编写按键识别函数,要求正确识别4个按键的状态,如果有按键按下则返回键值,从左到右四个键值分别为1~4。
并通过仿真或实验板验证(要求用软件的方法消除按键抖动)。
5.为实验板上4个按键设定不同的功能,在数码管上显示数字128,4个按键按下后分别对显示的数字做如下修改:key1:数字+1;key2:数字-1;key3:数字+10;key4:数字-10;流程图如图4.5.2所示,试设计完整程序(按键识别子程序KEYSCAN和动态显示子程序DISPLAY可直接调用这里省略)。
图4.5.2 按键功能设计流程图4.5.5 实验任务1.开机时数码管显示1002.按键key1一次数字加1,按键key2一次数字减1。
加到999时再加1归零,减到000时再减1得999。
3.按住键key3不放实现连加功能,每0.2s加1。
4.按住键key4不放实现连减功能,每0.2s减1。
4.5.6 实验步骤1.分析题意,确定算法,绘制主程序流程图。
单片机按键实验报告
单片机按键实验报告篇一:单片机按键扫描实验报告键盘扫描一.实验目的(1)掌握矩阵键盘接口电路和键盘扫描编程方法。
(2)掌握按键值处理与显示电路设计。
二.实验任务(1)设计4*4键盘,编写各个键的特征码和对应的键值(0~F);(2)编程扫描按键,将按键对应的数字值使用数码管显示出来。
三.实验电路及连线方法1.采用动态显示连线方法:电路由2 片74LS573,1 个六字一体的共阴数码管组成。
由U15 输出段选码,U16 做位选码,与单片机的采用I/O 口连接方式,短路片J22 连接P2.0,J23 连接P2.3,做输出信号锁存。
(实际电路连接是d7-d6-d5-d4-d3-d2-d1-d0?h-c-d-e-g-b-a-f)。
PW12 是电源端。
2.键盘电路连线方法:电路由16 个按键组成,用P1 口扩展4×4 行列式键盘。
J20 是键盘连接端,连接到P1 口。
J21 是行列键盘、独立键盘选择端,当J21 的短路片连接2-3脚时,构成4×4 行列式键盘;当J21 的短路片连接2-1 脚时,可形成3×4 行列式键盘,4 个独立式按键S4、S8、S12、S16,这4 个独立按键分别连接P1.4~P1.7;其他12 个键3×4 行列式键盘。
PW15 是电源端。
四.编程思路1.采用反转法识别按键的闭合。
2.采用动态显示将键值显示出来。
五.算法流程图六.资源分配1.用P1口进行查找按键2.用R3做键值指针3.用R1做动态显示为选码指针。
4.R5为延时指针。
七.程序设计KPIN:ORG MOV MOV ANL MOV 0000H P1,#0F0H A,P1 A,#0F0H B,AMOVP1,#0FHMOVA,P1ANLA,#0FHORLA,BCJNE A,#0FFH,KPIN1AJMP EXITKPIN1: MOVB,AMOVDPTR,#TABKPMOVR3,#0KPIN2: MOVA,R3MOVC A,@A+DPTRCJNE A,B,KPIN3MOVA,R3LOOP: MOVR1,#0FEH;键盘动态显示 LOOP1: MOVA,R3ANLA,#0FHMOV DPTR,#TABMOVC A,@A+DPTRCLRP2.0CLRP2.1MOVP0,ASETB P2.0NOPCLRP2.0LOOP2: MOVA,R1;位选码MOVP0,ASETB P2.1MOVR5,#250LOOP3: DJNZ R5,LOOP3CLRP2.1SJMP LOOPKPIN3: INCR3CJNE A,#0FFH,KPIN2EXIT: RETTABKP: DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBHDB 0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,67H,0FFHTAB: DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FHDB 79H,33H,7CH,3BH,1BHEND八.调试出现的问题及解决问题1:程序正常运行,但按键显示出现乱码解决:动态显示笔形码错误,并改正。
键盘接口实验实验报告及程序
键盘接口实验实验报告及程序一、实验目的本次实验的主要目的是深入了解计算机键盘接口的工作原理,并通过编程实现对键盘输入的读取和处理。
通过这个实验,我们将掌握如何与计算机硬件进行交互,提高对计算机系统底层运作的认识。
二、实验原理计算机键盘通常通过 PS/2 接口或 USB 接口与主机相连。
在本次实验中,我们以 PS/2 接口为例进行研究。
PS/2 接口使用双向同步串行协议进行通信,数据传输速率约为 10 167Kbps 。
键盘在向主机发送数据时,每个字节包含 11 位,分别是起始位(总是 0 )、 8 位数据位(低位在前)、校验位(奇校验)和停止位(总是 1 )。
主机通过向键盘发送命令来控制键盘的工作模式和获取相关信息。
三、实验设备及环境1、计算机一台2、开发板及相关配件3、编程软件(如 Keil 等)四、实验步骤1、硬件连接将开发板与计算机通过相应的接口连接好,确保连接稳定。
2、软件编程选择合适的编程语言和开发环境。
初始化相关的硬件接口和寄存器。
编写读取键盘输入数据的程序代码。
3、编译与下载对编写好的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到开发板中。
4、实验测试按下键盘上的不同按键,观察开发板的输出结果。
检查读取到的数据是否准确,校验位是否正确。
五、程序代码实现以下是一个简单的基于 C 语言的键盘接口读取程序示例:```cinclude <reg51h>//定义 PS/2 接口相关引脚sbit PS2_CLK = P1^0;sbit PS2_DATA = P1^1;//读取一个字节的数据unsigned char ReadByte(){unsigned char data = 0;unsigned char i;while(PS2_CLK == 1);//等待时钟线拉低for(i = 0; i < 8; i++){while(PS2_CLK == 0);//等待时钟上升沿data =(data << 1) | PS2_DATA; //读取数据位}while(PS2_CLK == 1);//等待时钟线拉低return data;}void main(){unsigned char key;while(1){key = ReadByte();//读取键盘输入的数据//在此处对读取到的数据进行处理和显示}}```六、实验结果与分析在实验过程中,我们按下不同的键盘按键,开发板能够准确地读取到相应的键值。
按键输入实验-STM32F4开发
第八章按键输入实验上两章,我们介绍了STM32F4的IO口作为输出的使用,这一章,我们将向大家介绍如何使用STM32F4的IO口作为输入用。
在本章中,我们将利用板载的4个按键,来控制板载的两个LED的亮灭。
通过本章的学习,你将了解到STM32F4的IO口作为输入口的使用方法。
本章分为如下几个小节:8.1 STM32F4 IO口简介8.2 硬件设计8.3 软件设计8.4 下载验证8.1 STM32F4 IO口简介STM32F4的IO口在上两章已经有了比较详细的介绍,这里我们不再多说。
STM32F4的IO 口做输入使用的时候,是通过调用函数GPIO_ReadInputDataBit()来读取IO口的状态的。
了解了这点,就可以开始我们的代码编写了。
这一章,我们将通过ALIENTEK探索者STM32F4开发板上载有的4个按钮(KEY_UP、KEY0、KEY1和KEY2),来控制板上的2个LED(DS0和DS1)和蜂鸣器,其中KEY_UP控制蜂鸣器,按一次叫,再按一次停;KEY2控制DS0,按一次亮,再按一次灭;KEY1控制DS1,效果同KEY2;KEY0则同时控制DS0和DS1,按一次,他们的状态就翻转一次。
8.2 硬件设计本实验用到的硬件资源有:1)指示灯DS0、DS12)蜂鸣器3)4个按键:KEY0、KEY1、KEY2、和KEY_UP。
DS0、DS1以及蜂鸣器和STM32F4的连接在上两章都已经分别介绍了,在探索者STM32F4开发板上的按键KEY0连接在PE4上、KEY1连接在PE3上、KEY2连接在PE2上、KEY_UP 连接在PA0上。
如图8.2.1所示:图8.2.1 按键与STM32F4连接原理图这里需要注意的是:KEY0、KEY1和KEY2是低电平有效的,而KEY_UP是高电平有效的,并且外部都没有上下拉电阻,所以,需要在STM32F4内部设置上下拉。
8.3 软件设计从这章开始,我们的软件设计主要是通过直接打开我们光盘的实验工程,而不再讲解怎么加入文件和头文件目录。
单片机按键扫描实验报告
单片机按键扫描实验报告
实验目的:
通过实验,掌握单片机按键的原理和按键的扫描方法。
实验器材:
1. STC89C52单片机开发板
2. 按键模块
3. 面包板、杜邦线等
实验原理:
单片机按键的原理是通过按键模块接通或断开单片机的某个IO口,从而改变该IO口的电平状态,由单片机检测到电平状态的改变,从而实现对按键的检测和响应。
按键模块一般采用矩阵按键的形式,通过多个IO口设为输出,多个IO口设为输入的方式,实现对多个按键的扫描检测。
按键模块一般会采用行列扫描的方法,即将按键分为多个行和列,按下按键时,某一行和某一列之间接通,从而改变了IO口的电平状态。
实验步骤:
1. 将按键模块连接到单片机开发板的IO口上。
根据按键模块的接口定义将VCC、GND和各个行列引脚分别连接到开发板上。
2. 根据按键模块的引脚定义,编写单片机程序进行按键的扫描。
通过循环检测每个行引脚和每个列引脚之间的电平变化,来判断按键是否被按下。
3. 在程序中可以通过LED等显示设备来显示按键是否被按下的状态。
4. 执行程序,观察按键是否可以正常检测和响应。
实验结果:
实验完成后,观察到按键的检测和响应正常,按下按键时,LED等显示设备可以正确显示按键被按下的状态。
经过实验,掌握了单片机按键的原理和按键的扫描方法,进一步提升了对单片机设备的理解和应用能力。
实验二独立按键试验实验报告
实验二独立按键试验实验报告
一、实验目的
独立按键试验是为了验证按键与单片机的连接是否正常,并测试按键
功能是否正常,通过实验掌握按键接口的使用和按键的原理。
二、实验原理
在实际应用中,常常需要使用按键来实现硬件的控制。
按键的原理是:当按键关闭时,两个按键引脚之间短接,按键关闭。
当按键打开时,两个
按键引脚之间断开,按键打开。
三、实验仪器
1.单片机开发板
2.按键
3.面包板和杜邦线
4.电源线
四、实验步骤
1.将按键连接到单片机开发板上的按键接口,并接通电源。
2.编写程序,监测按键是否被按下,并通过串口输出按键的状态。
3.烧录程序到单片机,运行程序。
4.进行按键试验。
五、实验结果与分析
按下按键后,通过监测按键引脚的电平变化,可以判断按键是否被按下。
根据不同的按键连接方式,可能需要使用上拉电阻或下拉电阻来连接按键。
六、实验结论
通过独立按键试验,我们验证了按键与单片机的连接是否正确,并测试了按键的功能。
在实际应用中,可以根据需要使用按键来实现硬件的控制。
七、实验心得
通过本次实验,我掌握了按键接口的使用方法和按键的原理。
在实际应用中,按键是一个常用的控制元件,有了这次实验的经验,以后在使用按键时会更加得心应手。
实验一 按键实验
实验一 LED灯及按键实验一、实验目的1、了解KEIL软件和STC下载软件的操作方法。
2、学习用KEIL软件编写程序和STC软件下载程序的操作。
3、掌握单片机I/O口的应用,并学会简单的流水灯程序的编写。
4、理解独立按键的控制原理,能用独立按键控制led的亮灭。
二、实验设备1、单片机口袋机。
2、mini USB口下载线。
三、实验内容1、通过控制单片机I/O口的状态控制led灯的亮灭。
(LD0,LD1,LD2,LD3)2、控制四个led灯循环点亮。
3、通过口袋机上的按键(K0~K3)控制四个led灯亮灭,亮灭的形式可以多样化。
四、实验原理1、口袋机上的4个LED灯为共阳极的,实现LED流水灯时,单片机的I/O口可以控制LED灯的变化,本程序用到单片机的P3.7,P4.1,P4.2和P4.3口,分别对应口袋机的LD0,LD1,LD2,LD3。
现象为LED灯从右到左依次点亮并循环。
图1 LED接口原理图图2 LED原理图下面是P3口和P4口的I/O口的工作类型设定:2、按键(轻触开关)是一种广泛应用于各种电子设备的元件,比如我们最常用的电视机面板控制按钮,遥控器按钮。
其实就是一个常开的开关,按下后两个触点接触形成通路状态,松开时形成开路状态。
相关原理图如下:图1 按键原理图图2按键接线图五、实验步骤1、建立“TEST”文件夹,用于存放实验一的所有文件2、启动Keil uVision4 先建立一个空文件夹,之后建工程的时候把工程文件放在里面,以避免和其他文件混合,例如在桌面创建了一个“TEST”的文件夹。
双击桌面上的Keil uVision4图标打开软件3、点击“Project”选项,选择新建工程。
单击Project菜单,建立一个新工程。
在弹出的下拉菜单中选中New uvision Project选项。
4、给文件命名,例如“test”,将文件保存到“TEST”文件夹内新建的工程的文件的名字比如为“test”后缀必须是.uvproj用户可根据需要随便命名,保存到刚才新建的文件夹“TEST”下5、在该窗口选择CPU为“STC MCU”在弹出来的对话框中选择STCMCU Database6、选择单片机型号:“STC15W4K32S4”在弹出的对话框中可以看到里面全部都是STC的单片机,选择“STC15W4K32S4”单片机,右边栏是对这个单片机的基本说明,然后点击“确定”之后出现下图所示,Target就是刚才新建的工程7、点击“Files”选项,选择“New”新建文本,单击保存按键,将保存的文件后缀改为“.c”文件,则默认为该文件为用C语言编写。
《单片微型计算机原理及接口技术》按键接口实验报告
《单片微型计算机原理及接口技术》按键接口实验报告课程名称:单片微型计算机原理及接口技术实验类型:验证型实验项目名称:按键接口实验一、实验目的:1、熟悉单片机简单按键的接口方法。
2、掌握按键扫描及处理程序的编辑方法和调试方法。
二、Proteus仿真实验硬件电路按键接口实验的Proteus仿真实验硬件电路如图8.1所示。
三、实验任务用单片机P2.0~P2.2端口的3个按键分别对应控制P1.0~P1.3端口的3个LED小灯的亮与灭。
四、实验预习要求1、根据硬件电路原理图,画出实际接线图。
2、根据试验任务设计相应的调试程序。
独立列式按键查询实验的仿真硬件电路如图5.2所示。
3、阅读掌握Wave、Madwin、Keil-51等编译软件的使用方法。
4、完成预习报告。
五、实验设备计算机(已安装单片机汇编编译软件及Proteus软件)。
六、实验报告要求整理好实验任务1~2中经Proteus运行正确的程序。
实验八独立按键参考汇编程序;********************************************************;;实验程序8.1 ;;用单片机P2.0~P2.2端口的3个按键分别控制P1.0~P1.3 ;;端口的3个LED小灯的亮与灭;; 12MHz晶振;;*********************************************************;;KEYSW0 EQU P2.0 ;按键0KEYSW1 EQU P2.1 ;按键1KEYSW2 EQU P2.2 ;按键2LED0 EQU P1.2 ;LED小灯0LED1 EQU P1.1 ;LED小灯1LED2 EQU P1.2 ;LED小灯2;*************;;主程序入口;;*************;;ORG 0000H ;程序执行开始地址LJMP START ;跳至START执行;*********;;主程序;;*********;START: MOV P2,#0FFH ;置P2口为输入状态KLOOP: JNB KEYSW0,KEY0 ;读KEYSW0口,若为0转KEY0 JNB KEYSW1,KEY1 ;读KEYSW1口,若为0转KEY1 JNB KEYSW2,KEY2 ;读KEYSW2口,若为0转KEY2 AJMP KLOOP ;子程序返回;0键处理程序KEY0:LCALL DL10ms ;延时10ms消抖JB KEYSW0,KLOOP ;KEYSW0为1,程序返回(干扰)CPL LED0 ;开LED0灯WAIT0:JNB KEYSW0,WAIT0 ;等待键释放LCALL DL10ms ;延时消抖JNB KEYSW0,WAIT0 ;AJMP KLOOP ;返回主程序;1键处理程序KEY1:LCALL DL10ms ;延时10ms消抖JB KEYSW1,KLOOP ;KEYSW1为1,程序返回(干扰)CPL LED1 ;开LED1灯WAIT1:JNB KEYSW1,WAIT1 ;等待键释放LCALL DL10ms ;延时消抖JNB KEYSW1,WAIT1 ;AJMP KLOOP ;返回主程序;2键处理程序KEY2:LCALL DL10ms ;延时10ms消抖JB KEYSW2,KLOOP ;KEYSW2为1,程序返回(干扰)CPL LED2 ;开LED2灯WAIT2:JNB KEYSW2,WAIT2 ;等待键释放LCALL DL10ms ;延时消抖JNB KEYSW2,WAIT2 ;AJMP KLOOP ;返回主程序:***********;;延时程序;:***********;;约0.5ms延时子程序,执行一次时间为513sDL512:MOV R2,#0FFHLOOP1:DJNZ R2,LOOP1RET;约10MS延时子程序(调用20次0.5ms延时子程序)DL10ms:MOV R3,#14HLOOP2: LCALL DL512DJNZ R3,LOOP2RETEND ;程序结束七、思考与提高1修改按键功能,使得第一个键按下8个灯全亮,第二个键按下偶数灯全亮,第三个键按下流水灯点亮8个灯,第四个键按下全灭答:(汇编代码如所示)(仿真结果如图所示)2在第一个程序基础上加一位显示,按键按下后能显示按键的键码答:(汇编代码如图所示)(仿真结果如图所示)3在第一个程序基础上加四位显示,按键按下后能显示按键的键码如0003 答:(汇编代码如图所示)(仿真结果如图所示)八、讨论和心得。
键盘接口实验实验报告总结及程序.doc
实验六键盘接口实验姓名专业通信工程学号成绩一、实验目的1.掌握 Keil C51 软件与 Protues 软件联合仿真调试的方法;2.掌握单片机的键盘接口电路;3.掌握单片机键盘扫描原理;4.掌握键盘的去抖原理及处理方法。
二、实验仪器与设备1.微机 1 台 C51 集成开发环境 3 。
Proteus 仿真软件三、实验内容1.用 Proteus 设计一矩阵键盘接口电路。
要求利用 P1口接一 4*4 矩阵键盘。
串行口通过一 74LS164接一共阴极数码管。
参考电路见后面。
2. 用线反转法编写矩阵键盘识别程序,要求采用中断方式(列线通过 4 输入与门 74LS20接 /INT0 ),无按键按下时,数码管循环画“ 8”;有按键按下时产生中断并将按键的键值 0~F 通过串行口输出,在数码管上显示 3秒钟后返回;返回后,数码管继续循环画“ 8”。
3.将 P1 口矩阵键盘改为 8 个独立按键(用中断方式设计),键盘通过74LS30 (8 输入与非门)和 74LS04(六反相器)与 /INT0 相连,重新编写识别和显示程序。
四、实验原理矩阵键盘识别一般应包括以下内容:1)判别有无键按下。
2)键盘扫描取得闭合键的行、列号。
3)用计算法火或查表法得到键值。
4)判断闭合键是否释放,如果没释放则继续等待。
5)将闭合键的键值保存,同时转去执行该闭合键的功能。
五、实验步骤1.用 Proteus 设计键盘接口电路;2.在Keil C51中编写键盘识别程序,编译通过后,与Proteus 联合调试;3.按动任意键,观察键值是否能正确显示。
六、电路设计及调试、程序1)程序设计:矩阵键盘#include<>#define uchar unsigned char#define uint unsigned intuchar codetable1[]={0x00,0x01,0x21,0x61,0x65,0x6d,0x7d,0x7f};uchar codekey_table[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d,0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77};R4S6S5 S4S3 1nF19XTAL1P0.0/AD0 39S2X138S1 P0.1/AD1 U1S0CRYSTALP0.2/AD2 3736 9SRG8R318 XTAL2P0.3/AD3 R35P0.4/AD4C1348P0.5/AD5 C1/->3322pF9P0.6/AD6 32RSTP0.7/AD71 31uFP2.0/A8 212&1DR1722P2.1/A923 4S0P2.2/A1029 2410kPSEN P2.3/A11S130 25 5ALE P2.4/A123126EAP2.5/A13S2 27 6P2.6/A1428P2.7/A1510S3P1.0 1P1.0 P3.0/RXD 10P1.1 2 1111S4P1.1 P3.1/TXDP1.2 3 12P1.2 P3.2/INT0P1.3 4 1312S5P1.3 P3.3/INT1P1.4 5 14P1.4 P3.4/T0P1.5 6 1513S6P1.5 P3.5/T1 P1.6 7 16P1.6 P3.6/WRP1.7 81774LS164P1.7 P3.7/RDP1.0P1.1P1.2P1.3 P1.4 P1.5 P1.6 P1.71U3:A2 64 574LS21R41nF 19XTAL1P0.0/AD039X138P0.1/AD1U1CRYSTALP0.2/AD2 3736 9SRG8R318 XTAL2P0.3/AD3 R35 P0.4/AD434 8C1P0.5/AD5 C1/->33P0.6/AD622pF932RSTP0.7/AD713&1uFP2.0/A8 21 21DR1722P2.1/A923 4S0P2.2/A10R1 R2 R5 R6 R7 R8 R9 R1029 PSEN24 10kP2.3/A11 5S110k10k10k10k10k10k10k10k30ALE P2.4/A12 253126EAP2.5/A13276S2 P2.6/A14 28P2.7/A15S310P1.0 1 P1.0 P3.0/RXD 10P1.1 2 1111S4P1.1 P3.1/TXDP1.2 3 12P1.2 P3.2/INT0P1.3 4 13 12S5 P1.3 P3.3/INT1 P1.4 5 14 P1.4 P3.4/T0P1.5 6 1513S6P1.5 P3.5/T1P1.6 7 16P1.6 P3.6/WR P1.781774LS164P1.7P3.7/RD2U2:A74LS0411U323485 6 11 1274LS30验中在做矩阵键盘实验时, 会出现进入中断一次后跳出来再按键不会再进入中断显示的情况原因是:没有在中断函数最后令 P1=0xf0,在边沿触发方式下退出中断程序时P1=0xf ,外部中断 0 为低电平,不会有下降产生, 仅执行一次中断后再不会有中断产生,即使有按键按下。
实验三十四 无线键盘试验
实验三十四 无线键盘试验
1 实验目的:
● 单片机综合运用。
2 实验内容:
● 编写程序,利用红外通信模块实现将键盘的按键值传输给另一个实验
板,在另一个试验板上利用点阵显示按键。
3 硬件连接:
● 发送方:涉及到红外通信模块,确保红外通信模块中的发送条线连接正
确。
● 接收方:涉及到红外通信模块及点阵显示模块,确保红外通信模块中的
接收跳线连接正确,拔除发送条线。
正确连接点阵模块中的跳线。
【等待插入图片】
4 实验原理图:
【等待插入图片】
硬件连接原理:
+5V
头
接收方发送方
发送法将收到的键盘的数据通过红外线发送给接收方,接收方处理收到的数据,然后根据收到的数据在点阵上显示对应的字符。
5 试验步骤:
1. 连接硬件设备,将PC 键盘连接到实验箱的PS/2键盘接口上。
2. 在Keil 中编写程序,首先编写发送方的程序,处理键盘数据并通过红外线模块发送给接收方,再编写接收方程序,通过对收到的数据进行处理,根据收到的数据,在点阵上显示对应的字符。
3. 将编译好的程序下载到实验箱上验证程序的正确性。
6 思考题:。