这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 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 跳转至

回复

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