久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

時鐘+秒表+流水燈ASM

作者:cunqi   來源:本站原創   點擊數:  更新時間:2010年09月09日   【字體:
//HJSMSY-V1.0單片機開發板測試程序
//---------------------------------------------
//          <<電腦鐘>>
//---------------------------------------------
//編寫人:李春起
//編定日期:2009。11。06
//修改日期:2009。11。19

//=======主函數==================================
ORG   0000H
	   LJMP   MAIN
	   ORG    000BH
	   LJMP   T00
//	   ORG    001BH
//	   LJMP   T11
	   ORG  0030H
//=======程序初始化=============================
MAIN:
    MOV  TMOD,#11H
    MOV   TH0,#3CH
	MOV   TL0,#0B0H
	MOV   TH1,#0F0H
	MOV   TL1,#0B0H
	SETB   EA
	SETB   ET0
//	SETB   ET1
	SETB   TR0
//	SETB   TR1
    CLR 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,#0FFH
	MOV P1,#0FFH
	MOV R0,40H
	CJNE R0,#01H,ACL1
	ACALL MAIN2	       ;時鐘顯示
ACL1:CJNE R0,#02H,ACL2
     ACALL MAIN3	   ;秒表
ACL2:CJNE R0,#03H,ACL3
    ACALL LED		  ;流水燈
ACL3:ACALL KEY		       ;按鍵掃描
//	ACALL BAO	       ;定時報警
    LJMP MAIN1


//=======報警子程序============================
BAO:MOV R4,33H				  
	CJNE R4,#03H,YY1
	CLR P3.2
	ACALL KEY
	LJMP YY2
YY1:CJNE R4,#05H,YY2
    SETB P3.2  
	ACALL KEY
YY2:RET


//======時鐘掃描子程序=======================
MAIN2:
    MOV   A,30H	     
	MOV  DPTR,#TAB
	MOVC  A,@A+DPTR
	MOV P0,A
    CLR P1.0
	ACALL DELAY
	MOV  A,31H
	MOV  DPTR,#TAB
	MOVC  A,@A+	DPTR
	MOV  P0,A
    CLR P1.1
	SETB P1.0
    ACALL DELAY
    MOV A,32H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.2
	SETB P1.1
	ACALL DELAY
	MOV A,33H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.3
	SETB P1.2
	ACALL DELAY
	MOV A,34H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.4
	SETB P1.3
	ACALL DELAY
	MOV A,35H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.5
	SETB P1.4
	ACALL DELAY	
   	MOV P0,#7FH	
	MOV P1,#0EBH
	ACALL DELAY
    MOV P1,#0FFH
	RET

//========秒表掃描子程序=========================
MAIN3:
    MOV   A,44H	     
	MOV  DPTR,#TAB
	MOVC  A,@A+DPTR
	MOV P0,A
    CLR P1.0
	ACALL DELAY
	MOV  A,45H
	MOV  DPTR,#TAB
	MOVC  A,@A+	DPTR
	MOV  P0,A
    CLR P1.1
	SETB P1.0
    ACALL DELAY
    MOV A,46H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.2
	SETB P1.1
	ACALL DELAY
	MOV A,47H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.3
	SETB P1.2
	ACALL DELAY
	MOV A,48H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.4
	SETB P1.3
	ACALL DELAY
	MOV A,49H
	MOV DPTR,#TAB
	MOVC A,@A+DPTR
	MOV P0,A
	CLR P1.5
	SETB P1.4
	ACALL DELAY	
   	MOV P0,#7FH	
	MOV P1,#0EBH
	ACALL DELAY
    MOV P1,#0FFH
	RET

//=======定時器T0中斷服務========================
T00:MOV  TH0,#0D8H
    MOV   TL0,#0F0H
	INC   R7
	CJNE  R7,#64H,AA
	MOV   R7,#00H
//-------時鐘跑值--------------------------------
 TK1:INC  30H			;每秒鐘秒個位增一
	 MOV R6,30H
	CJNE  R6,#0AH,AA
	MOV   30H,#00H
TK2:INC   31H
	MOV   R6,31H
 	CJNE  R6,#06H,AA
	MOV   31H,#00H  
