打印
[MCU]

帮忙看个程序

[复制链接]
452|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlyuan|  楼主 | 2019-5-16 19:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "msp430.h"
#include "lcd1602.c"
unsigned char tishi[]={"undefinedRESS KEY IS :"};
unsigned char table[]={"0123456789"};
unsigned char keyval;
#define QH BIT0
#define SHIFT BIT1
#define CLOCK BIT2
#define HC165SEL P3SEL
#define HC165DIR P3DIR
#define HC165OUT P3OUT
#define HC165IN P3IN
//74HC165与单片机的连接端口初始设置
unsigned int GetHC74165(void);
void HC74165_Init()
{
HC165SEL &= ~(QH+SHIFT+CLOCK);
HC165DIR |= SHIFT + CLOCK;
HC165DIR &= ~QH;
}
/********************************************************
*名 称:GetHC74165()
*功 能:锁存74HC165的8位输入,并逐位读出
*出 口:读取的8位状态数据,放在整型数据的低八位
********************************************************/
unsigned int GetHC74165(void)
{
unsigned char i;
unsigned int indata=0;
HC165OUT &= ~SHIFT;
_NOP();
HC165OUT |= SHIFT;
_NOP();
_NOP();
for(i=0;i<8;i++)
{
indata <<= 1;
if(HC165IN & QH) indata += 1;
HC165OUT |= CLOCK;
_NOP();
HC165OUT &= ~CLOCK;
}
return indata;
}

void main( void )
{
unsigned int key,a;
WDTCTL = WDTPW + WDTHOLD;

DCOCTL=CALDCO_16MHZ;
BCSCTL1= CALBC1_16MHZ;

P1DIR = 0XFFundefined1OUT = 0XFF;
P2DIR = 0XFFundefined2OUT = 0XFF;
init_IO_1602();
LCD_init_first();
init_1602();
HC74165_Init();
P3DIR = 0xff;
P3OUT = 0xff;
for(a=0;a<14;a++)
dispchar(a+1,0,tishi[a]);
while(1)
{
if((key=GetHC74165())!=0xff)
{
switch(key)
{
case 0xfe:
keyval=1;
break;
case 0xfd:
keyval=2;
break;
case 0xfb:
keyval=3;
break;
case 0xf7:
keyval=4;
break;
case 0xef:
keyval=5;
break;
case 0xdf:
keyval=6;
break;
case 0xbf:
keyval=7;
break;
case 0x7f:
keyval=8;
break;
}
dispchar(2,1,table[key]);
}
}
}

使用特权

评论回复

相关帖子

沙发
wuhany| | 2019-5-16 20:05 | 只看该作者
估计你的键值判断有问题吧

使用特权

评论回复
板凳
shimx| | 2019-5-16 20:07 | 只看该作者
表示165键盘扫描没弄过...

使用特权

评论回复
地板
zhenykun| | 2019-5-16 20:10 | 只看该作者
谁知道165要的时钟脉冲,单片机是否要给他进行设置个脉冲。

使用特权

评论回复
5
wyjie| | 2019-5-16 20:14 | 只看该作者
扫面程序实例挺多的。

使用特权

评论回复
6
wuhany| | 2019-5-16 20:17 | 只看该作者
你怎么看出来这是扫描键盘的问题

使用特权

评论回复
7
jlyuan|  楼主 | 2019-5-16 20:20 | 只看该作者
嗯,那我按大家的说法挨个排查一下,先结贴啦,谢谢哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