新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)矩陣鍵盤改良后的程序

單片機(jī)矩陣鍵盤改良后的程序

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
學(xué)單片機(jī)的過程,我想應(yīng)該是一個(gè)模仿跟自我創(chuàng)造的過程吧,程序不是越長越好,只要能夠?qū)崿F(xiàn)我們所要的要求,能夠把程序?qū)懙煤唵我锥?,易改又少占用?nèi)存空間,我想這應(yīng)該是一個(gè)編程員所要追求的目標(biāo)。最近喜歡用SWITCH CASE 編程序,所以感覺很多用到數(shù)碼管的程序老會(huì)不自覺地往它那里想,今天費(fèi)了那么長時(shí)間才編了一個(gè)好幾十行的程序,想想應(yīng)該有快一百行。但是,今晚卻把程序改成這么簡潔,真的對(duì)我啟發(fā)不小啊。單片機(jī)的編程要實(shí)現(xiàn)同一個(gè)功能,有好多好多種編程的方法,以后盡量不要拘束于一些思維了,編程是要有想象力的,就像人家給你這么多菜,你要把這些菜怎么做得美味一樣,就看你創(chuàng)造力了。改良我上次在51hei發(fā)表的:http://www.51hei.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
}
}

本文引用地址:http://butianyuan.cn/article/201611/323768.htm

終于學(xué)會(huì)用程序讓矩陣為自己控制所用了,呵呵,接下來的日子開始學(xué)AD和DA轉(zhuǎn)模。并給點(diǎn)時(shí)間開始復(fù)習(xí)DXP2004高級(jí)了。有些知識(shí)沒有用了以后,用起來會(huì)生疏。只要好好地練“千日兵",才能夠讓考證的時(shí)候的激情澎湃,加油。相信自己可以的。



關(guān)鍵詞: 單片機(jī)矩陣鍵

評(píng)論


技術(shù)專區(qū)

關(guān)閉