TK3:INC   32H 
	MOV    R6,32H
	CJNE   R6,#0AH,AA
	MOV    32H,#00H
TK4:INC    33H
	MOV    R6,33H
	CJNE   R6,#06H,AA
	MOV    33H,#00H
TK5:INC    34H
	MOV    R5,34H
	MOV    R6,35H
	CJNE   R5,#04H,TK6
	CJNE   R6,#02H,TK6
	MOV    34H,#00H
	MOV    35H,#00H
TK6:CJNE   R5,#0AH,AA
	MOV    34H,#00H
    INC    35H
//-------秒表跑值----------------------
 AA:
    MOV R5,42H
    CJNE R5,#01H,TK7
    INC 44H
TK7:MOV R5,44H
	CJNE R5,#0AH,AA1
	MOV 44H,#00H
	INC 45H
    MOV R5,45H
    CJNE R5,#0AH,AA1
	MOV 45H,#00H
	INC 46H
    MOV R5,46H
    CJNE	R5,#0AH,AA1
    MOV 46H,#00H
	INC 47H
    MOV R5,47H
    CJNE R5,#06H,AA1
	MOV 47H,#00H
	INC 48H
    MOV R5,48H
     CJNE R5,#0AH,AA1
	 MOV 48H,#00H
	 INC 49H
     MOV R5,49H
     CJNE R5,#06H,AA1
	 MOV 49H,#00H
	
AA1:RETI

//====定時器T1中斷服務子程序====================
//T11:MOV   TH1,#0F0H
 //   MOV   TL1,#0B0H

//	RETI

//******定時時間調整子程序*************************//
TBAO:
     MOV 50H,#00H
     MOV 51H,#00H
	 MOV 52H,#00H
	 MOV 53H,#00H
	 MOV 54H,#00H
	 MOV 55H,#00H

	 MOV R3,50H

	 DJNZ 30H,RET1

RET1: RET

//======鍵盤掃描子程序==========================	  
KEY:MOV P2,#0F0H
    MOV R3,P2
	CJNE R3,#0F0H,KE0
	LJMP KK13
KE0:CJNE R3,#0E0H,KE1	        ;P2.4行
	MOV P2,#0EFH
	JB P2.3,KK1		    //用作調定時時間            ;K13 秒個位增一
	ACALL DELAY1
	ACALL TK1
KK1:JB P2.2,KK2			;K14   秒十增一
    ACALL DELAY1
	ACALL TK2
KK2:JB P2.1,KK3			;K15	分個位增一
    ACALL DELAY1
	ACALL TK3
KK3:JB P2.0,KE1			;K16	分十位增一
    ACALL DELAY1
	ACALL TK4
KE1:MOV P2,#0DFH	        ;P2.5行
	JB P2.3,KK4		;K9	 時個位增一
	ACALL DELAY1
	ACALL TK5
KK4:JB P2.2,KK5			;K10	 時十位增一
    ACALL DELAY1
	INC 35H	
	MOV R3,35H
	CJNE R3,#03H,HH0
	MOV 35H,#00H
	LJMP KK5
HH0:CJNE R3,#02H,HH1
    LJMP   KK5
HH1:CJNE R3,#01H,HH2
    LJMP   KK5
HH2:MOV 35H,#00H
KK5:JB P2.1,KK6	
    ACALL DELAY1			;K11	   開/關蜂鳴器
	CPL P3.2
KK6:JB P2.0,KE2  			;K12	  秒表暫停
    MOV 42H,#00H   
    	
KE2:MOV P2,#0BFH			;P.6行
    JB P2.3,KK7				;K5	時鐘暫停/取消暫停
	ACALL DELAY1
	CPL ET0	
KK7:JB P2.2,KK8				 ;K6  顯示/休眠/流水燈
    ACALL DELAY2
    INC 40H
	MOV R3,40H
	CJNE R3,#04H,KK8
	MOV 40H,#01H
KK8:JB P2.1,KK9	
   // ACALL DELAY3			;K7 秒表清0    
    MOV 44H,#00H
	MOV 45H,#00H
	MOV 46H,#00H
	MOV 47H,#00H
	MOV 48H,#00H
	MOV 49H,#00H
