2015-10-13 47 views
0

MTS-88.C电路板的intel 8255 PPI与地址为000100xxb的微处理器8088相连。电路板的顶部包括连接器CN01-CN09和LED01 -LED08。 LED01内部连接到CN0(i + 1)。每个CN02-CN09有两个连接端子 - 一个直接连接到GND,另一个通过按钮开关连接到+ 12V电源。使用微处理器控制直流电机

PBi连接到LED(16-i),继电器RLi连接到CN(9 + i)。所以PBi控制CN(17-i)。每个CN10至CN17包含三个连接端子 - 标为NO(常开),COM和NC(常闭)。 NO连接到GND,NC至+ 12V电源,COM端子可用于驱动12V DC或步进电机或其他需要12V电源的设备。

P1::顺时针

P2:逆时针

P3

以下汇编程序基于以下面的方式键按压(三个按钮)控制直流电动机的旋转方向:停止

大会程序:

Address  Assembly Code 
0000:0400  MOV AL,90 
0000: 0402  OUT 13,AL 
0000: 0404  MOV AL,00 
0000: 0408  IN AL,10  
0000: 040A  CMP AL,FE //what are we checking here? 
0000: 040C  JNE 419 
0000: 040E  MOV AL,00 //why are we assigning 00? 
0000: 0410  OUT 11,AL 
0000: 0412  MOV AL,02 //why are we using 02? 
0000: 0414  OUT 11,AL 
0000: 0416  JMP 500 
0000: 0419  CMP AL,FB //what are we checking here?  
0000: 041B  JNE 428 
0000: 041D  MOV AL,00 //why are we assigning this?  
0000: 041F  OUT 11,AL 
0000: 0421  MOV AL,01 //why are we using 01? 
0000: 0423  OUT 11,AL 
0000: 0425  JMP 500 
0000: 0428  CMP AL,FD //what are we checking here?  
0000: 042A  JNE 408 
0000: 042C  MOV AL,00 
0000: 042E  OUT 11,AL 
0000: 0430  JMP 500 
0000: 0433  INT 3 
0000: 0500  MOV CX,100 
0000: 0503  LOP 0503  
0000: 0505  JMP 408 
0000: 0508  INT 3 

我对上述代码中通过注释标记的代码有些疑惑。而我的另一个问题是电机如何顺时针和逆时针移动?如果继电器在这里有什么功能?

回答

0

我增加了一些意见

Address  Assembly Code 
0000:0400  MOV AL,90 
0000: 0402  OUT 13,AL 
0000: 0404  MOV AL,00 
0000: 0408  IN AL,10  
0000: 040A  CMP AL,FE // check "Forward" key press (active low) 
0000: 040C  JNE 419 
0000: 040E  MOV AL,00 // turn off outputs (active high) 
0000: 0410  OUT 11,AL 
0000: 0412  MOV AL,02 // turn on output 2 (active high) 
0000: 0414  OUT 11,AL 
0000: 0416  JMP 500 
0000: 0419  CMP AL,FB // check "Reverse" key press (active low) 
0000: 041B  JNE 428 
0000: 041D  MOV AL,00 // turn off outputs (active high) 
0000: 041F  OUT 11,AL 
0000: 0421  MOV AL,01 // turn on output 1 (active high) 
0000: 0423  OUT 11,AL 
0000: 0425  JMP 500 
0000: 0428  CMP AL,FD // check "Stop" key press (active low) 
0000: 042A  JNE 408 
0000: 042C  MOV AL,00 // turn off outputs (active high) 
0000: 042E  OUT 11,AL 
0000: 0430  JMP 500 
0000: 0433  INT 3 
0000: 0500  MOV CX,100 // software delay 
0000: 0503  LOP 0503  
0000: 0505  JMP 408 
0000: 0508  INT 3 
+0

什么是转的开/关输出的含义是什么?以及按下按钮时电机如何顺时针和逆时针移动?你能解释一下吗? @Weather Vane – xls

+0

就像一个灯泡:打开/关闭:我想有一个输出为“前进”,一个输出为“反向”。我还猜测,在启用另一个代码之前,代码将关闭所有输出,以确保在前进和后退之间永远不会有任何“战斗”。 –

+0

这里用于逆时针移动的基本原理是什么?当我按下按钮2时,这是如何工作的?@Weather Vane – xls

相关问题