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

📄 a01.asm

📁 用单片机做的,at89c2051壁挂空调室内机风扇百叶步进电机驱动电器,能测试电机的正反转和加减速运转情况.已通过实践.
💻 ASM
字号:
ORG   0000H
LJMP  MAIN

ORG   000BH
LJMP  T01      ;定时器0 中断

MAIN:
CLR   P1.7
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3



MOV   A,#00H     ;寄存器清零
MOV   R0,A
MOV   R1,A
MOV   R2,A
MOV   R3,A
MOV   R4,A
MOV   R5,A
MOV   R6,#0FFH
MOV   R7,#0FFH

MOV   SP,#78H     ;设置堆栈地址
MOV   TMOD,#02H   ;设置 定时器0 为8位自动重装载计时器
MOV   TH0,#00H    ;设置T0重装初值
SETB  ET0         ;定时器0中断允许

SETB  EA          ;总中断允许
SETB  TR0         ;T0计时开始

START:
LJMP  START

T01:              ;255us中断一次
CLR   TR0        ;T0计时停止

INC   R0            ;中断次数加一
CJNE  R0,#0FFH,T01B
MOV   R0,#00H       ;0.065秒=65毫秒执行一次
 
INC   R1
CJNE  R1,#06H,T01A8
MOV   R1,#00H          ;0.65秒*6=0.4秒  执行一次
CPL   P1.7             ;改变内部指示灯状态

T01A8:
SETB  P1.0          ;端口置一准备读取
SETB  P1.1
SETB  P3.7

MOV   C,P1.0        ;读P1.0新状态
MOV   00H,C
MOV   C,P1.1        ;读P1.1新状态
MOV   01H,C
MOV   C,P3.7        ;读P3.7新状态
MOV   04H,C

JNB   00H,T01A9    ;P1.0新状态=1 继
JB    02H,T01A9    ;P1.0原状态=0 继
DEC   R7

T01A9:
MOV   C,00H
MOV   02H,C      ;P1.0原状态刷新

JNB   01H,T01A10   ;P1.1新状态=1 继
JB    03H,T01A10   ;P1.1原状态=0 继
INC   R7

T01A10:
MOV   C,01H      ;P1.1原状态刷新
MOV   03H,C


JNB   04H,T01A11   ;P3.7新状态=1 继
JB    05H,T01A11   ;P3.7原状态=0 继
CPL   06H

T01A11:
MOV   C,04H      ;P3.7原状态刷新
MOV   05H,C

T01B:
DEC   R6
CJNE  R6,#00H,T01C
MOV   A,R7
MOV   R6,A
INC   R5
JB    06H,T01B5

CJNE  R5,#01H,T01B1
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.6
T01B1:
CJNE  R5,#02H,T01B2
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.4
T01B2:
CJNE  R5,#03H,T01B3
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.5
T01B3:
CJNE  R5,#04H,T01B4
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.3
MOV   R5,#00H
T01B4:
LJMP  T01C

T01B5:
CJNE  R5,#01H,T01B6
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.6
T01B6:
CJNE  R5,#02H,T01B7
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.3
T01B7:
CJNE  R5,#03H,T01B8
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.5
T01B8:
CJNE  R5,#04H,T01C
CLR   P1.6
CLR   P1.5
CLR   P1.4
CLR   P1.3
SETB  P1.4
MOV   R5,#00H

T01C:
SETB  TR0
RETI

END

⌨️ 快捷键说明

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