位置:51电子网 » 技术资料 » 测试测量

智能化键盘的设计及其在便携式产品中的应用

发布时间:2008/6/3 0:00:00 访问次数:545

        作者:山东大学 何道刚

     宋玉炎 崔 强 孙志行

     来源:《单片机与嵌入式系统应用》

     摘要:介绍一种利用gms97c2051单片机设计的智能化键盘系统,给出其硬件电路及软件设计,并简要阐述其在便携式产品设计中的应用。

    

    

     关键词:智能化键盘

     单片机 键值 i2c 便携式产品 gms97c2051

     键盘(keyboard)是智能化测控系统主要的信息输入方式,是实现人机对话的重要途径,因此如何有效地控制键盘并为系统服务是每个设计者需要切实考虑的问题。在由单片机系统构成的便携式产品设计中,由于单片机硬件资源比较紧张,而键盘控制又需要占用大量的硬件资源(i/o口)。为此,笔者利用低价位的单片机gms97c2051设计了一种智能化的键盘,键盘(key

     value)通过串行接口i2c传送给主机,节省了大量的主机cpu硬件资源。这种键盘外围元件少,扩充灵活,而且功耗低,符合便携式产品设计的要求。

    

     1 硬件电路及其工作原理

     gms97c2051是由lg公司和武汉力源公司共同研制开发的低价位单片机芯片,采用cmos工艺,功耗低,外部20个引脚:vcc、gnd、rst、p1.0~p1.7、p3.0~p3.5、p3.7。gms97c2051是一个有2k字节可编程eprom(e2prom)的高性能微控制器(microcontroller)。本器件与工业标准mcs-51

     tm的指令系统和功能引脚兼容。gms97c2051是一种功能强大的微控制器,为很多嵌入式控制应用提供了一个高度灵活的、有效的解决方案。gms97c2051有如下特点:2k字节的e2prom,128字节ram,15根i/o线,2个16位定时/计数器,5个向量二级的中断结构,1个全双向的串行口,1个精密的模拟比较器、片内振荡器和时钟电路。此外,gms97c2051支持两种软件可选的节电方式。空闲方式:停止cpu,而让ram、定时/计数器、串行口和中断系统继续有效;掉电方式:保存ram的内容,但振荡器停振,以静止芯片所有的其它功能直到下一次硬件复位。有关gms97c2051的详细内容请参阅文献[1]。利用gms97c2051设计的智能化键盘的硬件电路如图1所示。

     由图1可以看了,该键盘为4行4列(4×4)共16个键,使用8条i/o口作为控制线,其p1.2、p1.3、p3.4、p3.7为行扫描线,p1.4~p1.7作为列加复线。其工作原理是,首先,使p1.4~p1.7为低电平,p1.2、p1.3、p3.4、p3.7为高电平,读取p1.4~p1.7的状态并存放在某个存储器的4低位中,而高4位位置零。然后,使p1.4~p1.7为高电平,p1.2、p1.3、p3.4、p3.7为低电平,读取p1.2、p1.3、p3.4、p3.7的状态并存放在另一个存储器的高4位中,而低4位置零。最后,将这两个寄存器存放的数值取逻辑或,再判断其结果生产按键的键值。单片机外接晶振11.0592mhz和看门狗电路(watchdog),使单片机上复位后自动运行。当然,根据实际情况gms97c2051的晶振输入端和复位端可与主机cpu共用。主机cpu对键值的摄取采用申请中断方式,gms97c2051在中断服务程序中,将扫描到的键值按照一定的软件协议(software

     protocol)通过i2c接口传送给主机cpu,由主机完成相应的按键功能。

    

     2 串行接口i2c协议

     i2c总线是一种串行数据总线,只有2根信号线:一根是双向的数据线sda(serial

     data),另一根是时钟控制线scl(serial clock)。在i2c总线上传送的每个数据字节由8位(bit)组成。总线对每次传送的字节数没有限制,但每个字节后必须跟1位应答位(acknowledge

     bit)。数据从最高位(msb)开始传送。首先,由主机发出启动信号“s”(sda在scl高电平期间由高电平跳变为低电平),然后,由主机发送1个字节的数据。启动信号后的第1个字节数据具有特殊含义:高7位是从机的地址,第8位是传送方向位,0表示主机发送数据(写),1表示主机接收数据(读)。被寻址到的从机设备按传送方向设置为对应工作方式。标准i2c总线的设备都有一个7位地址,所有连接在i2c总线上的设

        作者:山东大学 何道刚

     宋玉炎 崔 强 孙志行

     来源:《单片机与嵌入式系统应用》

     摘要:介绍一种利用gms97c2051单片机设计的智能化键盘系统,给出其硬件电路及软件设计,并简要阐述其在便携式产品设计中的应用。

    

    

     关键词:智能化键盘

     单片机 键值 i2c 便携式产品 gms97c2051

     键盘(keyboard)是智能化测控系统主要的信息输入方式,是实现人机对话的重要途径,因此如何有效地控制键盘并为系统服务是每个设计者需要切实考虑的问题。在由单片机系统构成的便携式产品设计中,由于单片机硬件资源比较紧张,而键盘控制又需要占用大量的硬件资源(i/o口)。为此,笔者利用低价位的单片机gms97c2051设计了一种智能化的键盘,键盘(key

     value)通过串行接口i2c传送给主机,节省了大量的主机cpu硬件资源。这种键盘外围元件少,扩充灵活,而且功耗低,符合便携式产品设计的要求。

    

     1 硬件电路及其工作原理

     gms97c2051是由lg公司和武汉力源公司共同研制开发的低价位单片机芯片,采用cmos工艺,功耗低,外部20个引脚:vcc、gnd、rst、p1.0~p1.7、p3.0~p3.5、p3.7。gms97c2051是一个有2k字节可编程eprom(e2prom)的高性能微控制器(microcontroller)。本器件与工业标准mcs-51

     tm的指令系统和功能引脚兼容。gms97c2051是一种功能强大的微控制器,为很多嵌入式控制应用提供了一个高度灵活的、有效的解决方案。gms97c2051有如下特点:2k字节的e2prom,128字节ram,15根i/o线,2个16位定时/计数器,5个向量二级的中断结构,1个全双向的串行口,1个精密的模拟比较器、片内振荡器和时钟电路。此外,gms97c2051支持两种软件可选的节电方式。空闲方式:停止cpu,而让ram、定时/计数器、串行口和中断系统继续有效;掉电方式:保存ram的内容,但振荡器停振,以静止芯片所有的其它功能直到下一次硬件复位。有关gms97c2051的详细内容请参阅文献[1]。利用gms97c2051设计的智能化键盘的硬件电路如图1所示。

     由图1可以看了,该键盘为4行4列(4×4)共16个键,使用8条i/o口作为控制线,其p1.2、p1.3、p3.4、p3.7为行扫描线,p1.4~p1.7作为列加复线。其工作原理是,首先,使p1.4~p1.7为低电平,p1.2、p1.3、p3.4、p3.7为高电平,读取p1.4~p1.7的状态并存放在某个存储器的4低位中,而高4位位置零。然后,使p1.4~p1.7为高电平,p1.2、p1.3、p3.4、p3.7为低电平,读取p1.2、p1.3、p3.4、p3.7的状态并存放在另一个存储器的高4位中,而低4位置零。最后,将这两个寄存器存放的数值取逻辑或,再判断其结果生产按键的键值。单片机外接晶振11.0592mhz和看门狗电路(watchdog),使单片机上复位后自动运行。当然,根据实际情况gms97c2051的晶振输入端和复位端可与主机cpu共用。主机cpu对键值的摄取采用申请中断方式,gms97c2051在中断服务程序中,将扫描到的键值按照一定的软件协议(software

     protocol)通过i2c接口传送给主机cpu,由主机完成相应的按键功能。

    

     2 串行接口i2c协议

     i2c总线是一种串行数据总线,只有2根信号线:一根是双向的数据线sda(serial

     data),另一根是时钟控制线scl(serial clock)。在i2c总线上传送的每个数据字节由8位(bit)组成。总线对每次传送的字节数没有限制,但每个字节后必须跟1位应答位(acknowledge

     bit)。数据从最高位(msb)开始传送。首先,由主机发出启动信号“s”(sda在scl高电平期间由高电平跳变为低电平),然后,由主机发送1个字节的数据。启动信号后的第1个字节数据具有特殊含义:高7位是从机的地址,第8位是传送方向位,0表示主机发送数据(写),1表示主机接收数据(读)。被寻址到的从机设备按传送方向设置为对应工作方式。标准i2c总线的设备都有一个7位地址,所有连接在i2c总线上的设

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!