锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

单片机矩阵键盘改良后的程序

时间:2024-05-21 17:37:09

学单片机的过程,我想应该是一个模仿跟自我创造的过程吧,程序不是越长越好,只要能够实现我们所要的要求,能够把程序写得简单易懂,易改又少占用内存空间,我想这应该是一个编程员所要追求的目标。最近喜欢用SWITCH CASE 编程序,所以感觉很多用到的程序老会不自觉地往它那里想,今天费了那么长时间才编了一个好几十行的程序,想想应该有快一百行。但是,今晚却把程序改成这么简洁,真的对我启发不小啊。单片机的编程要实现同一个功能,有好多好多种编程的方法,以后尽量不要拘束于一些思维了,编程是要有想象力的,就像人家给你这么多菜,你要把这些菜怎么做得美味一样,就看你创造力了。改良我上次在51hei发表的:http://www.ruidan.com/mcu/2001.html 后的程序:

#include
unsigned char number[]={
0x3f,
0x06,
0x5b,
0x4f,
0x66,
0x6d,
0x7d,
0x07,
0x7f,
0x6f,
0x77,
0x7c,
0x39,
0x5e,
0x79,
0x71
};
void delay()
{
int i,j;
for(i=5;i<0;i--)
for(j=120;j<0;j--);
}
void main()
{
P2 = 0;
while(1)
{unsigned int a,b;
unsigned int c;
P3 = 0x0f;
a = P3;
delay();
P3 = 0xf0;
b = P3;
delay();
c = a+b;
if(c==0xee)
P2 = number[0];//显示0
if(c==0xde)
P2 = number[1];//显示1
if(c==0xbe)
P2 = number[2];//显示2
if(c==0x7e)
P2 = number[3];//显示3
if(c==0xed)
P2 = number[4];//显示4
if(c==0xdd)
P2 = number[5];//显示5
if(c==0xbd)
P2 = number[6];//显示6
if(c==0x7d)
P2 = number[7];//显示7
if(c==0xeb)
P2 = number[8];//显示8
if(c==0xdb)
P2 = number[9];//显示9
if(c==0xbb)
P2 = number[10];//显示10
if(c==0x7b)
P2 = number[11];//显示11
if(c==0xe7)
P2 = number[12];//显示12
if(c==0xd7)
P2 = number[13];//显示13
if(c==0xb7)
P2 = number[14];//显示14
if(c==0x77)
P2 = number[15];//显示15
}
}

终于学会用程序让矩阵为自己控制所用了,呵呵,接下来的日子开始学AD和DA转模。并给点时间开始复习DXP2004高级了。有些知识没有用了以后,用起来会生疏。只要好好地练“千日兵",才能够让考证的时候的激情澎湃,加油。相信自己可以的。


-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章