單片機設計,在Proteus仿真下,按鍵實現電機正反轉
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
屏幕截圖(45).png (279.91 KB, 下載次數: 49)
下載附件
2022-3-21 10:57 上傳
附仿真工程和單片機匯編語言代碼
- FOR_LED BIT P2.1 ;正轉指示燈
- REV_LED BIT P2.2 ;反轉指示燈
- ORG 0000H ;主程序起始地址設置
- kAJMP MAIN ;跳到主程序入口
- ORG 0003H ;中斷地址入口(k1按鍵)
- AJMP INTR0 ;中斷子程序
- ORG 0013H ;中斷地址入口(k2按鍵)
- AJMP INTR1 ;中斷子程序入口
- MAIN: MOV R0,#0FFH
- START:MOV IE,#85H ;中斷
- MOV TCON ,#00H ;電平觸發
- MOV SP,#60H
- CMP1: CJNE R0,#01,CMP2
- LCALL FOR
- SJMP CMP3
-
- CMP2: CJNE R0,#02,CMP1
- LCALL REV
-
- CMP3: NOP
- SJMP START
- FOR: CLR FOR_LED ;正轉指示燈亮
- SETB REV_LED
- MOV P0,#02H
- LCALL DELAY
- MOV P0,#06H
- LCALL DELAY
- MOV P0,#04H
- LCALL DELAY
- MOV P0,#0CH
- LCALL DELAY
- MOV P0,#08H
- LCALL DELAY
- MOV P0,#09H
- LCALL DELAY
- MOV P0,#01H
- LCALL DELAY
- MOV P0,#03H
- LCALL DELAY
- RET
-
- REV: MOV DPTR,#TAB2 ;反轉控制
- SETB FOR_LED
- CLR REV_LED ;反轉指示燈亮
-
- LP3: MOV A,#00H ;清除累加器
- MOVC A,@A+DPTR ;查表
- CJNE A,1BH,LP4 ;取出碼不是結束碼,則進行下一步
- JMP EXIT2 ;是結束碼,重新進行操作
-
- LP4: MOV P0,A ;A中的值送P0口
- LCALL DELAY ;延時
- INC DPTR ;數據指針加一,指向下一個碼
- JMP LP3 ;返回,取碼
-
- EXIT2:NOP
- RET
- INTR0:MOV R0,#01
- RETI ;中斷結束,返回主程序
-
- INTR1:MOV R0,#02
- RETI ;中斷返回
-
- DELAY:MOV R7,#20 ;延時0.2s子程序
- DELA1:MOV R6,#20
- DELA2:MOV R5,#248
- DJNZ R5,$
- DJNZ R6,DELA2
- DJNZ R7,DELA1
- RET
- TAB2: DB 03H,01H,09H,08H ;1~2相激勵磁反轉驅動代碼
- DB 0CH,04H,06H,02H
- DB 1BH
- END
-
-
復制代碼
51hei.png (8.57 KB, 下載次數: 52)
下載附件
2022-3-21 15:54 上傳
Keil代碼與Proteus仿真下載:
電機控制.rar
(69 KB, 下載次數: 15)
2022-3-21 11:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|