freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)原理及應(yīng)用課程結(jié)構(gòu)設(shè)計(jì)(編輯修改稿)

2024-07-26 11:12 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 P0=d。 delay()。 } }void delay() //延時(shí)函數(shù) { uchar m,n。 for(m=0。m5。m++) for(n=0。n5。n++)。 }實(shí)驗(yàn)三 44矩陣鍵盤,分為4行4列。~,~。行列式鍵盤結(jié)構(gòu)如圖31所示。圖31圖中鍵盤的行線X0~X3通過(guò)電阻接+5V,當(dāng)鍵盤沒有鍵閉合時(shí),所有的行線和列線斷開,行線X0~X3均呈高電平。當(dāng)鍵盤上某一鍵閉合時(shí),該鍵所對(duì)應(yīng)的行線與列線短路,此時(shí)該行線的電平將由被短路的列線電平所決定。如果將行線接至單片機(jī)的輸入端口,列線接至單片機(jī)的輸出端口,則在單片機(jī)的控制下使列線Y0為低電平,其余三根列線YYY3均為高電平,然后單片機(jī)讀輸入口狀態(tài)(即鍵盤行線狀態(tài)),若X0、XXX3均為高電平,則Y0這一列上沒有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵處于閉合狀態(tài)。如果Y0這一列沒有鍵閉合,緊接著使列線Y1為低電平,其余列線為高電平,用同樣的方法檢查Y1這一列有無(wú)鍵閉合,如此類推。這種逐行逐列地檢查鍵盤狀態(tài)的過(guò)程稱為對(duì)鍵盤的掃描。CPU對(duì)鍵盤的掃描可以采取程序控制的隨機(jī)方式,CPU空閑時(shí)才掃描鍵盤;也可以采取定時(shí)控制方式,每隔一段時(shí)間,CPU對(duì)鍵盤掃描一次;還可以采用中斷方式,當(dāng)鍵盤上有鍵閉合時(shí),向CPU請(qǐng)求中斷,CPU響應(yīng)鍵盤發(fā)出的中斷請(qǐng)求,對(duì)鍵盤進(jìn)行掃描,以識(shí)別哪一個(gè)鍵處于閉合狀態(tài),并對(duì)鍵輸入信息作相應(yīng)處理。CPU對(duì)鍵盤上閉合鍵號(hào)的確定,可以根據(jù)行線的狀態(tài)計(jì)算求得,也可以查表求得。鍵盤布置及鍵值如表31所示。 表31:第4列第3列第2列第1列行輸入00H01H02H03H第4行行04H05H06H07H第3行08H09H0AH0BH第2行0CH0DH0EH0FH第1行列輸出表31 鍵盤布置及鍵值鍵輸入程序的功能有以下4個(gè)方面:1)判別鍵盤上有無(wú)鍵閉合:其方法為掃描口P1口的低四位輸出全“0”,讀P1口高四位的狀態(tài),若P1口高四位全為“1”(鍵盤上行線全為高電平)則鍵盤上沒有閉合鍵,若P1口的高四位不為全“1”,則有鍵處于閉合狀態(tài);2)去除鍵的機(jī)械抖動(dòng):其方法是判別到鍵盤上有鍵閉合后,延遲一段時(shí)間再判別鍵盤的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤上有一個(gè)鍵處于穩(wěn)定的閉合期,否則認(rèn)為是鍵的抖動(dòng);3)判別閉合鍵的鍵號(hào):方法為對(duì)鍵盤的列線進(jìn)行掃描,由掃描口P1口的低四位依次輸出:相應(yīng)地順次讀出P1口的高四位的狀態(tài),若P1口高四位為全“1”,則列線輸出為“0“的這一列上沒有鍵閉合,否則這一列上有鍵閉合。閉合鍵的鍵號(hào)等于為低電平的列號(hào)加上為低電平的行的首鍵號(hào)。例P1口低四位的輸出為1101時(shí),讀出P1口的高四位為1101,則1行1列相交的鍵處于閉合狀態(tài),第一行的首鍵號(hào)為8,列號(hào)為1,閉合鍵的鍵號(hào)為:N = 行首鍵號(hào) + 列號(hào) = 8 + 1 = 94)CPU對(duì)鍵的一次閉合僅作一次處理:采用的方法為等待閉合鍵釋放以后再作處理。5) 將得到的鍵值,用數(shù)碼管顯示出。一、 實(shí)驗(yàn)步驟1.將三檔開關(guān)LED撥到最下(指向89S51),其它開關(guān)都撥到中間(注意此時(shí)不能將三檔開關(guān)4*4撥到最下,否則將不能正常下載程序),插上USB下載線,打開電源。2.打開KEIL軟件,在所建的項(xiàng)目文件中輸入源程序,進(jìn)行編譯,編譯無(wú)誤后。3.然后將三檔開關(guān)4*4撥到最下(指向89S51)。4.按下按鍵,觀察實(shí)驗(yàn)板上數(shù)碼管顯示的現(xiàn)象,看是否符合實(shí)驗(yàn)要求。如果未到達(dá)實(shí)驗(yàn)要求,修改程序,重復(fù)2操作,直至達(dá)到實(shí)驗(yàn)要求。二、 程序代碼1. 匯編程序代碼KEY_N EQU 40H 。鍵值暫存地址 ORG 0000H AJMP START ORG 0030HSTART: MOV SP,60H。主程序MAIN: LCALL KEYI 。鍵盤掃描 LCALL DISPLAY 。顯示 AJMP MAIN。鍵盤掃描子程序KEYI: ACALL KS1 。判斷有無(wú)鍵閉合 JNZ LK1 。有,跳到LK1,軟件去抖NI: AJMP EXIT 。無(wú),返回LK1: ACALL DELAY 。延時(shí)去抖 ACALL KS1 JNZ LK2 AJMP EXITLK2: MOV R2,0FEH 。列選碼 MOV R4,00H 。列號(hào)LK4: MOV A,R2 MOV P1,A MOV A,P1 SWAP A JB ,LONE 。第0行為1,無(wú)鍵閉合,跳到第1行 MOV A,00H 。第0行有鍵閉合,A=0 AJMP LKP 。跳到LKP,計(jì)算鍵號(hào)LONE: JB ,LTW0 MOV A,04H AJMP LKPLTW0: JB ,LTHR MOV A,08H AJMP LKPLTHR: JB ,NEXT MOV A,0CHLKP: ADD A,R4 。計(jì)算鍵值 MOV KEY_N,A 。將鍵值存儲(chǔ)在KEY_N AJMP EXITNEXT: INC R4 MOV A,R2 JNB ,EXIT 。第4列為0時(shí),跳到KND RL A MOV R2,A AJMP LK4EXIT: RET 。都比較結(jié)束,退出KS1: MOV A,0F0H 。判斷有無(wú)鍵閉合 MOV P1,A MOV A,P1 CPL A ANL A,0F0H RET。顯示子程序DISPLAY:MOV A,KEY_N MOV DPTR,TAB1 MOVC A,@A+DPTR MOV P0,A CLR LCALL DELAY RET。延時(shí)子程序DELAY: MOV R6,50LOOP: MOV R7,50 DJNZ R7,$ DJNZ R6,LOOP RETTAB1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H DB 83H,0C6H,0A1H,86H,8EH 。共陽(yáng)碼 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F END2. C編程序代碼include define uint unsigned intdefine uchar unsigned charuchar keyword。uchar code table0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}。uchar code table1[]={0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88}。//void delay(uint c) //延時(shí)消抖{uchar m,n。 for(m=0。mc。m++) for(n=0。n5。n++)。 }//uchar scankb(){uchar sccode,recode。 P1=0xf0。 if((P1amp。0xf0)!=0xf0) //判斷是否有鍵按下 {delay(2)。 if((P1amp。0xf0)!=0xf0) //仍然有鍵按下 {sccode=0xfe。 while((sccodeamp。0x10)!=0) //移位沒完 {P1=sccode。 //行掃描開始 if((P1amp。0xf0)!=0xf0) //若在該行 {recode=(P1amp。0xf0)|0x0f。 //中間結(jié)果 P1=0xff。 return((~sccode)+(~recode))。 //返回Keyword } else sccode=(sccode1)|0x01。 //不在該行則掃下一行 } } } return(keyword)。}//main(){uchar dat,i。while(1) {keyword=scankb()。 for(i=0。keyword!=table1[i]。i++)。 dat=table0
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1