单片机 程序什么意思

来源:百度知道 编辑:UC知道 时间:2024/05/28 01:52:24
//12MHz

;************** 端口定义 *****************************
KEY_OPEN BIT P3.0
KEY_XIANWEI BIT P3.1
;***************************************************
;*************** 主函数 ****************************
ORG 0000H
SJMP MAIN
ORG 0040H
MAIN: JB KEY_OPEN,$
ACALL DELAY20MS
JB KEY_OPEN,MAIN
JNB KEY_OPEN,$
ACALL ZHENG_ZHUAN
M1: JB KEY_XIANWEI, $
ACALL DELAY20MS
JB KEY_XIANWEI, M1
ACALL STOP
M2: JNB KEY_XIANWEI,$
ACALL DELAY20MS
JNB KEY_XIANWEI,M2
ACALL FAN_ZHUAN
M3: JB KEY_XIANWEI,$
ACALL DELAY20MS
JB KEY_XIANWEI, M3
ACALL STOP
SJMP MAIN
;*************************************************************
;**************** 延时子程序 *********************************
DELAY20MS:

晶振频率是12M
;************** 端口定义 *****************************
KEY_OPEN BIT P3.0 \\定义P3.0名为KEY_OPEN。个人感觉应该是启动键,没原理图猜的。
KEY_XIANWEI BIT P3.1
;***************************************************
;*************** 主函数 ****************************
ORG 0000H
SJMP MAIN
ORG 0040H
MAIN: JB KEY_OPEN,$ \\循环等待
ACALL DELAY20MS \\调用20毫秒的子程序,目的延时
JB KEY_OPEN,MAIN \\KEY_OPEN为1则转移到MAIN
JNB KEY_OPEN,$ \\当KEY_OPEN为0时,进行下一步操作,也就是电动机正转。
ACALL ZHENG_ZHUAN \\电动机正转子程序
M1: JB KEY_XIANWEI, $ \\以下的 同理
ACALL DELAY20MS
JB KEY_XIANWEI, M1
ACALL STOP
M2: JNB KEY_XIANWEI,$
ACALL DELAY20MS
JNB KEY_XIANWEI,M2 \\KEY_XIANWEI为零时转移到M2
ACALL FAN_ZHUAN \\电动机反转子程序
M3: JB KEY_XIANWEI,$
ACALL DELAY20MS
JB KEY_XIANWEI, M3
ACALL STOP
SJMP MAIN
;********************************************************