完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
回复本帖可获得 1 分积分奖励! 每人限 1 次(中奖概率 70%) |
unsigned char KEY_Scan()
{ unsigned char temp = 0; unsigned char com = 0x55 , com1 = 0 , com2 = 0; P1DIR &= ~(BIT0+BIT1+BIT2+BIT3);//在中断设为输入,用于消抖 因为IO脚默认为输入,所以这句话不要也行,但是 //最好加上使程序清晰 /* delay_us(5); //延迟5ms,消抖 延迟5ms 10ms都行 P1DIR |=(BIT0+BIT1+BIT2+BIT3); if(P1DIR^=0xf0) { com1=P1DIR; P1DIR |=0x0f; com2=P1DIR; } P1DIR=0xf0; temp=com1|com2; if(temp==0xee)com=1;//数字1 if(temp==0xed)com=4;//数字4 if(temp==0xeb)com=7;//数字7 if(temp==0xe7)com=11;//备用键*号键 if(temp==0xd7)com=0;//数字0 if(temp==0xb7)com=14;//备用键*号键 if(temp==0xde)com=2; //数字2 if(temp==0xdd)com=5; //数字5 if(temp==0xdb)com=8;//数字8 if(temp==0xbe)com=3;//数字3 if(temp==0xbd)com=6; //数字6 if(temp==0xbb)com=9;//数字9 if(temp==0x7e)com=16;//数字A键 if(temp==0x7d)com=15;//数字B键 if(temp==0x7b)com=12;//数字C if(temp==0x77)com=13;//数字D键 return(com); |
|
相关推荐
3个回答
|
|
请问这个msp430的程序对么
|
|
|
|
这个问题不大,可以用
|
|
|
|
P1、P2都有中断功能,可以直接写,
P2REN |= BIT0; P2OUT |= BIT0; // 以上两句组合功能为使能P2.0引脚上拉电阻 P2IES |= BIT0; // P2.0中断下降沿触发 P2IFG &= ~BIT0; // 清除P2.0中断标志位 P2IE |= BIT0; // P2.0中断使能 |
|
|
|
只有小组成员才能发言,加入小组>>
3056个成员聚集在这个小组
加入小组2985 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3710 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2367 浏览 1 评论
4834 浏览 1 评论
2595 浏览 1 评论
1632浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3715浏览 2评论
2987浏览 1评论
1828浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 00:09 , Processed in 1.327062 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号