⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cont.asm

📁 步进电机经典控制程序。一种新的思维方法!
💻 ASM
字号:
;步进电机控制程序
;**************************************************************************
;主程序
             ORG 0000H
             MOV R3,#00H
START:       MOV DPTR,#8FFFH              ;8279初始化清除命令
             MOV A,#0D1H
	     MOVX @DPTR,A
WAIT:        MOVX A,@DPTR                 ;等8279清除结束
             JB ACC.7,WAIT
	     MOV A,#00                    ;8279送方式命令
	     MOVX @DPTR,A
	     MOV A,#34H                   ;fosc=12Mhz时钟编程命令
	     MOVX @DPTR,A
LOOP1:       MOV DPTR,#8FFFH              ;指向命令 状态口
LOOP2:       MOVX A,@DPTR                 ;读8279状态字
             ANL A,#0FH                   ;读状态字低字位
	     JZ LOOP2                     ;FIFO中无键时等待键输入
	     MOV A,#40H                   ;读FIFORAM命令
	     MOVX @DPTR,A
	     MOV DPTR,#8FFEH              ;指向数据口地址
	     MOVX A,@DPTR                 ;读入键值
	     MOV R0,A                     ;暂存键值
LOOP3:       CJNE A,#00H,LOOP4            ;是正转键吗?否转LOOP4
             MOV DPTR,#TABLE              ;控制字首地址
LP1:         MOV A,R3                     ;查表偏移量送A
             MOVC A,@A+DPTR               ;查表取控制字
             MOV P1,A                     ;控制字送P1口
             ACALL DELAY                  ;延时
             INC R3                       ;偏移量+1(拍数加1)
             AJMP LP1
             RET
LOOP4:       MOV A,@R0                    ;取出键值
             CJNE A,#01H,LOOP5            ;是反转键吗?非转LOOP5
LP2:         MOV A,R3                     ;查表偏移量送A
             ADD A,#08H                   ;修正偏移量,查反向控制字
             MOV R3,A                     ;偏移量保存在R3中
             AJMP LP1	    
LOOP5:       MOV A,@R0                    ;取出键值
             CJNE A,#03H,LOOP2            ;是停止键吗?否转LOOP2
	     MOV P1,#00H                  ;是则停转
DELAY:       MOV R7,#20H                  ;延时子程序
   D1:       MOV R6,#248
             DJNZ R6,$
	     DJNZ R7,D1
	     RET
TABLE:       DB 10H,30H,20H,60H,40H,0C0H,80H,90H  ;正转
             DB 10H,90H,80H,0C0H,40H,60H,20H,30H  ;反转
	     END


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -