8255实现秒表

这篇博客介绍了如何利用8255芯片制作秒表,提供了LWLC.ASM的代码,并展示了一个电路图。尽管电路图中有些元件未在代码中使用,作者鼓励读者根据自己的理解进行扩展。需要注意的是,8254定时功能和开关功能需要额外添加,同时指出了端口地址需要根据实际调整。为了辅助理解,还列举了一些参考资料,包括DOS和BIOS功能调用、8255A和8254的应用,以及实验软件和硬件模拟环境。
摘要由CSDN通过智能技术生成

我们做的是秒表

下面是我们的代码:

LWLC.ASM

<span style="font-size:18px">DATA SEGMENT
	;8255各个端口地址
	IO8255A		EQU		1460H	
	IO8255B		EQU		1461H	
	IO8255C		EQU		1462H	
	IO8255K		EQU		1463H	
	;8254各个端口地址
	IO82540		EQU		1440H	
	IO82541		EQU		1441H	
	IO82542		EQU		1442H	
	IO8254K		EQU		1443H
		
	LED			DB		3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH       ;段码0---9
	COUNT 		DW 		?  		;交替显示次数
	COUNTIN		DW		?		;延迟函数内循环循环次数
	NUMA		DB		?		;十位数
	NUMB		DB		?		;个位数

	
DATA ENDS

CODE SEGMENT
	ASSUME	CS:CODE,DS:DATA
	START:
			;初始化DS
		MOV		AX,DATA
		MOV		DS,AX
		
			;初始化8255
			;8255写入控制字98H---->10011000B
			;PB,PC0--PC3口均输出,A口,PC4----PC7为输入
		MOV		AL,98H	;10011000B
		MOV		DX,IO8255K
		OUT 	DX,AL

		MOV		NUMA,00H
		MOV		NUMB,00H
				
	
DISPLY: 
       	MOV 	COUNT, 500                
	   	MOV 	BX, OFFSET LED
	   	MOV		BP,COUNT
	   			;交替显示十位(A)和个位(B) 
SHOW:  
				;显示十位数	   	
	   	MOV 	AL, NUMA						
	   	XLAT                         			;查表
		MOV 	DX, IO8255B                      
	    OUT 	DX, AL                			;将该数的LED数码管字形代码送到B口
	   
	   	MOV 	DX, IO8255C             		;接通8段代码管的第一位,在LED上显示十位数
	   	MOV 	AL, 11111011B
	   	OUT 	DX, AL
	   	CALL 	DELAY
	   	CALL 	DECIDE
	   			;显示个位数
	    
	   	MOV 
  • 2
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值