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

📄 t0.asm

📁 一块实用51开发板的原理图和所以基于keil c的源代码
💻 ASM
字号:
;实验名称:定时中断0
;  功能:利用定时器,产生秒计数器,使数码管从00.0计到99.9
;  作者:http://www.mcuprog.com
;        05-02-01
;***********************************************************
E		BIT	P3.5		;LCD口线的定义
RW		BIT	P3.6
RS		BIT	P3.7

JS100MS		EQU	32H		;计数器0.1S
JSGW		EQU	30H		;计数器的个位
JSSW		EQU	31H		;计数器的十位

T0_100MS	EQU	33H		;产生1S
LEDSM		EQU	34H		;现在扫到第几个LED
		ORG	0000H
		AJMP	MAIN
		ORG	000BH
		AJMP	TIME0_1
		
		ORG	0050H
MAIN:		CLR	E		;取消LCD对LED的影响	
		CLR	RW
		SETB	RS

		MOV	JS100MS,#00H	;上电时从00.0开始
		MOV	JSSW,#00H	;
		MOV	JSGW,#00H	;
		MOV	T0_100MS,#14H	;5MS*20=100MS
		MOV	LEDSM,#01H
		MOV	TH0,#0EEH	;16位的定时器,定时5MS
		MOV	TL0,#00H
		MOV	TMOD,#01H
		SETB	TR0
		MOV	IE,#82H		;定时器0中断
		SJMP	$

		ORG	0100H
TIME0_1:	MOV	TH0,#0EEH	
		MOV	TL0,#00H
		DJNZ	T0_100MS,TODISP
		MOV	T0_100MS,#14H
		INC	JS100MS
		MOV	A,JS100MS
		CJNE	A,#0AH,TODISP
		MOV	JS100MS,#00H
		INC	JSGW
		MOV	A,JSGW
		CJNE	A,#0AH,TODISP
		MOV	JSGW,#00H
		INC	JSSW
		MOV	A,JSSW
		CJNE	A,#0AH,TODISP
		MOV	JSSW,#00H	;溢出99.9则回到00.0
TODISP:		MOV	P0,#0FFH	;在位选时关显示
		INC	LEDSM
		MOV	A,LEDSM
		CJNE	A,#04H,TODISP1
		MOV	LEDSM,#01H	;扫完第三个又从第一个开始
TODISP1:	MOV	A,LEDSM
		CJNE	A,#01H,TODISP2
		MOV	P2,#0DFH
		MOV	A,JS100MS
		MOV	DPTR,#LEDCODE
		MOVC	A,@A+DPTR
		AJMP	TOP0
TODISP2:	CJNE	A,#02H,TODISP3
		MOV	P2,#0EFH
		MOV	A,JSGW
		MOV	DPTR,#LEDCODE
		MOVC	A,@A+DPTR
		CLR	ACC.7		;把H点点亮
		AJMP	TOP0
TODISP3:	MOV	P2,#0F7H
		MOV	A,JSSW
		MOV	DPTR,#LEDCODE
		MOVC	A,@A+DPTR
TOP0:		MOV	P0,A
		RETI




;8字LED的连接方法
;P0.7	P.06	P0.5	P0.4	P0.3	P0.2	P0.1	P0.0
; H      G	 F	 E	 D	 C	 B 	 A
;LED字段码表
LEDCODE:	DB	0C0H		;0
		DB	0F9H		;1
		DB	0A4H		;2
		DB	0B0H		;3
		DB	99H		;4
		DB	92H		;5
		DB	82H		;6
		DB	0F8H		;7
		DB	80H		;8
		DB	90H		;9
		DB	88H		;A
		DB	83H		;B
		DB	0C6H		;C
		DB	0A1H		;D
		DB	86H		;E
		DB	8EH		;F
		
		END	

⌨️ 快捷键说明

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