KK9:JB P2.0,KE3		     ;K8	秒表開始跑
    MOV 42H,#01H   		  
   
KE3:MOV P2,#7FH			  ;P2.7行
    JB P2.3,KK10		   ;K1		   秒十位減一
	ACALL DELAY1
	MOV R3,31H
	CJNE R3,#00H,JA1
	LJMP  KK10
JA1:DEC 31H
KK10:JB P2.2,KK11		  ;K2	   分個位減一
     ACALL DELAY1
	 MOV R3,32H
	 CJNE R3,#00H,JA2
	 LJMP KK11
JA2: DEC 32H
KK11:JB P2.1,KK12			;K3	分十位減一
     ACALL DELAY1
	 MOV R3,33H
	 CJNE R3,#00H,JA3
	 LJMP KK12
JA3:DEC 33H
KK12:JB P2.0,KK13		   ;K4		時個位減一
     ACALL DELAY1
	 MOV R3,34H
	 CJNE R3,#00H,JA4
	 LJMP KK13
JA4:DEC 34H

KK13:RET

//=====流水燈子程序===========================
LED: MOV A,#0feH
	 MOV 41H,#08H
	 MOV P0,#0FFH	
LED1: 
	MOV P1,A
	MOV R3,#100
D0: ACALL DELAY
    DJNZ R3,D0
    MOV R3,41H
	DJNZ R3,AAA
    LJMP BB
AAA:RL A
  	MOV 41H,R3 
	ACALL KEY
    LJMP LED1
BB:	
    MOV 41H,#07H
CC: MOV P1,A
    MOV R3,#30
D1: ACALL DELAY
    DJNZ R3,D1
	MOV R3,41H
	DJNZ R3,DD
	LJMP LED0
DD:RR A
    MOV 41H,R3
	ACALL KEY
	LJMP CC

LED0:RET		  

//=====延時子程序==============================	
DELAY:MOV R1,#250
DEL1:NOP 
     NOP
	 NOP
	 NOP 
     DJNZ R1,DEL1
	 RET
//====調用時鐘顯示作延時========================
DELAY1:MOV R2,#20		
DELA3: ACALL MAIN2
       DJNZ R2,DELA3  
	  RET
//====調用秒表顯示作延時========================
DELAY3:MOV R2,#20
DELA5:ACALL MAIN3
      DJNZ R2,DELA5
	  RET
//====調用延時子程序作延時======================
DELAY2:MOV R2,#100	
DELA4:ACALL DELAY
      DJNZ R2,DELA4
	  RET
 //======共陽數碼管段碼表=================================	
 TAB:DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,87H
	END	   
關閉窗口

相關文章

主站蜘蛛池模板: 日韩精品亚洲专区在线观看 | 男女网站视频 | 黑人精品xxx一区一二区 | 欧美一区免费 | 午夜免费小视频 | 久久伊人精品 | 精精精精xxxx免费视频 | 日韩精品久久一区 | 黄色三级毛片 | 夜夜爽99久久国产综合精品女不卡 | 黄色片免费看 | 日本在线一区二区三区 | 夜夜艹天天干 | 亚洲精品九九 | 午夜影院普通用户体验区 | 日本午夜在线视频 | 国产精品久久久久一区二区三区 | 黑人精品欧美一区二区蜜桃 | 久久99国产精品久久99果冻传媒 | av色站| 欧美精品久久久久 | 欧美理论片在线观看 | 一级女毛片 | 国产精品爱久久久久久久 | 一区二区三区在线免费观看 | 久久r免费视频 | 久久久91精品国产一区二区三区 | 美日韩精品 | 日韩精品 电影一区 亚洲 | 日本国产一区二区 | 黄色毛片在线观看 | 久久91av| 国产成人av在线播放 | 在线伊人 | 精品国产久 | 日本不卡在线观看 | 日韩av一区二区在线观看 | 婷婷开心激情综合五月天 | 一区二区三区精品视频 | 精品二区 | 日日夜夜91 |