久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3261|回復: 0
收起左側

單片機匯編語言步進電機,正轉反轉,加速減速,數碼管顯示速度和狀態

[復制鏈接]
ID:792214 發表于 2020-6-28 21:19 | 顯示全部樓層 |閱讀模式
批注 2020-06-24 092400.png
程序:   
SPEED EQU 10H    ;SPEED為轉速等級標志,共4級,即1~4
FX EQU 11H          ;FX 為方向標志
COUNT EQU 12H    ;COUNT中斷次數標志
ORG 0000H
AJMP MAIN
ORG 0003H          ;外部中斷0入口地址,加速子程序
AJMP UP
ORG 0013H          ;外部中斷1入口地址,減速子程序
AJMP DOWN
ORG 000BH    ;定時器0中斷入口地址,控制中斷次數來達到控制轉速      
AJMP ZDT0
ORG 0030H
MAIN: MOV SP,#60H
MOV TMOD,#01H        ;工作于定時、軟件置位啟動,模式1(16 位計時器)
MOV TH0,#0CFH
MOV TL0,#2CH
MOV COUNT,#01H
SETB ET0                  ;定時/計數器允許中斷
CLR IT0                    ;外部中斷為電平觸發方式,低電平有效
CLR IT1
SETB EX0                  ;外部允許中斷
SETB EX1
SETB EA                  ;開總中斷
MOV R1,#11H    ;四相單四拍運行,共陽數碼管方向顯示8,速度值顯示0
MOV SPEED,#00H
MOV FX,#00H
XIANS: MOV A,SPEED
MOV DPTR,#LED
MOVC A,@A+DPTR            ;查表獲取等級對應數碼管代碼
MOV P2,A                      ;第二個數碼管顯示轉速等級
MOV A,FX                        ;準備判斷轉向
CJNE A,#11H,ELS
MOV P0, #0F9H              ;第一個數碼管顯示 1,表示正轉
AJMP QD
ELS: CJNE A,#00H,ZHENG
MOV P0,#0C0H                  ;第一個數碼管顯示 0,表示不轉
AJMP QD
ZHENG: MOV P0,#0BFH            ;第一個數碼管顯示-,表示反轉
QD: JB P3.4,DD                  ;P3.4接啟動開關 K1,P3.4=1 時啟動
CLR TR0                    ;停止定時/計數器
MOV P0,#0C0H             ;第一個數碼管顯示 0,表示不轉
MOV P2,#0C0H            ;第二個數碼管顯示 0,表示轉速為 0
MOV SPEED,#00H            ;重新賦初值
MOV FX,#00H
AJMP QD
DD: MOV A,SPEED
JNZ GO                      ;A 不等于 0,即初始速度不為零,則轉移到 GO
CLR TR0                          ;停止定時/計數器
AJMP QD
GO: SETB TR0                    ;開啟定時/計數器
ACALL DELAY
AJMP XIANS
DELAY: MOV R6,#10                    ;延時子程序
DEL1: MOV R7,#250
HERE1: DJNZ R7, HERE1
DJNZ R6,DEL1
RET
ZDT0: PUSH ACC
PUSH DPH
PUSH DPL
MOV TH0,#0D8H
MOV TL0,#0F0H
DJNZ COUNT,EXIT
JB P3.5,NIZHUAN            ;查詢方向標志,P3.5 接換向開關 K2
MOV FX,#11H
NIZHUAN:MOV A,FX
CJNE A,#11H,FZ        ;若A不等于11,即正轉,則轉移到 FZ
MOV A,R1                              ;R1 記錄上一次電機脈沖狀態
MOV P1,A
RR    A                        ;循環右一位
MOV R1,A
MOV P1,A
AJMP RE
FZ: MOV A,R1
MOV P1,A
RL A                        ;循環左移一位
MOV P1,A
MOV R1,A
RE: MOV A,SPEED
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV COUNT,A                                ;把轉速級別賦給 COUNT
JB P3.5 ,FFX  ;P3.5 接換向開關K2, 即換向位,若P3.5=1,則跳到 FFX
MOV FX,#11H
AJMP EXIT
FFX: MOV FX,#0FEH;只要FX不等于11H,就可以通過循環左移或右移進行換向
EXIT: POP DPL
POP DPH
POP ACC
RETI
UP: PUSH ACC       ;以下 UP 為加速中斷程序
ACALL DELAY                 ;延時防抖
JB P3.2,UPEX   ;P3.2 為外部中斷0位,接增速開關S2,低電平有效,若3.2=1,則退出
MOV A,SPEED
CJNE A,#4,SZ            ;最大等級為 4,若 A 不等于 4,則轉移到 SZ
AJMP UPEX                ;若 A=4,則退出
SZ: INC SPEED              ;SPEED= SPEED+1
UPEX: POP ACC
HERE2: JNB P3.2,HERE2      ;本條指令為防止開關 S2 按下去后彈不起,導致一直產生中斷
RETI
DOWN: PUSH ACC        ;以下 DOWN 為減速中斷程序
ACALL DELAY
JB P3.3,DEX ;P3.3 為外部中斷1位,接減速開關S3,低電平有效,P3.3=1則退出
MOV A,SPEED
CJNE A,#0,SJ
AJMP DEX
SJ: DEC SPEED                  ;SPEED= SPEED-1
DEX: POP ACC
HERE3: JNB P3.3,HERE3
RETI
TAB: DB 0,60,40,35,30,28,25,21  ;經仿真,小于21時,由于脈沖太快,會出現失步 ;
LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
END

批注 2020-06-24 091706.png
批注 2020-06-24 091529.png
批注 2020-06-24 091440.png
批注 2020-06-24 090345.png

作業說明書.docx

189.4 KB, 下載次數: 32, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品久久久久久首妖 | 精品视频在线一区 | 999热精品 | 一区二区三区欧美在线观看 | 久久精品视频12 | 亚av在线| 美女人人操 | 成人在线电影在线观看 | 国产成人一区二区 | 久久久国产一区二区三区 | 美女三区| 亚洲视频www | 日日夜夜草 | 成人福利视频网站 | 免费h视频| 999久久久久久久久6666 | 久久日韩粉嫩一区二区三区 | 色五月激情五月 | 91亚洲精选 | 色视频网站 | 伊人伊成久久人综合网站 | 午夜影晥 | 亚洲 欧美 日韩 在线 | 色婷婷综合网站 | 97起碰| 国产精品精品视频一区二区三区 | 中文字幕 国产 | 久久精品综合网 | 亚洲综合在线播放 | 国产精品久久久久久久久免费丝袜 | 一区二区三区四区在线 | 欧美一级片在线看 | 91中文| 成人高清在线视频 | 色婷婷av一区二区三区软件 | 91资源在线 | 久久久久久国产精品免费免费 | av中文字幕在线 | 欧美一区二区三区视频在线 | 国产精品久久久久久久久久久久 | 精品日韩 |