这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 51单片机P0、P2口实现1*8键盘模组(keilc源程序)

共2条 1/1 1 跳转至

51单片机P0、P2口实现1*8键盘模组(keilc源程序)

高工
2010-12-06 14:03:30 打赏

/*本程序实现:P2口接1*8键盘输入P0口接1*8led输出,按键则对应亮*/

#include"reg51.h"
/*1ms延时子程序*/
void mDelay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
for(j=0;j<125;j++);
}
/*main主程序*/
void main()
{
unsigned char key;
P2=0xff;

while(1)
{
P0=0xff;
key=P2;

if(key!=0xff)
{
mDelay(5);
P0=key;
mDelay(10);
}
}
}




关键词: 单片机 实现 键盘 模组 keilc 源程序

助工
2010-12-11 16:55:54 打赏
2楼

#include"reg51.h"
/*1ms延时子程序*/
void mDelay(unsigned int i)//注意这个时间与晶振频率有关,晶振改变时间也会改变,另外中断有可能让延时变长
{
unsigned int j;
for(;i>0;i--)//用while(i--)这样的格式更简洁
for(j=0;j<125;j++);
}
/*main主程序*/
void main()
{
unsigned char key;
P2=0xff;//要把电路图一并发出来,不然会看不明白的

while(1)
{
P0=0xff;
key=P2;

if(key!=0xff)
{
mDelay(5);
P0=key;//IO直接驱动LED有可能驱动能力不够
mDelay(10);
}
}
}


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]