org 0000h ljmp start org 30h start: mov sp,#5fh mov p1,#0ffh CLR P2.6 ;選中p2.6右邊的數(shù)碼管 SETB P2.7 mov p3,#0ffh mov p0,#0ffh ;初始化;鍵盤口以及數(shù)碼管口全部置高清零 l1: jnb p3.2,l2 ;如果p3.2等于低(鍵按下)那么執(zhí)行l(wèi)2 jnb p3.3,l3 ;如果p3.3等于低(鍵按下)那么執(zhí)行l(wèi)3 jnb p3.4,l4 ;如果p3.4等于低(鍵按下)那么執(zhí)行l(wèi)4 jnb p3.5,l5 ;如果p3.5等于低(鍵按下)那么執(zhí)行l(wèi)5 ljmp l1 l2:mov p0,#28H;顯示數(shù)字0 ljmp l1 l3:mov p0,#7EH;顯示數(shù)字1 ljmp l1 l4:mov p0,#0A2H;顯示數(shù)字2 ljmp l1 l5:mov p0,#62H;顯示數(shù)字3 ljmp l1 end 程序說明: 怎么做到的呢?一開始,將0FFH送入P3口,這樣,P3的所有引線都處于高電平,然后執(zhí)行L1,如果P3.2是高電平(鍵沒有按下),則順序執(zhí)行JNB P3.3,L3語句,同樣,如果P3.3是高電平(鍵沒有按下),則順序執(zhí)行jnb p3.4,l4語句。這樣就不停地檢測P3.2、P3.3,p3.4,p3.5。 如果有一次P3.2上的按鍵按下去了,則轉移到L2,l2:mov p0,#28H;顯示數(shù)字0.然后又轉去L1,再次循環(huán), 如果有一次P3.3上的按鍵按下去了,則轉移到l3:mov p0,#7EH;顯示數(shù)字1.然后又轉去L1,再次循環(huán), |
評論