📄 毕业设计.asm
字号:
Exit3: RET
;=====================================================
Tim4: JNC Off4
JNB ST4, Open4
MOV A, TC4_L
CJNE A, K4_L, Exit4
MOV A, TC4_H
CJNE A, K4_H, Exit4
SETB DT4
SJMP Rest4
Open4: JB ST4, Exit4
JB DT4, Exit4
SETB ST4
RET
Off4: CLR DT4
Rest4: CLR ST4
MOV TC4_H, #00H
MOV TC4_L, #00H
Exit4: RET
;=====================================================
Tim5: JNC Off5
JNB ST5, Open5
MOV A, TC5_L
CJNE A, K5_L, Exit5
MOV A, TC5_H
CJNE A, K5_H, Exit5
SETB DT5
SJMP Rest5
Open5: JB ST5, Exit5
JB DT5, Exit5
SETB ST5
RET
Off5: CLR DT5
Rest5: CLR ST5
MOV TC5_H, #00H
MOV TC5_L, #00H
Exit5: RET
;=====================================================
Tim6: JNC Off6
JNB ST6, Open6
MOV A, TC6_L
CJNE A, K6_L, Exit6
MOV A, TC6_H
CJNE A, K6_H, Exit6
SETB DT6
SJMP Rest6
Open6: JB ST6, Exit6
JB DT6, Exit6
SETB ST6
RET
Off6: CLR DT6
Rest6: CLR ST6
MOV TC6_H, #00H
MOV TC6_L, #00H
Exit6: RET
;=====================================================
Tim7: JNC Off7
JNB ST7, Open7
MOV A, TC7_L
CJNE A, K7_L, Exit7
MOV A, TC7_H
CJNE A, K7_H, Exit7
SETB DT7
SJMP Rest7
Open7: JB ST7, Exit7
JB DT7, Exit7
SETB ST7
RET
Off7: CLR DT7
Rest7: CLR ST7
MOV TC7_H, #00H
MOV TC7_L, #00H
Exit7: RET
;=====================================================
Tim8: JNC Off8
JNB ST8, Open8
MOV A, TC8_L
CJNE A, K8_L, Exit8
MOV A, TC8_H
CJNE A, K8_H, Exit8
SETB DT8
SJMP Rest8
Open8: JB ST8, Exit8
JB DT8, Exit8
SETB ST8
RET
Off8: CLR DT8
Rest8: CLR ST8
MOV TC8_H, #00H
MOV TC8_L, #00H
Exit8: RET
;=====================================================
Tim9: JNC Off9
JNB ST9, Open9
MOV A, TC9_L
CJNE A, K9_L, Exit9
MOV A, TC9_H
CJNE A, K9_H, Exit9
SETB DT9
SJMP Rest9
Open9: JB ST9, Exit9
JB DT9, Exit9
SETB ST9
RET
Off9: CLR DT9
Rest9: CLR ST9
MOV TC9_H, #00H
MOV TC9_L, #00H
Exit9: RET
/***************************************************************************************************/
;当前逻辑运算值在位累加器C中
COUNT0: JB RST0,Reset0 ;是否复位
JNC CExit0
JB C0, End0
INC C0_L ;计数器加1
MOV A , C0_L
JNZ CN0
INC C0_H
CN0: MOV A, C0_L
CJNE A, PV0_L, End0
MOV A, C0_H
CJNE A, PV0_H, End0 ;判断计数器Cn是否溢出
SETB C0 ;一旦溢出,逻辑位置位,重置初值
MOV C0_L,#0 ;计数器复位
MOV C0_H,#0
RET
Reset0: MOV C0_L,#0 ;计数器复位
MOV C0_H,#0
CExit0: CLR C0
End0: RET
;=====================================================
COUNT1: JB RST1,Reset1
JNC CExit1
JB C1, End1
INC C1_L
MOV A , C1_L
JNZ CN1
INC C1_H
CN1: MOV A, C1_L
CJNE A, PV1_L, End1
MOV A, C1_H
CJNE A, PV1_H, End1
SETB C1
MOV C1_L,#0
MOV C1_H,#0
RET
Reset1: MOV C1_L,#0
MOV C1_H,#0
CExit1: CLR C1
End1: RET
;=====================================================
COUNT2: JB RST2,Reset2
JNC CExit2
JB C2, End2
INC C2_L
MOV A , C2_L
JNZ CN2
INC C2_H
CN2: MOV A, C2_L
CJNE A, PV2_L, End2
MOV A, C2_H
CJNE A, PV2_H, End2
SETB C2
MOV C2_L,#0
MOV C2_H,#0
RET
Reset2: MOV C2_L,#0
MOV C2_H,#0
CExit2: CLR C2
End2: RET
;=====================================================
COUNT3: JB RST3,Reset3
JNC CExit3
JB C3, End3
INC C3_L
MOV A , C3_L
JNZ CN3
INC C3_H
CN3: MOV A, C3_L
CJNE A, PV3_L, End3
MOV A, C3_H
CJNE A, PV3_H, End3
SETB C3
MOV C3_L,#0
MOV C3_H,#0
RET
Reset3: MOV C3_L,#0
MOV C3_H,#0
CExit3: CLR C3
End3: RET
;=====================================================
COUNT4: JB RST4,Reset4
JNC CExit4
JB C4, End4
INC C4_L
MOV A , C4_L
JNZ CN4
INC C4_H
CN4: MOV A, C4_L
CJNE A, PV4_L, End4
MOV A, C4_H
CJNE A, PV4_H, End4
SETB C4
MOV C4_L,#0
MOV C4_H,#0
RET
Reset4: MOV C4_L,#0
MOV C4_H,#0
CExit4: CLR C4
End4: RET
;=====================================================
COUNT5: JB RST5,Reset5
JNC CExit5
JB C5, End5
INC C5_L
MOV A , C5_L
JNZ CN5
INC C5_H
CN5: MOV A, C5_L
CJNE A, PV5_L, End5
MOV A, C5_H
CJNE A, PV5_H, End5
SETB C5
MOV C5_L,#0
MOV C5_H,#0
RET
Reset5: MOV C5_L,#0
MOV C5_H,#0
CExit5: CLR C5
End5: RET
;=====================================================
COUNT6: JB RST6,Reset6
JNC CExit6
JB C6, End6
INC C6_L
MOV A , C6_L
JNZ CN6
INC C6_H
CN6: MOV A, C6_L
CJNE A, PV6_L, End6
MOV A, C6_H
CJNE A, PV6_H, End6
SETB C6
MOV C6_L,#0
MOV C6_H,#0
RET
Reset6: MOV C6_L,#0
MOV C6_H,#0
CExit6: CLR C6
End6: RET
;=====================================================
COUNT7: JB RST7,Reset7
JNC CExit7
JB C7, End7
INC C7_L
MOV A , C7_L
JNZ CN7
INC C7_H
CN7: MOV A, C7_L
CJNE A, PV7_L, End7
MOV A, C7_H
CJNE A, PV7_H, End7
SETB C7
MOV C7_L,#0
MOV C7_H,#0
RET
Reset7: MOV C7_L,#0
MOV C7_H,#0
CExit7: CLR C7
End7: RET
;=====================================================
COUNT8: JB RST8,Reset8
JNC CExit8
JB C8, End8
INC C8_L
MOV A , C8_L
JNZ CN8
INC C8_H
CN8: MOV A, C8_L
CJNE A, PV8_L, End8
MOV A, C8_H
CJNE A, PV8_H, End8
SETB C8
MOV C8_L,#0
MOV C8_H,#0
RET
Reset8: MOV C8_L,#0
MOV C8_H,#0
CExit8: CLR C8
End8: RET
;=====================================================
COUNT9: JB RST9,Reset9
JNC CExit9
JB C9, End9
INC C9_L
MOV A , C9_L
JNZ CN9
INC C9_H
CN9: MOV A, C9_L
CJNE A, PV9_L, End9
MOV A, C9_H
CJNE A, PV9_H, End9
SETB C9
MOV C9_L,#0
MOV C9_H,#0
RET
Reset9: MOV C9_L,#0
MOV C9_H,#0
CExit9: CLR C9
End9: RET
/***************************************************************************************************/
/*对需要使用的定时器进行初始化。溢出标志位(逻辑位)DTn*/
Initi_Timer: /* MOV Kn_L, #Low ;Low=t/0.05%256
MOV Kn_H, #High ;High=t/0.05/256
n是使用的定时器编号(0-9)。t是定时的时间,最长定时时间为3276.75秒*/
//用户在此按照以上格式初始化定时器初值
RET
;=====================================================
/*对需要使用的计数器进行初始化。逻辑位Cn,复位标志位RSTn*/
Initi_Counter: /* MOV PVn_L, #Low ;Low=PV%256
MOV PVn_H, #High ;High=PV/256
n是使用的定时器编号(0-9)。PV是计数器初值,最大值为65535*/
//用户在此按照以上格式初始化计数器
RET
;=====================================================
/*先在此先定义辅助寄存器,26H,27H可用*/
Process:
/*用户根据梯形图在此填写程序*/
RET
/***************************************************************************************************/
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -