旋钮式键盘及其与AT89C52的接口技术

发布者:清晨微风最新更新时间:2012-03-13 来源: dzsc关键字:旋钮式键盘  AT89C52  接口技术 手机看文章 扫描二维码
随时随地手机看文章

引 言
如今单片机技术发展迅速,单片机系统已被广泛地应用于国民经济的各个领域。很多单片机应用系统需要输入设备,典型的输入设备要数键盘了。目前使用的键盘主要有两类:按键式键盘和旋钮式键盘。手机按键、微机键盘都属于按键式键盘。本文介绍的是旋钮式键盘的实现方法。

1 旋钮式键盘结构及特性

61525-1型旋钮式键盘结构非常简单,外形只有4个引脚,如图1所示。

当按键按下时(称为确认,下同),键盘的引脚1和引脚3相通;松开确认时,键盘有两种稳定状态,特性如表1所列。
2 硬件电路及工作原理

硬件电路如图2所示。这里为了简化电路,直接将键盘的引脚接到AT89C52的I/O引脚上。电路中,RS是系统复位信号,P1.2用来控制软件清除外部中断1,并通过锁存器来实现。

  此种键盘只有三种操作,即顺时针旋转、逆时针旋转和确认。电路加电后,用示波器分别观察键盘在旋转过程中PIN2、PIN4的波形,得到图3所示的波形。
此键盘的工作原理是,根据三种操作表现出来的不同特性来确定相应的应用。应用中,通过读取AT89C52的P1.0和P1.1两引脚的值就可以判断旋转的方向。键盘的确认可以产生外部中断1。

3 软件实现

3.1 抖动的消除

旋钮在旋转过程中,所产生的波形并不如图3那样光滑,在上升沿/下降沿位置会出现因抖动而产生的毛刺。程序实现过程中,只有多次读的状态相同才认定是稳定的,否则继续读,直到达到稳定状态。这样既可以防止电路毛刺引起的读键盘状态出错,也可以防止因毛刺存在而将一次旋转旋钮操作错误判断成多次旋转(即多次计数)。实现的流程如图4所示(流程图中P2_OK、P4_OK分别表示 P1.0、P1.1值)。

3.2 实现计数

由图3可以看出,顺时针转动时,PIN2先跳变;逆时针转动时,PIN4先跳变,且都有00、01、10、11四个稳定状态。顺时针转动时状态变化为00→10→11,或者11→01→00;逆时针转动时状态变化为00→01→11,或者11→10→00,且01、10的状态是暂时性的(称为中间状态)。所以,可以通过初始状态和中间状态的状态变化判断旋钮的旋转方向,实现流程如图5所示。

只要我们定义键盘顺时针旋转进行加1操作,逆时针旋转则减1操作,这样就可以实现计数了。源程序见本刊网络补充版(http://www.dpj.com.cn)。
3.3 实现编辑

在编辑过程中,键盘有三种操作:顺时针旋转、逆时针旋转和确认。其中顺时针旋转时,显示给定字符集中的下一个字符;逆时针旋转时,显示给定字符集中的上一个字符;确认键用来产生外部中断1,进入外部中断处理程序。本例中是对给定的字符集进行编辑,并指定最大可编辑长度,处理时在字符集的后面加了特定的特殊字符,以控制编辑过程的退出,且将字符集看作是一个循环结构,即第一个字符和所加的取消控制字符构成循环。

程序中有三种退出编辑命令的方法:一是选中取消键,二是选中确认键,三是输入的字符长度达到最大值。退出编辑命令是在外部中断服务程序中实现的。

实现编辑的流程如图6所示,外部中断服务程序流程如图7所示。
说明:在外部中断服务程序中,还要考虑换行显示和换屏显示的问题,在这里不作叙述。源程序略。

结 语
旋钮式键盘占用面积小,应用既方便又美观,实现起来也很方便。本文结合自己工作实践,对旋钮式键盘基于AT89C52的应用进行了阐述。实际应用中,利用旋钮式键盘的计数特性,还可以实现菜单的显示、选择控制等,本文没有一一叙述。对于键抖动问题,还可以采用硬件电路来消除,这里也不作叙述。
关键字:旋钮式键盘  AT89C52  接口技术 引用地址:旋钮式键盘及其与AT89C52的接口技术

上一篇:喷墨打印机在单片机测控系统中的应用
下一篇:基于单片机为核心的遥控报警系统设计

推荐阅读最新更新时间:2024-03-16 12:55

汽车智能MP3无线发射器的技术原理
引言 汽车MP3无线发射器可以将MP3播放器内存储的音乐通过FM广播方式发送,再通过FM调频收音机接收,通过汽车音响播放。本文采用单片机AT89C52及数字锁相环MC145152等芯片设计了汽车MP3无线发射器,从仿真结果与目标样机的运行情况来看,均达到了预期效果。 系统组成 图1为汽车智能MP3无线发射器的系统组成框图,它主要由MC145152、MC1648组成数字锁相环频率合成器,采用变容二极管MV209调频。用户可使用简易的按键,通过单片机AT89C52控制并监测发射频率,同时利用液晶显示器显示反馈信息。另外,可使用串行口实现单片机与计算机的通信,从而通过计算机对发射机进行智能控制。音源不仅可以从车载MP3播放器获取,
[单片机]
汽车智能MP3无线发射器的技术原理
基于AT89C52单片机最小系统接口电路设计
  AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复擦写的程序存储器和256B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求单片机正常工作时,都需要有一个时钟电路和一个复位电路。单片
[单片机]
基于<font color='red'>AT89C52</font>单片机最小系统接口电路设计
基于AT89C52单片机的语音录放系统实现
  1 引言   单片机以其高可靠性、高性价比、低电压、低功耗等优点得到迅猛发展和大范围推广,广泛应用于工业控制系统、数据采集系统、智能化仪器仪表及通讯设备、日常消费类产品、玩具等,利用单片机实现语音录放有很大的研究和开发价值。   语音录放系统以AT89C52单片机为控制核心。ISD2560是一种永久记忆型语音录放电路器件,它具有音质自然、使用方便、单片存放、反复录音、低功耗、抗断电等特点,广泛应用于许多领域。ISD2560省去A/D和D/A转换器,集成度较高 ,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480 KB的EEPROM。为降低成本,在最小硬件设计基础
[单片机]
基于<font color='red'>AT89C52</font>单片机的语音录放系统实现
一种智能电源监控系统的设计
  0 引言   UPS供电系统是电力、通信、银行等行业的必备电源,从产生到现在已有几十年的发展历程,在技术不断发展和改进的过程中,其保护功能也在不断地发生变化。UPS根据主机内逆变器的工作状态可分为:后备式、在线式及在线互动式。他们的作用是对市电进行滤波、稳压调整,以便向负载提供更为稳定的电压,同时,通过充电器把电能转变为化学能储存在蓄电池内,一旦电力中断、电网电压或电网频率超出UPS的输入范围,可在极短的时间内开启自身的储备电源,向负载供电。   本文所设计的UPS智能监控系统具备以下环节和功能:能在各种复杂的电网环境下运行;在运行中不会对市电产生附加的干扰;输出电性能指标应该是全面的、高质量的,能满足负载的各项要求;UP
[单片机]
一种智能电源监控系统的设计
USB3.0接口技术与电路设计
   引 言   USB的英文全称为Universal Serial Bus,中文含义是通用串行总线,它是一种快速的,双向的,同步传输的廉价的并可以进行热拔插的串行接口。USB接口使用方便,它可以连接多个不同的设备,而过去的串口和并口只能接一个设备。速度快是USB技术的突出特点之一。全速USB接口的最高传输率可达12Mb/s,比串口快了整整100倍,而执行 USB2.0 标准的高速USB接口速率更是达到了480Mb/s.这使得高分辨率、真彩色的大容量图象的实时传送成为可能。USB接口支持多个不同设备的串列连接,一个USB接口理论上可以连接127个USB设备。连接方式也十分灵活,既可以使用串行连接,也可以使用集线器(Hub)把多
[嵌入式]
AT89C52控制温度传感器DS18B20并在LM016L_LCD上显示
//-------------------------------------------------------- //文 件 名:Temperture_Control // //文件简介:AT89C52作为主控,实时获取、处理、发送数据,全局控制; // DS18B20_Sensor温度(-50 ~ 255℃)数据实时输入; // LM016L_LCD温度数据实时显示 // //修改时间:2017.10.24 // //修改人员:Touch //-------------------------------------------------------- #include reg52.h //宏定义、全
[单片机]
基于AT89C52的励磁调节器的设计与实现
1引言 励磁调节系统是同步发电机一个十分重要的组成部分 ,其主要任务是向同步发电机的励磁绕组提供一个可调的直流电流或电压,从而控制机端电压的恒定,以满足发电机正常发电的需要。近年来,微机励磁调节器 以其硬件结构简单、清晰、设备通用性好、标准化程度高、软件灵活、能够方便实现多种功能和满足各种控制规律的要求等优点,在许多电力工业得到了广泛的应用。但是,单微机励磁系统各环节可靠性再高,发生故障的可能仍然存在,为确保励磁系统的可靠运行,微机励磁调节器应提供网络化的可靠的通信接口,使远方的调度员或厂级工作人员能方便自如的开停机、升速升压、并网、调整功率(包括有功和无功)等操作。为此,本文采用一台工控机作为上位机,通过多个RS-485工业控
[应用]
基于AT89C52和串口通信助手的串口通信
我们要实现的功能是在程序运行的时候通过单片机的串口向串口调试助手发送一个字符串诸如“hello world”,串口通信助手接收到字符串之后显示并由用户反馈回去一个长度为4的字符串并显示到数码管上 来看一下效果 首先是串口通信电路的配置和借助VSPD、串口通信助手对相关串口的设置 通过VSPD创建两个可以相互通信的虚拟串口,如COM1和COM2。点击添加端口按钮后,可以看到左边栏中的虚拟端口处看到你新创建的两个虚拟端口。 打开串口调试助手V2.2,对其进行配置,将串口改为COM2端口,波特率设为9600,校验位选择NONE,数据位为8位,停止位为1位 电路图中的配置:首先将晶振改为11.0592MHZ,再将AT89C5
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved