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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-電子智能搶答器單片機(jī)設(shè)計(jì)-資料下載頁

2025-01-13 05:20本頁面
  

【正文】 是則 尚未掃描到 SJMP KEYSCAN 。C=0,則四行已掃描完畢 KEYIN: MOV R7, 60 。延時(shí)消除抖動(dòng) D2: MOV R6, 248 。 DJNZ R6, $ 。 DJNZ R7, D2 。 D3: MOV A, P1 。延時(shí)后再讀入 P1 值 XRL A, R4 。與上次讀入值作比較 JZ D3 。A=0,表示按鍵未放 ,等待按鍵釋放 MOV A, R1 。按鍵已放開 ,取碼指針載入累加器 MOV DPTR,TABLE 。鍵盤碼表首地址送 DPTR MOVC A, @A+DPTR 。查鍵碼 RET 。返回 TABLE: DB 00H,01H,02H,03H 。鍵碼安排表與鍵盤相同 DB 04H,05H,06H,07H DB 08H,09H,0AH,0BH DB 0CH,0DH,0EH,0FH ORG 0200H DISPLAY:MOV R0, DBUF 。串口靜態(tài)顯示子程序 MOV R2,3 。顯示 3 位數(shù)碼 MOV DPTR,SEGTAB。 DISP: MOV A,@R0 。 MOVC A,@A+DPTR 。取字段碼 MOV SCON,0 。置串口工作方式 0 MOV SBUF,A 。開始發(fā)送 JNB TI,$ 。等待發(fā)送完畢 CLR TI 。發(fā)送完畢 ,標(biāo)志位清零 INC R0 。緩沖單元地址增 1 DJNZ R2,DISP 。三位數(shù)碼發(fā)送完否 ? RET 。發(fā)送完畢 ,則返回 SEGTAB: DB 0FCH,60H,0DAH,0F2H 。0,1,2,3(共陽極字段碼表) DB 66H,0B6H, 0BEH,0E0H 。4,5,6,7 DB 0FEH,0F6H,0EEH,3EH 。8,9,A,B DB 9CH,7AH,9EH,8EH 。C,D,+, END DBUF EQU 30H 。三位顯示緩沖區(qū)首址 24 ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,60H ACALL KEYSCAN 。調(diào)用鍵盤掃描子程序判斷是加分或減分 CJNE A,0EH,NEXT2 。不是加分鍵 ,則轉(zhuǎn)移判斷是減分鍵 ? NEXT1: ACALL KEYSZ 。是加分鍵 ,調(diào)用鍵盤設(shè)置子程序 ACALL DISPLAY 。調(diào)用串口靜態(tài)顯示子程序 SJMP MAIN NEXT2: CJNE A,0FH,MAIN 。都不是 ,則轉(zhuǎn) MAIN AJMP NEXT1 。是減分鍵 ,調(diào)用鍵盤設(shè)置子程序 ORG 0100H KEYSZ: PUSH PSW 。鍵盤設(shè)置子程序 PUSH ACC SETB RS1 MOV R0,DBUF 。R0指向顯示緩沖區(qū)首地址 MOV R7,3 。設(shè)置鍵盤輸入位數(shù) L1: CLR RS1 ACALL KEYSCAN 。調(diào)用鍵盤掃描子程序取按下鍵的鍵號(hào) SETB RS1 CJNE A,0AH,L2 。鍵入數(shù)合法性檢測(cè)(是否大 于 9) L2: JNC L1 。大于 9,重新鍵入 MOV R0,A 。鍵號(hào)送顯示緩沖區(qū) INC R0 DJNZ R7,L1 。3位數(shù)值輸入完否?未完繼續(xù) ,否則返回 POP ACC POP PSW CLR RS1 RET KEYSCAN: MOV R3, 0F7H 。掃描初值( =0) 25 MOV R1, 00H 。取碼指針 L3: MOV A, R3 。開始掃描 MOV P0, A 。將掃描值輸出至 P1 MOV A, P0 。讀入 P1值 ,判斷是否有鍵按下 MOV R4, A 。存入 R4,以判斷按鍵是否放開 SETB C 。C=1 MOV R5, 04H 。掃描 ~ L4: RLC A 。將按鍵左移一位 JNC KEYIN 。判斷 C=0?有鍵按下則 C=0,跳至 KEYIN INC R1 。C=1,則無鍵按下 ,將取碼指針值加 1 DJNZ R5, L4 。4列掃描完畢了嗎 ? MOV A, R3 。掃描值載入 SETB C 。C=1 RRC A 。掃描下一行 (~ ) MOV R3, A 。存回掃描寄存器 JC L3 。C=1?是則 SJMP KEYSCAN 。C=0,則四行已掃描完畢 KEYIN: MOV R7, 60 。延時(shí)消除抖動(dòng) D2: MOV R6, 248 。 DJNZ R6, $ 。 DJNZ R7, D2 。 D3: MOV A, P0 。延時(shí)后再讀入 P1 值 XRL A, R4 。與上次讀入值作比較 JZ D3 。A=0,表示按鍵 未放 ,等待按鍵釋放 MOV A, R1 。按鍵已放開 ,取碼指針載入累加器 MOV DPTR,TABLE 。鍵盤碼表首地址送 DPTR MOVC A, @A+DPTR 。查鍵碼 RET 。返回 TABLE: DB 00H,01H,02H,03H 。鍵碼安排表與鍵盤相同 DB 04H,05H,06H,07H 26 DB 08H,09H,0AH,0BH DB 0CH,0DH,0EH,0FH ORG 0200H DISPLAY:MOV R0, DBUF 。串口靜態(tài)顯示子 程序 MOV R2,3 。顯示 3位數(shù)碼 MOV DPTR,SEGTAB。 DISP: MOV A,@R0 。 MOVC A,@A+DPTR 。取字段碼 MOV SCON,0 。置串口工作方式 0 MOV SBUF,A 。開始發(fā)送 JNB TI,$ 。等待發(fā)送完畢 CLR TI 。發(fā)送完畢 ,標(biāo)志位清零 INC R0 。緩沖單元地址增 1 DJNZ R2,DISP 。三位數(shù)碼發(fā)送完否 ? RET 。發(fā)送完畢 ,則返回 SEGTAB: DB 0FCH,60H,0DAH,0F2H 。0,1,2,3(共陽極字段碼表) DB 66H,0B6H, 0BEH,0E0H 。4,5,6,7 DB 0FEH,0F6H,0EEH,3EH 。8,9,A,B DB 9CH,7AH,9EH,8EH 。C,D,+, END 27 搶答器軟件程序(附 2) include define uchar unsigned char //共陰碼 //uchar code table[]={0x00,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe }。 /* 代碼存儲(chǔ)區(qū) (64KB)*/ //共陽碼 uchar code table[]={0x03,0x9f,0x25,0x0d,0x99,0xc2,0x41,0x1f,0x01,0xff }。 void delay (void) { /* delay 函數(shù) */ uchar i,j。 /*這個(gè)函數(shù)執(zhí)行 時(shí)間的延遲 */ for (i=0。i20。i++) for(j=0。jj++) 。 } void main (void) { uchar temp,key,j,time。 /* 聲明變量 temp */ while (1) { /* 無窮循環(huán) */ temp=P0。 /* 將 P2 輸入的數(shù)據(jù)直接放入變量 temp 當(dāng)中 */ delay()。 temp=P0。 switch(temp) { case 0xfe: key = 1。break。 case 0xfd: key = 2。break。 case 0xfb: key = 3。break。 case 0xf7: key = 4。break。 case 0xef: key = 5。break。 case 0xdf: key = 6。break。 case 0xbf: key = 7。break。 case 0x7f: key = 8。break。 28 default : break。 } if(temp==0xff) { for(time=1。time0。time) /*無鍵按下 ,則關(guān)顯示 */ { j=table[0]。 SCON=0x00。 SBUF=j。 while(TI!=1)。 TI=0。 } } else { j=table[key]。 /*取鍵值并顯示 */ SCON=0x00。 SBUF=j。 while(TI!=1)。 TI=0。 for(。) /*指示顯示 ,并實(shí)現(xiàn)鎖鍵功能 */ { P1=temp。 delay()。 } } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1