亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
矩陣鍵盤(pán)16乘16高效率程序(新算法)
[打印本頁(yè)]
作者:
nius
時(shí)間:
2015-4-10 02:43
標(biāo)題:
矩陣鍵盤(pán)16乘16高效率程序(新算法)
電路圖下載:
http://www.denmoz.com/f/ks51.pdf
#include<reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit KEY_IN1 = P2^4;
sbit KEY_IN2 = P2^5;
sbit KEY_IN3 = P2^6;
sbit KEY_IN4 = P2^7;
sbit KEY_OUT1 = P2^3;
sbit KEY_OUT2 = P2^2;
sbit KEY_OUT3 = P2^1;
sbit KEY_OUT4 = P2^0;
unsigned char code LedChar[]={
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
unsigned char Key_Buff[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
void T0_Init()
{
EA = 1;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x67;
ET0 = 1;
TR0 = 1;
}
void main()
{
unsigned char Key_Loosen[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
ENLED = 0;
ADDR3 = 1;
ADDR2 = 0;
ADDR1 = 0;
ADDR0 = 0;
P0 = LedChar[0];
P2=0xff;
T0_Init();
while(1)
{
unsigned char Num2,Num4;
for(Num4=0;Num4<4;Num4++)
{
for(Num2=0;Num2<4;Num2++)
{
if(Key_Loosen[Num4][Num2]!=Key_Buff[Num4][Num2])
// 第一遍(最開(kāi)始backup[i][j]的值等于1) 第二遍(由于KeySta[i][j]的值附給了backup[i][j],,backup[i][j]的值等于0,但是KeySta[i][j]的值任然等于0,由于if(backup[i][j] != KeySta[i][j])才能進(jìn)入此程序所以KeySta[i][j]的值必須等于1,而KeySta[i][j]的值等于1的唯一辦法就是松開(kāi)按鍵,按鍵松開(kāi)KeySta[i][j]的值等于1便進(jìn)入了
{
if(Key_Loosen[Num4][Num2]==0)
//第一遍(backup[i][j]的值任然等于1所以無(wú)法進(jìn)入if) 第二遍(此時(shí)backup[i][j] == 0便順理成章的進(jìn)入了
{
P0 = LedChar[Num4*4+Num2];
}
Key_Loosen[Num4][Num2]=Key_Buff[Num4][Num2];
//第一遍(KeySta[i][j]的值附給了backup[i][j],所以此時(shí)backup[i][j]的值等于0) 第二遍(由于此時(shí)KeySta[i][j]的值等于1,而KeySta[i][j]又把自己的值賦給了 backup[i][j],所以backup[i][j]的值又回到了初始化時(shí)的1)Over^-^
}
}
}
}
}
void InterruptTimer0() interrupt 1
{
unsigned char Num1;
static unsigned char Keys=0;
TH0 = 0xFC;
TL0 = 0x67;
Key_Buff[Keys][0]=(Key_Buff[Keys][0]<<1)|KEY_IN1;
Key_Buff[Keys][1]=(Key_Buff[Keys][1]<<1)|KEY_IN2;
Key_Buff[Keys][2]=(Key_Buff[Keys][2]<<1)|KEY_IN3;
Key_Buff[Keys][3]=(Key_Buff[Keys][3]<<1)|KEY_IN4;
for(Num1=0;Num1<4;Num1++)
{
if((Key_Buff[Keys][Num1]&0x0f)==0x00)
{
Key_Buff[Keys][Num1]=0;
}
}
Keys++;
Keys=Keys&0x03;
switch(Keys)
{
case 0:KEY_OUT4=1;KEY_OUT1=0;break;
case 1:KEY_OUT1=1;KEY_OUT2=0;break;
case 2:KEY_OUT2=1;KEY_OUT3=0;break;
case 3:KEY_OUT3=1;KEY_OUT4=0;break;
}
}
//注意數(shù)組也會(huì)重新初始化!
設(shè)計(jì)者:薛羽豪
復(fù)制代碼
作者:
nius
時(shí)間:
2015-4-10 02:44
矩陣鍵盤(pán)的一種新算法 程序運(yùn)行效率超高
根本沒(méi)用延時(shí)
注意for語(yǔ)句的特殊性
作者:
nius
時(shí)間:
2015-4-10 02:44
數(shù)組沒(méi)加code函數(shù)的話內(nèi)部的數(shù)值是可以更改的
作者:
nius
時(shí)間:
2015-4-10 02:44
鄭重聲明:0. 飛過(guò)漠北的南天只是馬家溝皇家核工業(yè)高級(jí)技工專修學(xué)院的一名學(xué)生, 不是什么大神,只是傻 B 一個(gè),菜鳥(niǎo)一枚!大神們請(qǐng)自覺(jué)繞道, 拍磚可以, 但切莫人生攻擊!!
1. 本文所寫(xiě)程序,過(guò)程不一定是最規(guī)范的,但一定是對(duì)的,因?yàn)檫@是 哥自己試驗(yàn)過(guò)得, 證明是可行的。3. 本文所有權(quán),解釋權(quán),都?xì)w飛過(guò)漠北的南天所有!若有轉(zhuǎn)載,請(qǐng)注明出處!4. 如有問(wèn)題, 請(qǐng)聯(lián)系
但是。。。有問(wèn)題也不一定回,
作者:
nius
時(shí)間:
2015-4-10 02:44
注意:數(shù)組也會(huì)重興初始化,如果不能移動(dòng)數(shù)組的話,最好的方法是將數(shù)組定義為靜態(tài)變量,(默認(rèn)情況下數(shù)組都是動(dòng)態(tài)變量即自動(dòng)變量)
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1