微机实验考试

date
Jul 8, 2018
slug
weiji-exam
status
Published
tags
开发测试
summary
本以为微机实验会很难很难(因为周围有几个同学都说没做完,emmm),于是就一直在搜集前面同学考过的题目来看,复习得神经兮兮的。。。结果手气太好,抽到一条类似的题目
type
Post

前言

本以为微机实验会很难很难(因为周围有几个同学都说没做完,emmm),于是就一直在搜集前面同学考过的题目来看,复习得神经兮兮的。。。结果手气太好,抽到一条类似的题目,反正吧,看了这么多题目,感觉这最后的考试就是大杂烩,把以前做过的芯片做个排列组和,感觉就是他的题库了。。。就是8255,8253,0832,0809加上4*4键盘,还有各种奇葩输出,输出到LED,蜂鸣器,直流电动机等等

正文

不多说,先放上一波考试题目
notion image
我比较懒,就随意记录一下思考过程吧,画的脑图太丑,就不挂上来了 首先要实现简单的硬延时跑马灯,这里就要涉及到8253以及8255,移动到第6位的时候就要开启跳转了,跳转到蜂鸣器,这里又得用到一次8253延时,响完之后就得关闭,然后重新跳转到跑马灯的实现过程中了。。思路很清晰,LED->蜂鸣器->LED
于是在队友的帮助下开始写代码。。代码如下:
CODE SEGMENT
ASSUME CS:CODE
START:
	MOV AL,35H
	MOV DX,293H    ;控制口
	OUT DX,AL      ;输出控制字
	MOV AL,00H     ;低字节
	MOV DX,290H    ;通道0OUT DX,AL
	MOV AL,20H     ;高字节
	OUT DX,AL
                   ;级联
	MOV AL,77H
	MOV DX,293H
	OUT DX,AL
	MOV AL,00H
	MOV DX,291H    ;通道1OUT DX,AL
	MOV AL,20H
	OUT DX,AL

	MOV DX,283H    ;8255控制口
	MOV AL,10010000B
	OUT DX,AL
	MOV BL,80H     ;初始化
LIGHT1:
	MOV DX,280H    ;A口输入
	IN AL,DX
	AND AX,01H     ;00000001与保留最低位
	CMP AL,01H     ;比较最低位
	JZ DOWN	       ;高电平不亮
	MOV DX,282H    ;低电平时C口输出
	MOV AL,BL
	OUT DX,AL      ;输出
	TEST AL,4H      ;检测是否到达第六位
	JNZ XIANG       ;是第六位的话就响
WAN:	ROR BL,1
ON:
	MOV DX,280H    ;A口输入
	IN AL,DX
	AND AX,01H
	CMP AL,01H     ;比较最低位是否为1
	JNZ ON
DOWN:
	MOV DX,280H    ;A口输入
	IN AL,DX
	AND AX,01H
	CMP AL,0H      ;比较最低位是否为0
	JNZ DOWN
	JMP LIGHT1     ;最低位为0时跳到LIGHT1
XIANG: MOV DX,281H
	 MOV AL,01H
 	 OUT DX,AL

	MOV AL,35H
	MOV DX,293H    ;控制口
	OUT DX,AL      ;输出控制字
	MOV AL,00H     ;低字节
	MOV DX,290H    ;通道0OUT DX,AL
	MOV AL,20H     ;高字节
	OUT DX,AL
                   ;级联
	MOV AL,11110001B
	MOV DX,293H
	OUT DX,AL
	MOV AL,00H
	MOV DX,291H    ;通道1OUT DX,AL
	MOV AL,10H
	OUT DX,AL

CHK:	MOV DX,280H
	IN AL,DX
	TEST AL,01H ;检测是否到达高电频
	JZ CHK       ;不是就继续监测,是就关闭蜂鸣器
	 MOV AL,0H
	 MOV DX,281H
 	 OUT DX,AL
	 JMP WAN     ;然后跳回跑马灯执行程序


CODE ENDS
END START

结语

先得谢谢两位队友的鼎力相助,因为他们,我完成了实验报告,因为本人不喜欢写实验报告,哈哈哈。。。 从这次考试里面又加深一波自己对于8253工作与各种方式下的应用,在这次考试里面确实只能用方式3或者是方式0,方式4是不能用的,方式4还得处理GATE信号会有点麻烦,一般都不会使用,所以这里推测期末考试很大可能性考方式0,方式2以及方式3?常规期末考试押题套路,猥琐地笑了。。。在这里方式2是不能用的,会少了一个CLK,这还是老师答辩的时候发现我的问题,emmmm.... 顺便吐槽一下每次跟微机老师交流都会小紧张,语速极其快的问答让我的大脑超频工作,这样才能跟上他的节奏,这也从侧面反映了自己基础还是不牢靠,赶紧抓紧时间复习,下周五得考试了

© 4me 2021 - 2024