⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex.asm

📁 一个秒表的程序
💻 ASM
字号:
;-----------------------------------------------------------
;	Exercice 14 Chronometre
;-----------------------------------------------------------
$include(c8051f000.inc)		;Include register definition file.
$include(tp.inc)
PROG	segment CODE
EXTRN CODE (init)
EXTRN CODE (af_ini)
EXTRN CODE (affiche)
EXTRN CODE (bcd_ascii)
EXTRN CODE (clavier)
VAR	segment			DATA
;-----------------------------------------------------------
;RESET and INTERRUPT VECTORS
							cseg			AT	0
							LJMP			Debut
							cseg			AT	2BH
							LJMP			T2_int
;-----------------------------------------------------------
							rseg			PROG
Debut:				MOV				SP,#7FH		;Pile en 80H
							LCALL			init
							LCALL			af_ini							
							
boucle:				MOV A,#80H
              LCALL affiche
				    	MOV A,#'0'
					    LCALL affiche
					    MOV A,#'0'
				    	LCALL affiche
					    MOV A,#':'
					    LCALL affiche
				    	MOV A,#'0'
					    LCALL affiche
				     	MOV A,#'0'
				    	LCALL affiche	
							
							LCALL clavier
							CJNE R7,#'*',boucle

							MOV ct,#00H
					    MOV min,#00H
					    MOV sec,#00H
							MOV	CKCON,#00H
							MOV	RCAP2L,#LOW(-50000)
							MOV	RCAP2H,#HIGH(-50000)
							MOV	TL2,#LOW(-50000)
							MOV	TH2,#HIGH(-50000)
							MOV	T2CON,#00000100B
							MOV	IE,#10100000B

							
						SJMP			$

;-----------------------------------------------------------
T2_int:	  PUSH ACC
					PUSH PSW
          INC ct
					MOV A,ct
					CJNE A,#20,T2_fin
					CPL TEST
					
					
					MOV A,sec
					ADD A,#1
					DA A
          CJNE A,#60H,T1

					MOV sec,#00H
					MOV A,min
					ADD A,#1
					DA A
					MOV min,A
					SJMP T2

T1:       MOV sec,A
T2:       
				  MOV A,#80H
          LCALL affiche
					MOV A,min
          LCALL bcd_ascii
					LCALL affiche
					MOV A,B
					LCALL affiche
		 			
          MOV A,#83H
          LCALL affiche
					MOV A,sec
					LCALL bcd_ascii
					LCALL affiche
					MOV A,B
          LCALL affiche
          
					MOV ct,#00H
					 
             
							
T2_fin:			
            POP PSW
					  POP ACC	
					  CLR TF2		

							RETI
;-------------------------------------
rseg					VAR
min:					DS				1
sec:					DS				1
ct:						DS				1		;compteur par 20
;-------------------------------------
;End of file
END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -