原创 【TI博客大赛】基于MSP430F149单片机的扫描键盘设计

2012-7-4 20:20 2916 7 11 分类: 模拟

在单片机的应用中,人—机接口是非常重要的组成部分,如果要输入配置信息参数等。在这些应用中,键盘是一个不可缺少的部分。采用MSP430单片机很容易实现矩阵键盘,本片博文将给大家从软硬件两方面介绍MSP430单片机的键盘设计。

我们知道,在MSP430系列单片机中,所有I/0端口的管教都是双向的,即可以实现输入输出。设置I/O端口的相应寄存器就可以实现相应的操作(如读/写、中断等)。I/O端口相关的寄存器主要有:PxDIRPxINPxOUTPxSEL等(其中x代表16)。如果I/O端口具有中断功能,则还有PxIEPxIESPxIFG 3个寄存器,可以进行相应的中断设置。端口寄存器都是8位的寄存器,寄存器的每一位都对应一个I/O管脚,设置该位就可以设置该管脚的相应功能。如下表1所示为端口1的方向寄存器示意图:

1 P1DIR寄存器

P1DIR.7

P1DIR.7

P1DIR.7

P1DIR.7

P1DIR.7

P1DIR.7

P1DIR.7

P1DIR.7

 

端口的其它寄存器的结构和图所示的结构相似,都是一位对应一个I/O管脚。由于端口的每个管脚可以独立设置,并且能分别设置成输入和输出方向,因此利用I/O管脚就很容易实现基于扫描方式的键盘。扫描键盘一般由行线和列线组成。有m条行线盒n条列线就可以组成m*n的矩阵式键盘。在键盘的某条行线上输出低电平,如果键盘上的某个键被按下,则某个列线就为低电平,单片机读取列线的状态就可以判断是哪个键被按下,这样就实现了键盘的输入。在检测键盘的输入时,需要不断扫描各条列线,这样就可以采用查询的方式进行软件的设计。另外,某些MSP430单片机的某个I/O端口(如MSP430F149P1P2端口)具有中断功能,一次可以采用中断方式进行软件设计,下面给大家详细的介绍。

一、硬件电路的设计

这个电路的硬件电路比较简单,主要有键盘电路、电源电路、复位电路和单片机电路四个部分。

1、电源电路

由于MSP430系列单片机的工作电压一般是1.8v3.6v,并且功耗极低,因此选TI公司的TPS76033作为电源芯片。该芯片输出电压为3.3v,电流为50mA,完全可以满足要求。下图1是本系统的电源实际电路:

说明: 扫描键盘电源电路

1 扫描键盘电源电路

2、复位电路

在单片机系统中,为了保证系统在上电时进行初始化,同时也为了保证对电源的监视,需要采用复位芯片。如图2所示:

说明: 复位电路

复位电路

3、键盘电路

矩阵键盘电路主要利用MSP430单片机的一般I/O端口来进行扩展设计。矩阵键盘由行线盒列线组成。如下图3所示为键盘的设计电路:

说明: 键盘电路

键盘电路

4、单片机电路、

单片机电路非常简单,只需要单片机的P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7与键盘电路接口。另外,单片机必须有相应的震荡电路才能使单片机正常工作。如图4所示:

说明:  单片机电路

单片机电路

 由于所有的列线都上拉到3.3v,所以没有任何键按下的时候,所有的列线都是高电平。如果P1.7管脚上输出低电平,并且行线的其它管脚输出高电平,如果【S01】键被按下,则P1.0为低电平;如果【S02】被按下,则P1.1为低电平;如果【S03】被按下,则P1.2为低电平,其它情况依次类推可以实现。

二、软件的设计

对于一般的I/O端口来说,一般采用查询方式来实现软件,但是某些MSP430单片机的某些端口具有中断功能,因此可以采用中断方式实现软件。

 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户1821067 2015-4-4 12:01

学习一下~

用户1707737 2012-7-24 11:48

是哦,搞忘了,不好意思。嘿嘿,欢迎大家加入我们这个小菜鸟组,一起讨论最最基本的问题!http://group.ednchina.com/GROUP_GRO_14596_3000001080.HTM

用户403664 2012-7-24 10:42

你应该把小组地址贴在这里的嘛。

用户419124 2012-7-19 01:01

原封不动的搬过来有啥意思http://www.61ic.com/Article/MSP430/MSP430/201104/33509.html再说 这次大赛的主题是 模拟跟电源 跑题了楼主 下次看看主题 再贴 删了吧 还一下 贴那么多

用户418586 2012-7-10 14:03

学习学习

用户377235 2012-7-7 21:27

支持来了

相关推荐阅读
用户862116 2012-11-27 12:11
【博客大赛】周立功写给学单片机的年轻人
作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来...
用户862116 2012-11-27 08:44
【博客大赛】郭天祥的成长足迹
在哈尔滨工程大学六年,我在学校电子创新实验室呆了四年,这四年里创新实验室给我提供了良好的学习环境和完善的实验设备;在与众多电子爱好者的交流中,使我学到了更多的专业知识;在学校老师们的教导下,让我学...
用户862116 2012-11-20 15:16
【TI博客大赛】DSP高手的经验介绍
几个DSP高手的经验介绍,编写基于DSP程序的注意事项 一. 我是已经从事DSP开发有几年了,看到许多朋友对DSP的开发非常感兴取,我结合这几年对DSP的开发写一写自己的感受,一家之言,欢迎指...
用户862116 2012-11-20 15:13
【博客大赛】一个FPGA高手的总结
很早之前就想对这几个月工作经历写的东西,一是作为自己的总结,二是自己也很想将自己这段时间的一些经历和大家分享一下,希望对初学者而言能使得他们能少走一些弯路。只是公司里的事情很多,最近经常加班,所以...
用户862116 2012-11-16 10:18
【TI博客大赛】【原创】28035JTAG配置指导
JTAG口:TRST, TCK, TDI, TMS, TDO JTAG口与DSP距离最好再5cm,最多不超过15cm 1.  TRST,有内部下拉。当该引脚不接或拉低将处于功能模式,测试复位信号将被忽...
用户862116 2012-11-16 08:44
【TI博客大赛】【原创】28035晶振配置指导
晶振配置注意:(P47,图3-10. Clock Tree)自己的笔记~ 1.  片内无脚振荡器:内部集成两个10M的晶振,默认启动时是有效的且晶振1作为默认时钟源,若为省电,晶振需由用户手动关闭,震...
我要评论
4
7
关闭 站长推荐上一条 /3 下一条