📄 gy1.lst
字号:
MPASM 03.90.01 Released GY1.ASM 12-18-2007 10:36:49 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;二、 工作模式:
00002 ;1、间隙工作,即:每5秒电路工作一次,发16mS红外线脉冲,同时对接收电路供电,
00003 ; 延时5mS等待接收电路工作稳定,询问接收到反射信号,如没有,返回延时5秒继续。
00004 ; 如有反射信号便改为1秒询问1次,连续5次收到反射信号便认为是有人在,
00005 ; 反之,认为是有人走过,有人在时,就开始询问反射信号没有了吗?
00006 ; 连续2次没有接收到反射信号,便认为此没人在用,开始冲水。
00007 ;2、感应后立即冲水,直到检测到人离去时,停止冲水,如果感应时间超过15秒,
00008 ; 启动长流水模式,长流水在启动3分钟后自动结束。
00009 ;3、 2秒钟预冲水,即每隔15分钟预冲水一次,15分钟内无人使用过,不冲水,
00010 ; 使能在使用人多时,不再每人使用前都预冲水,达到节水目地。
00011 ;4、感应距离5~80CM可调
00012 ;5、 以上工作模式可通过电路板跳线手动选择。
00013 ;pb,0接收;pb,1发射;pb,2输出
00014 ;
00015 ;
00016 ;
Warning[215]: Processor superseded by command line. Verify processor symbol.
00017 LIST P=12C508 ,F=INHX8M
00018 INCLUDE "P16C5X.INC"
00001 LIST
00002 ; P16C5X.INC Standard Header File, Version 4.00 Microchip Technology, Inc.
00324 LIST
00019 ;***********************
00000003 00020 PSW EQU 03H ;状态寄存器
00021 ;PA EQU 05H ;PA口
00000006 00022 PB EQU 06H ;PB口
00000004 00023 FSR EQU 04H
00000001 00024 RTCC EQU 01H ;定时计数器
00000009 00025 TEMP EQU 09H
0000000A 00026 COUNT1 EQU 0AH
0000000B 00027 COUNT2 EQU 0BH
0000000C 00028 COUNT3 EQU 0CH
0000000D 00029 COUNT4 EQU 0DH
0000000E 00030 COUNT5 EQU 0EH
0000000F 00031 KEY_DEL EQU 0FH
00000010 00032 DJ_DEL EQU 10H
00000011 00033 R0 EQU 11H
00000012 00034 R1 EQU 12H ;1S的发射间隔定时
00000013 00035 R2 EQU 13H ;发射次数计数器
00000014 00036 R3 EQU 14H
0000001F 00037 FLAG EQU 1FH
00038
00039 ;**********
0000 00040 ORG 0
0000 0A1B 00041 GOTO START ;开始
00042 ;***********************
00043 ; ORG 000H
0001 0004 00044 DISP CLRWDT
0002 02AA 00045 INCF COUNT1,1
0003 0C0F 00046 MOVLW 0FH ;15X16.32MS
0004 008A 00047 SUBWF COUNT1,0
0005 0703 00048 BTFSS PSW,0
0006 0A1A 00049 GOTO DISP_OUT
MPASM 03.90.01 Released GY1.ASM 12-18-2007 10:36:49 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0007 006A 00050 CLRF COUNT1
00051 ;****定时3S
0008 0212 00052 MOVFW R1
0009 0743 00053 SKPZ
000A 00F2 00054 DECF R1,1
00055 ;***
000B 00056 DISP_1
000B 02AB 00057 INCF COUNT2,1 ;1秒到
000C 0C3C 00058 MOVLW 3CH ;3C
000D 008B 00059 SUBWF COUNT2,0
000E 0703 00060 BTFSS PSW,0
000F 0A1A 00061 GOTO DISP_OUT
0010 006B 00062 CLRF COUNT2
0011 02AC 00063 INCF COUNT3,1 ;1分到
0012 0C3C 00064 MOVLW 3CH ;3C
0013 008C 00065 SUBWF COUNT3,0
0014 0703 00066 BTFSS PSW,0
0015 0A1A 00067 GOTO DISP_OUT
0016 006C 00068 CLRF COUNT3 ;60分钟到
0017 0000 00069 NOP
0018 02AD 00070 INCF COUNT4,1
0019 0000 00071 NOP
001A 00072 DISP_OUT
001A 0800 00073 RETLW 0
00074
00075 ;****************************
001B 00076 START
001B 0004 00077 CLRWDT
001C 0C08 00078 MOVLW 08H ;清F8-F1F的内容为0
001D 0024 00079 MOVWF 4 ;F8送F4=@R
001E 0060 00080 QL CLRF 0
001F 02A4 00081 INCF 4,1
0020 0004 00082 CLRWDT ;清WDT
0021 0204 00083 MOVFW 4 ;
0022 0E1F 00084 ANDLW 1FH
0023 0743 00085 SKPZ
0024 0A1E 00086 GOTO QL
0025 0064 00087 CLRF 4
00088 ;*********************
0026 0CE9 00089 MOVLW B'11101001' ;PB口为输出口
0027 0006 00090 TRIS PB
0028 0CF9 00091 MOVLW B'11111001'
0029 0026 00092 MOVWF PB
00093 ; MOVLW 0FFH
00094 ; TRIS PA ;定义PA口方向,为输键盘口
00095 ; MOVLW 0
00096 ; MOVWF PA
00097 ;**************************
002A 00098 MAIN
002A 0004 00099 CLRWDT
002B 0C01 00100 MOVLW 01H
002C 0021 00101 MOVWF 1
002D 0CC5 00102 MOVLW 0C5H
MPASM 03.90.01 Released GY1.ASM 12-18-2007 10:36:49 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
002E 0002 00103 OPTION ;64分频
002F 00104 DSK
002F 0004 00105 CLRWDT
0030 0701 00106 BTFSS 1,0
0031 0A2F 00107 GOTO DSK
0032 0000 00108 NOP
0033 0004 00109 WAIT CLRWDT
0034 0601 00110 BTFSC 1,0 ;
0035 0A33 00111 GOTO WAIT ;1/128秒检查
0036 0201 00112 MOVFW 1
0037 0743 00113 SKPZ ;结果全0跳下
0038 0A3A 00114 GOTO DZJC
0039 0A3D 00115 GOTO HSZCL ;整分处理16.32MS
00116 ;******************
003A 0004 00117 DZJC CLRWDT
003B 0940 00118 CALL KEYREM
003C 0A2F 00119 GOTO DSK
00120 ;*******************
003D 0004 00121 HSZCL CLRWDT
003E 0901 00122 CALL DISP
00123 ; CALL CL_OUT
003F 0A2A 00124 GOTO MAIN
00125 ;********************
00126 ;*******************发射接收子程序
0040 00127 KEYREM
0040 0212 00128 MOVFW R1 ;一秒定时是否到
0041 0743 00129 SKPZ
0042 0A7B 00130 GOTO KEYREM_OUT
0043 00131 KEYREM_1
0043 0C64 00132 MOVLW D'100'
0044 0032 00133 MOVWF R1 ;定时5MS,可以借R1用
00134 ;***开始发射40khz
0045 00135 KEYREM_2
0045 0526 00136 BSF PB,1
0046 0000 00137 NOP
0047 0000 00138 NOP
0048 0000 00139 NOP
0049 0000 00140 NOP
004A 0000 00141 NOP
004B 0000 00142 NOP
004C 0000 00143 NOP
00144 ; NOP
00145 ; NOP
00146 ; NOP
004D 0000 00147 NOP
004E 0000 00148 NOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -