2015-10-13 52 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

相關問題