使用外部中断0和外部中断1,在动态数码管上显示中断0次数,中断1用作次数清0。数码管采用74HC595驱动。中断次数显示形式自定(2位16进制)

该程序实现了使用外部中断0和1控制动态数码管显示中断0的计数,中断1用于清零计数。通过74HC595驱动数码管,中断次数以2位16进制形式动态显示。程序中包含中断服务子程序、延时函数、数码管显示及消除残影功能。
摘要由CSDN通过智能技术生成

中断控制仿真

使用外部中断0和外部中断1,在动态数码管上显示中断0次数,中断1用作次数清0。数码管采用74HC595驱动。中断次数显示形式自定(2位16进制)

代码

SH_CP EQU P2.0
DSSSS EQU P2.1
ST_CP EQU P2.2
	
POS_1 EQU P2.3
POS_2 EQU P2.4

ORG 0000H
LJMP START

ORG 0003H;外部中断0
LJMP INT0_ISR
	
ORG 0013H;外部中断1
LJMP INT1_ISR

ORG 0100H
START:
	MOV R0,#00H;初始化R0保存次数
	;取出16进制数的高四位和低四位放在内存里面
	LCALL HEX_OPE
	SETB EX0;中断1 0下降沿触发
	SETB IT0
	SETB EA
	SETB EX1
	SETB IT1
	SETB EA
	
	MAIN_LOOP:
	
	MOV A,92H;动态显示
	LCALL DS_1
	LCALL XIAO
	MOV A,91H
	LCALL DS_2
	LCALL XIAO
	LJMP MAIN_LOOP
	
	LJMP $
	
INT0_ISR:
	INC R0;中断触发计数加一
	;取出16进制数的高四位和低四位放在内存里面
	LCALL HEX_OPE
	RETI
	
INT1_ISR:
	MOV R0,#00H;清零
	;取出16进制数的高四位和低四位放在内存里面
	LCALL HEX_OPE
	RETI
	
DELAY3MS:			;@11.0592MHz
	NOP
	NOP
	NOP
	NOP
	PUSH 30H
	PUSH 31H
	MOV 30H,#26
	MOV 31H,#204
NEXT:
	DJNZ 31H,NEXT
	DJNZ 30H,NEXT
	POP 31H
	POP 30H
	RET

;消除残影
XIAO:
	MOV A,#0FFH
	LCALL HC
	RET

;显示第一个数码管
DS_1:
	SETB POS_1;第一个数码管显示
	CLR POS_2
	LCALL FIND_HC
	LCALL DELAY3MS;延时显示
	RET

;显示第二个数码管
DS_2:
	SETB POS_2;第二个数码管显示
	CLR POS_1
	LCALL FIND_HC
	LCALL DELAY3MS;延时显示
	RET

;74HC595数字输入,串行输出
FIND_HC:
	MOV DPTR,#SEG_CA;查表操作
	MOVC A,@A+DPTR
	LCALL HC
	RET
;入口A,并行输出
;参数R1循环变量
;74HC595芯片输出模块
HC:
	MOV 80H,#08H
	HC_LOOP:
	RLC A;A左移
	MOV DSSSS,C;串行输入
	CLR SH_CP;上升沿串行输出一位
	SETB SH_CP;
	DJNZ 80H,HC_LOOP;减1不为0转移,可以转移7次
	CLR ST_CP;上升沿并行输出
	SETB ST_CP;
	RET

;入口R0
;取出16进制数的高四位和低四位放在内存里面
HEX_OPE:
	MOV A,R0
	MOV B,#0FH
	DIV AB
	MOV 92H,A
	MOV A,B
	MOV 91H,A
	RET
SEG_CA:
DB 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8
DB 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e

END

protues仿真

在这里插入图片描述

按键可以清除计数也可以计数加一

74HC595

在这里插入图片描述

引脚功能

SH_CP 上升沿串行输出

DS 串行数据输入

ST_CP 上升沿串行转并行

MR 复位 低电平有效

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值