三種方法讀取鍵值 使用者設(shè)計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產(chǎn)生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態(tài)判斷哪個按鍵被按下。 本實驗採用中斷式實現(xiàn)使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應(yīng)列的鍵被按下。否則掃描下一行。 反轉(zhuǎn)法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據(jù)讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結(jié)構(gòu)。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設(shè)計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復(fù)位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
附件是一款PCB阻抗匹配計算工具,點擊CITS25.exe直接打開使用,無需安裝。附件還帶有PCB連板的一些計算方法,連板的排法和PCB聯(lián)板的設(shè)計驗驗。 PCB設(shè)計的經(jīng)驗建議: 1.一般連板長寬比率為1:1~2.5:1,同時注意For FuJi Machine:a.最大進(jìn)板尺寸為:450*350mm, 2.針對有金手指的部分,板邊處需作掏空處理,建議不作為連板的部位. 3.連板方向以同一方向為優(yōu)先,考量對稱防呆,特殊情況另作處理. 4.連板掏空長度超過板長度的1/2時,需加補(bǔ)強(qiáng)邊. 5.陰陽板的設(shè)計需作特殊考量. 6.工藝邊需根據(jù)實際需要作設(shè)計調(diào)整,軌道邊一般不少於6mm,實際中需考量板邊零件的排布,軌道設(shè)備正常卡壓距離為不少於3mm,及符合實際要求下的連板經(jīng)濟(jì)性. 7.FIDUCIAL MARK或稱光學(xué)定位點,一般設(shè)計在對角處,為2個或4個,同時MARK點面需平整,無氧化,脫落現(xiàn)象;定位孔設(shè)計在板邊,為對稱設(shè)計,一般為4個,直徑為3mm,公差為±0.01inch. 8.V-cut深度需根據(jù)連板大小及基板板厚考量,角度建議為不少於45°. 9.連板設(shè)計的同時,需基於基板的分板方式考量<人工(治具)還是使用分板設(shè)備>. 10.使用針孔(郵票孔)聯(lián)接:需請考慮斷裂后的毛刺,及是否影響COB工序的Bonding機(jī)上的夾具穩(wěn)定工作,還應(yīng)考慮是否有無影響插件過軌道,及是否影響裝配組裝.
上傳時間: 2014-12-31
上傳用戶:sunshine1402
附件是一款PCB阻抗匹配計算工具,點擊CITS25.exe直接打開使用,無需安裝。附件還帶有PCB連板的一些計算方法,連板的排法和PCB聯(lián)板的設(shè)計驗驗。 PCB設(shè)計的經(jīng)驗建議: 1.一般連板長寬比率為1:1~2.5:1,同時注意For FuJi Machine:a.最大進(jìn)板尺寸為:450*350mm, 2.針對有金手指的部分,板邊處需作掏空處理,建議不作為連板的部位. 3.連板方向以同一方向為優(yōu)先,考量對稱防呆,特殊情況另作處理. 4.連板掏空長度超過板長度的1/2時,需加補(bǔ)強(qiáng)邊. 5.陰陽板的設(shè)計需作特殊考量. 6.工藝邊需根據(jù)實際需要作設(shè)計調(diào)整,軌道邊一般不少於6mm,實際中需考量板邊零件的排布,軌道設(shè)備正常卡壓距離為不少於3mm,及符合實際要求下的連板經(jīng)濟(jì)性. 7.FIDUCIAL MARK或稱光學(xué)定位點,一般設(shè)計在對角處,為2個或4個,同時MARK點面需平整,無氧化,脫落現(xiàn)象;定位孔設(shè)計在板邊,為對稱設(shè)計,一般為4個,直徑為3mm,公差為±0.01inch. 8.V-cut深度需根據(jù)連板大小及基板板厚考量,角度建議為不少於45°. 9.連板設(shè)計的同時,需基於基板的分板方式考量<人工(治具)還是使用分板設(shè)備>. 10.使用針孔(郵票孔)聯(lián)接:需請考慮斷裂后的毛刺,及是否影響COB工序的Bonding機(jī)上的夾具穩(wěn)定工作,還應(yīng)考慮是否有無影響插件過軌道,及是否影響裝配組裝.
上傳時間: 2013-10-15
上傳用戶:3294322651
C51編寫對SST 之FLASH操作源代碼,用單片機(jī)實現(xiàn)對SST39VF040的操作
上傳時間: 2015-01-04
上傳用戶:84425894
木馬BO的最早版本
上傳時間: 2013-12-19
上傳用戶:cccole0605
魔陣的又一個實例。 你輸入一個素數(shù),之後將會在相同的目錄下面 生成一個.txt文件,裏面有一個n*n的魔陣
標(biāo)簽:
上傳時間: 2015-01-14
上傳用戶:weiwolkt
關(guān)於jsp的一本很好的入門實例教程,打家可以
上傳時間: 2015-01-15
上傳用戶:凌云御清風(fēng)
利用PC控制單片機(jī)的實現(xiàn)步驟
標(biāo)簽: PC控制
上傳時間: 2015-01-17
上傳用戶:zhangzhenyu
著名的木馬程序BO 2000 原代碼
上傳時間: 2015-01-19
上傳用戶:dancnc
一個IIc通信實例,主要用于串口通信方式只做為參考.本例是一個音量控制的源碼.
上傳時間: 2015-01-23
上傳用戶:戀天使569
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1