新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 時鐘+秒表+流水燈的匯編程序

        時鐘+秒表+流水燈的匯編程序

        作者: 時間:2012-09-08 來源:網絡 收藏
        //HJSMSY-V1.0單片機開發板測試程序//---------------------------------------------//          電腦鐘>>//---------------------------------------------//=======主函數==================================ORG   0000HLJMP   MAINORG    000BHLJMP   T00//	   ORG    001BH//	   LJMP   T11ORG  0030H//=======程序初始化=============================MAIN:MOV  TMOD,#11HMOV   TH0,#3CHMOV   TL0,#0B0HMOV   TH1,#0F0HMOV   TL1,#0B0HSETB   EASETB   ET0//	SETB   ET1SETB   TR0//	SETB   TR1CLR P3.4	 MOV R7,#00H		 ;秒值MOV 30H,#00H		 ;秒個位值MOV 31H,#00H		 ;秒十位值MOV 32H,#00H		 ;分個位MOV 33H,#00H 	         ;分十位MOV 34H,#00H		 ;時個位MOV 35H,#00H		 ;時十位MOV 44H,#00H		 ;毫秒十位MOV 45H,#00H		 ;秒毫秒百位MOV 46H,#00H		 ;秒個位MOV 47H,#00H		 ;秒表秒十位MOV 48H,#00H		 ;秒表分個位MOV 49H,#00H		 ;秒表分十位MOV P2,#0F0H		 ;P2口按鍵初始化MOV 40H,#01H		 ;數碼管休眠值	//秒表開關數MOV 41H,#08H		 ;循環值MOV 42H,#00H         ;秒表暫停//  ACALL T11//----------------------------------------------- MAIN1:  MOV P0,#0FFHMOV P1,#0FFHMOV R0,40HCJNE R0,#01H,ACL1ACALL MAIN2	       ;顯示ACL1:CJNE R0,#02H,ACL2ACALL MAIN3	   ;秒表ACL2:CJNE R0,#03H,ACL3ACALL LED		  ;ACL3:ACALL KEY		       ;按鍵掃描//	ACALL BAO	       ;定時報警LJMP MAIN1//=======報警子程序============================BAO:MOV R4,33H				  CJNE R4,#03H,YY1CLR P3.2ACALL KEYLJMP YY2YY1:CJNE R4,#05H,YY2SETB P3.2  ACALL KEYYY2:RET//======掃描子程序=======================MAIN2:MOV   A,30H	     MOV  DPTR,#TABMOVC  A,@A+DPTRMOV P0,ACLR P1.0ACALL DELAYMOV  A,31HMOV  DPTR,#TABMOVC  A,@A+	DPTRMOV  P0,ACLR P1.1SETB P1.0ACALL DELAYMOV A,32HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.2SETB P1.1ACALL DELAYMOV A,33HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.3SETB P1.2ACALL DELAYMOV A,34HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.4SETB P1.3ACALL DELAYMOV A,35HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.5SETB P1.4ACALL DELAY	MOV P0,#7FH	MOV P1,#0EBHACALL DELAYMOV P1,#0FFHRET//========秒表掃描子程序=========================MAIN3:MOV   A,44H	     MOV  DPTR,#TABMOVC  A,@A+DPTRMOV P0,ACLR P1.0ACALL DELAYMOV  A,45HMOV  DPTR,#TABMOVC  A,@A+	DPTRMOV  P0,ACLR P1.1SETB P1.0ACALL DELAYMOV A,46HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.2SETB P1.1ACALL DELAYMOV A,47HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.3SETB P1.2ACALL DELAYMOV A,48HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.4SETB P1.3ACALL DELAYMOV A,49HMOV DPTR,#TABMOVC A,@A+DPTRMOV P0,ACLR P1.5SETB P1.4ACALL DELAY	MOV P0,#7FH	MOV P1,#0EBHACALL DELAYMOV P1,#0FFHRET//=======定時器T0中斷服務========================T00:MOV  TH0,#0D8HMOV   TL0,#0F0HINC   R7CJNE  R7,#64H,AAMOV   R7,#00H//-------跑值--------------------------------TK1:INC  30H			;每秒鐘秒個位增一MOV R6,30HCJNE  R6,#0AH,AAMOV   30H,#00HTK2:INC   31HMOV   R6,31HCJNE  R6,#06H,AAMOV   31H,#00H  TK3:INC   32H MOV    R6,32HCJNE   R6,#0AH,AAMOV    32H,#00HTK4:INC    33HMOV    R6,33HCJNE   R6,#06H,AAMOV    33H,#00HTK5:INC    34HMOV    R5,34HMOV    R6,35HCJNE   R5,#04H,TK6CJNE   R6,#02H,TK6MOV    34H,#00HMOV    35H,#00HTK6:CJNE   R5,#0AH,AAMOV    34H,#00HINC    35H//-------秒表跑值----------------------AA:MOV R5,42HCJNE R5,#01H,TK7INC 44HTK7:MOV R5,44HCJNE R5,#0AH,AA1MOV 44H,#00HINC 45HMOV R5,45HCJNE R5,#0AH,AA1MOV 45H,#00HINC 46HMOV R5,46HCJNE	R5,#0AH,AA1MOV 46H,#00HINC 47HMOV R5,47HCJNE R5,#06H,AA1MOV 47H,#00HINC 48HMOV R5,48HCJNE R5,#0AH,AA1MOV 48H,#00HINC 49HMOV R5,49HCJNE R5,#06H,AA1MOV 49H,#00HAA1:RETI//====定時器T1中斷服務子程序====================//T11:MOV   TH1,#0F0H//   MOV   TL1,#0B0H//	RETI//******定時時間調整子程序*************************//TBAO:MOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HMOV 54H,#00HMOV 55H,#00HMOV R3,50HDJNZ 30H,RET1RET1: RET//======鍵盤掃描子程序==========================	  KEY:MOV P2,#0F0HMOV R3,P2CJNE R3,#0F0H,KE0LJMP KK13KE0:CJNE R3,#0E0H,KE1	        ;P2.4行MOV P2,#0EFHJB P2.3,KK1		    //用作調定時時間     ;K13 秒個位增一ACALL DELAY1ACALL TK1KK1:JB P2.2,KK2			;K14   秒十增一ACALL DELAY1ACALL TK2KK2:JB P2.1,KK3			;K15	分個位增一ACALL DELAY1ACALL TK3KK3:JB P2.0,KE1			;K16	分十位增一ACALL DELAY1ACALL TK4KE1:MOV P2,#0DFH	        ;P2.5行JB P2.3,KK4		;K9	 時個位增一ACALL DELAY1ACALL TK5KK4:JB P2.2,KK5			;K10	 時十位增一ACALL DELAY1INC 35H	MOV R3,35HCJNE R3,#03H,HH0MOV 35H,#00HLJMP KK5HH0:CJNE R3,#02H,HH1LJMP   KK5HH1:CJNE R3,#01H,HH2LJMP   KK5HH2:MOV 35H,#00HKK5:JB P2.1,KK6	ACALL DELAY1			;K11	   開/關蜂鳴器CPL P3.2KK6:JB P2.0,KE2  			;K12	  秒表暫停MOV 42H,#00H   KE2:MOV P2,#0BFH			;P.6行JB P2.3,KK7				;K5	時鐘暫停/取消暫停ACALL DELAY1CPL ET0	KK7:JB P2.2,KK8				 ;K6  顯示/休眠/流水燈ACALL DELAY2INC 40HMOV R3,40HCJNE R3,#04H,KK8MOV 40H,#01HKK8:JB P2.1,KK9	// ACALL DELAY3			;K7 秒表清0    MOV 44H,#00HMOV 45H,#00HMOV 46H,#00HMOV 47H,#00HMOV 48H,#00HMOV 49H,#00HKK9:JB P2.0,KE3		     ;K8	秒表開始跑MOV 42H,#01H   		  KE3:MOV P2,#7FH			  ;P2.7行JB P2.3,KK10		   ;K1		   秒十位減一ACALL DELAY1MOV R3,31HCJNE R3,#00H,JA1LJMP  KK10JA1:DEC 31HKK10:JB P2.2,KK11		  ;K2	   分個位減一ACALL DELAY1MOV R3,32HCJNE R3,#00H,JA2LJMP KK11JA2: DEC 32HKK11:JB P2.1,KK12			;K3	分十位減一ACALL DELAY1MOV R3,33HCJNE R3,#00H,JA3LJMP KK12JA3:DEC 33HKK12:JB P2.0,KK13		   ;K4		時個位減一ACALL DELAY1MOV R3,34HCJNE R3,#00H,JA4LJMP KK13JA4:DEC 34HKK13:RET//=====流水燈子程序===========================LED: MOV A,#0feHMOV 41H,#08HMOV P0,#0FFH	LED1: MOV P1,AMOV R3,#100D0: ACALL DELAYDJNZ R3,D0MOV R3,41HDJNZ R3,AAALJMP BBAAA:RL AMOV 41H,R3 ACALL KEYLJMP LED1BB:	MOV 41H,#07HCC: MOV P1,AMOV R3,#30D1: ACALL DELAYDJNZ R3,D1MOV R3,41HDJNZ R3,DDLJMP LED0DD:RR AMOV 41H,R3ACALL KEYLJMP CCLED0:RET		  //=====延時子程序==============================	DELAY:MOV R1,#250DEL1:NOP NOPNOPNOP DJNZ R1,DEL1RET//====調用時鐘顯示作延時========================DELAY1:MOV R2,#20		DELA3: ACALL MAIN2DJNZ R2,DELA3  RET//====調用秒表顯示作延時========================DELAY3:MOV R2,#20DELA5:ACALL MAIN3DJNZ R2,DELA5RET//====調用延時子程序作延時======================DELAY2:MOV R2,#100	DELA4:ACALL DELAYDJNZ R2,DELA4RET//======共陽數碼管段碼表=================================	TAB:DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,87HEND	   
        蜂鳴器相關文章:蜂鳴器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 普定县| 辽宁省| 隆回县| 芮城县| 张北县| 富平县| 海林市| 务川| 安徽省| 柯坪县| 南宫市| 庆安县| 屏山县| 务川| 玉田县| 隆化县| 克什克腾旗| 阳江市| 三原县| 花莲市| 温泉县| 香港 | 牡丹江市| 兰考县| 永修县| 新巴尔虎左旗| 肥西县| 贺兰县| 金塔县| 江口县| 德清县| 镶黄旗| 马尔康县| 菏泽市| 灵寿县| 新乡县| 伊通| 霍邱县| 渝中区| 龙井市| 微山县|