微机原理与汇编的题目 就给了按键和数码管,要求数码管显示按键值,

微机原理与汇编的题目 就给了按键和数码管,要求数码管显示按键值,,第1张

这样的提问内容很随便哪。那就用一个共阳数码管显示,接在P0口。用8个独立式按键接在P3口,按键为K1~K8,按键值就是1~8。见下面的仿真图,按下某个按键,数码管显示出对应的键值。

实验七:8255A+8253+8259A

<实验目的>

了解步进电机的的基本控制原理,掌握控制步进电机的转速、转向的程序设计方法。

<实验内容>

用8255A的PA0~3分别控制步进电机的A、B、C、D四相,“1”则该相绕组通电,“0”则不通电。步进电机的驱动原理是使各相绕组依次通电来使其作步进式旋转,通过通电顺序和切换频率来调节其转速和转向。步进电机可以四相四拍或四相八拍方式工作,即通电顺序为:A→B→C→D→A;A→AB→B→BC→C→CD→D→DA→A。按相反的顺序即可改变电机的旋转方向。本实验系统采用的是:AB→BC→CD→DA→AB。

注:电机在起动和停止时,不应该突然起、停。而应采用逐渐加速、减速的方式。至于起、停所需时间则依产品型号而定。

<实验电路>

8255A: PA0~3与步进电机的BA~BD相连;

8253: GATE0接+5v;

CLK0接393分频器的T2插孔(49125/4MHz),或T3~6插孔(分别是8、16、32、64分频);

CS接译码器单元的Y2;

数据线D0~7与系统数据总线单元任一插座相连;

译码单元: 译码器输入A、B、C与系统地址线A2、A3、A4相连;

译码器控制端G与系统地址线A0下方的G相连。

8259单元: CS端与译码器单元的Y0相连;

D0~7与系统数据总线单元任一插座相连;

最后,将8253的OUT0与8259的IR7相连。

<实验程序>

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE

ORG 3400H

H8: JMP P8259

PORT0 EQU 0FFE0H

PORT1 EQU 0FFE1H

;-------------------初始化-------------------

P8259: CLI

MOV AX,OFFSET INT8259

MOV BX,003CH

MOV [BX],AX

MOV BX,003EH

MOV AX,0000H

MOV [BX],AX

CALL FOR8259

MOV SI,0000H

I8255: MOV DX,0FFDBH

MOV AL,8AH

OUT DX,AL

MOV BL,03

P8253: MOV DX,0FFD9H ;

IN AL,DX ;选择3种转速

TEST AL,01H

JNZ QQQ

TEST AL,02H

JNZ >

这个题目本身就不对,SS后面不应该是DB定义,而应该用LJMP来跳转到各个函数,否则就不能用JMP @A+DPTR散转,而应该用MOVC,且通过入栈和RET的出栈来实现跳转。

如果改为:

JMP @A+DPTR

SS: LJMP FUNC1

LJMP FUNC2

LJMP FUNC3

LJMP FUNC4

LJMP FUNC5

LJMP FUNC6

则:

1)不知你的键值是什么含义?具体是那些数值?

2)放大3倍(如果LJMP改为AJMP,则放大两倍);指令是MOV B, #3 MUL AB(如果是放大两倍,则为:RL A,前提是A中的值不超过127)

以上就是关于微机原理与汇编的题目 就给了按键和数码管,要求数码管显示按键值,全部的内容,包括:微机原理与汇编的题目 就给了按键和数码管,要求数码管显示按键值,、通用步进电机控制器设计(精通单片机汇编语言的朋友进)、汇编语言作业求大佬帮助等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9790854.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存