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

📄 ex5-4.asm

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 ASM
字号:
	ORG  0000H                ;复位入口
	LJMP	MAIN              ;转到主程序
	ORG  000BH                ;T0中断入口
	LJMP	TT0               ;转到T0中断服务程序
	ORG  0030                 ;主程序入口
MAIN:	MOV  SP,#60H              ;设置堆栈指针
	MOV  20H,#0AH             ;设置中断次数
	MOV  30H,#00H             ;时、分、秒单元清0
	MOV  31H,#00H
	MOV  32H,#00H
	MOV  TMOD,#01H            ;设置T0工作方式
	MOV  TH0,#3CH             ;装入T0初值
	MOV  TL0,#0B0H
	SETB TR0                  ;启动T0	
	SETB EA                   ;开中断
	SETB ET0                  ;允许T0中断
	SJMP $                    ;等待中断
TT0:	PUSH PSW                  ;保护现场
	PUSH ACC
	MOV  TH0,#3CH             ;重装T0初值
	MOV  TL0,#0B0H
	DJNZ 20H,RT               ;1秒定时未到,返回
	MOV  20H,#0AH             ;重置中断次数
	MOV  A,#01H
	ADD  A,32H                ;秒单元加1
	DA   A                    ;十进制调整
   	MOV  32H,A                ;转换为BCD码
   	CPL  P1.0
	CJNE A,#60H,RT            ;未到60秒,返回
	MOV  32H,#00H             ;到60秒,秒单元清0
	MOV  A,#01H
	ADD  A,31H                ;分单元加1
	DA   A                    ;十进制调整
	MOV  31H,A                ;转换为BCD码
   	CPL  P1.2
   	CJNE A,#60H,RT            ;未到60分,返回
	MOV  31H,#00H             ;到60分,分单元清0
	MOV  A,#01H
	ADD  A,30H                ;时单元加1
	DA   A                    ;十进制调整
	MOV  30H,A                ;转换为BCD码
	CPL  P1.4
	CJNE A,#24H,RT            ;未到24小时,返回
	MOV  30H,#00H             ;到24小时,时单元清0
	MOV  P1,#00H
RT:     POP  ACC                  ;恢复现场
        POP  PSW
        RETI	                  ;中断返回
	END

⌨️ 快捷键说明

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