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

📄 6351.lst

📁 具体功能及要求详述: 1、 金属检测2、木板检测:3、感应电压4、湿度测试:
💻 LST
📖 第 1 页 / 共 3 页
字号:
File: 6351.ASM      Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              ;此程序是为Ht46r47MUC设计
   2  0000              ;适用产品:1979AD 3in1
   3  0000              ;采用RC振荡 fsys=4M
   4  0000              ;PA3设置为PFD
   5  0000              ;版权为翔熙公司所有
   6  0000              ;编者:魏光文
   7  0000              ;声明:未经本公司许可不得擅自拷贝,否则公司有权追究其法律责任
   8  0000              ;公元贰仟零零叁年伍月
   9  0000              R0	EQU	 [00H]	
  10  0000              IAR	EQU	[00H]
  11  0000              MP0	EQU	[01H]	
  12  0000              MP	EQU	[01H]
  13  0000              ACC	EQU	[05H]
  14  0000              PCL	EQU	[06H]
  15  0000              TBLP	EQU	[07H]
  16  0000              TBLH	EQU	[08H]
  17  0000              STATUS	EQU	[0AH]
  18  0000              INTC	EQU	[0BH]
  19  0000              TMR	EQU	[0DH]
  20  0000              TMRC	EQU	[0EH]
  21  0000              PA	EQU	[012H]
  22  0000              PAC	EQU	[013H]
  23  0000              PB	EQU	[014H]
  24  0000              PBC	EQU	[015H]
  25  0000              PD	EQU	[018H]
  26  0000              PDC	EQU	[019H]
  27  0000              PWM	EQU	[01AH]
  28  0000              ADRL	EQU	[020H]
  29  0000              ADRH	EQU	[021H]
  30  0000              ADCR	EQU	[022H]
  31  0000              ACSR	EQU	[023H]
  32  0000              
  33  0000              C	EQU	[0AH].0
  34  0000              AC	EQU	[0AH].1
  35  0000              Z	EQU	[0AH].2
  36  0000              OV	EQU	[0AH].3
  37  0000              PDF	EQU	[0AH].4
  38  0000              TO	EQU	[0AH].5
  39  0000              EMI	EQU	[0BH].0
  40  0000              EEI	EQU	[0BH].1
  41  0000              ETI	EQU	[0BH].2
  42  0000              EADI	EQU	[0BH].3
  43  0000              EIF	EQU	[0BH].4
  44  0000              TF	EQU	[0BH].5
  45  0000              ADF	EQU	[0BH].6
  46  0000              TE	EQU	[0EH].3
  47  0000              TON	EQU	[0EH].4
  48  0000              PA0	EQU	[012H].0
  49  0000              PA1	EQU	[012H].1
  50  0000              PA2	EQU	[012H].2
  51  0000              PA3	EQU	[012H].3
  52  0000              BUZZER	EQU	[012H].3
  53  0000              PA4	EQU	[012H].4
  54  0000              PA5	EQU	[012H].5
  55  0000              PA6	EQU	[012H].6
  56  0000              PA7	EQU	[012H].7
  57  0000              PB0	EQU	[014H].0
  58  0000              PB1	EQU	[014H].1
  59  0000              PB2	EQU	[014H].2
File: 6351.ASM      Holtek Cross-Assembler  Version 2.86      Page 2

  60  0000              PB3	EQU	[014H].3
  61  0000              PB4	EQU	[014H].4
  62  0000              PB5	EQU	[014H].5
  63  0000              PB6	EQU	[014H].6
  64  0000              PB7	EQU	[014H].7
  65  0000              PD0	EQU	[018H].0
  66  0000              LV_LED	EQU	[014H].3;电池电压低指示灯
  67  0000              VOLT_LED	EQU	[012H].2
  68  0000              METAL_LED	EQU	[012H].1
  69  0000              WOOD_LED	EQU	[012H].0
  70  0000              ADMAX_LED	EQU	[012H].4
  71  0000              EOC	EQU	[022H].6
  72  0000              START	EQU	[022H].7
  73  0000              TEST	EQU	[023H].7
  74  0000              TIMER	EQU	[040H]
  75  0000              AD_LOW	EQU	[041H]
  76  0000              AD_HIGH	EQU	[042H]
  77  0000              AD_COUNT	EQU	[043H]
  78  0000              LVOLT_VALE	EQU	[044H];电池电压低门坎值
  79  0000              AD_MAX	EQU	[045H]
  80  0000              AD_MIN	EQU	[046H]
  81  0000              FLAG1		EQU	[047H]
  82  0000              VOLT_F		EQU	[047H].0
  83  0000              METAL_F		EQU	[047H].1
  84  0000              WOOD_F		EQU	[047H].2
  85  0000              LOW_V_F		EQU	[047H].3
  86  0000              AD_FST_F	EQU	[047H].4
  87  0000              V_RISE_F	EQU	[047H].5
  88  0000              V_DOWN_F	EQU	[047H].6
  89  0000              BUZZ_S_F	EQU	[047H].7
  90  0000              FLAG2		EQU	[048H]
  91  0000              LED_ON_F	EQU	[048H].0
  92  0000              BUZ_ON_F	EQU	[048H].1
  93  0000              BUZZ_OFF	EQU	[048H].3
  94  0000              WOOD_ON_F		EQU	[048H].2
  95  0000              MAX_FST_F	EQU	[048H].4
  96  0000              VOLTMAX_F	EQU	[048H].5
  97  0000              AD_MIN_F	EQU	[048H].6
  98  0000              VAC_LVALE	EQU	[049H];交流电压最低值
  99  0000              TIMER1		EQU	[04AH]
 100  0000              METAL_VALE	EQU	[04BH]
 101  0000              AD_PRE		EQU	[04CH]
 102  0000              AD_SUB		EQU	[04EH]
 103  0000              ACC_BUF		EQU	[04FH]
 104  0000              STATUS_BUF	EQU	[050H]
 105  0000              BUZZ_R1		EQU	[051H]
 106  0000              BUZZ_R2 	EQU	[052H]
 107  0000              WOOD_VALE	EQU	[054H]
 108  0000              TEMP		EQU	[055H]
 109  0000              TIMER2		EQU	[056H]
 110  0000              AD_PJ		EQU	[057H]
 111  0000              AD_MAX_V	EQU	[058H]
 112  0000              WOOD_COUNT	EQU	[059H]
 113  0000              WOOD_NUM	EQU	[05AH]
 114  0000              WOOD_CZ		EQU	[05BH]
 115  0000              WOOD_ZZ		EQU	[05CH]
 116  0000              AD_MAX_PRE	EQU	[05DH]
 117  0000              DLY_R1		EQU	[05EH]
 118  0000              LASTPAGE	EQU	0700H
 119  0000              CODE .SECTION 'CODE'
File: 6351.ASM      Holtek Cross-Assembler  Version 2.86      Page 3

 120  0000              	ORG	00H
 121  0000  2800     R  	JMP	MAIN
 122  0001              	ORG	04H
 123  0004  2800     R  	JMP	EXT_INT
 124  0005              	ORG	08H
 125  0008  2800     R  	JMP	TIMER_INT
 126  0009              	ORG	0CH
 127  000C  2800     R  	JMP	AD_INT
 128  000D              EXT_INT:
 129  000D  0004        	RETI
 130  000E              
 131  000E              	
 132  000E              TIMER_INT:
 133  000E  00CF        	MOV	ACC_BUF,A
 134  000F  110A        	SWAPA	STATUS
 135  0010  00D0        	MOV	STATUS_BUF,A
 136  0011  14C0        	INC	TIMER
 137  0012  16CA        	SIZ	TIMER1
 138  0013  2800     R  	JMP	TIMERINT1
 139  0014  14D6        	INC	TIMER2
 140  0015              TIMERINT1:
 141  0015  1150        	SWAPA	STATUS_BUF
 142  0016  008A        	MOV	STATUS,A
 143  0017  11CF        	SWAP	ACC_BUF
 144  0018  114F        	SWAPA	ACC_BUF
 145  0019  0004        	RETI
 146  001A              AD_INT:
 147  001A  0004        	RETI
 148  001B              MAIN:	
 149  001B  0F40        	MOV	A,40H;清40H~7FH RAM
 150  001C  0081        	MOV	MP,A
 151  001D              CLRROM:
 152  001D  1F00        	CLR	R0
 153  001E  1481        	INC	MP
 154  001F  3F01        	SZ	MP.6
 155  0020  2800     R  	JMP	CLRROM
 156  0021  0FFF        	MOV	A,0FFH;电池电压低的初值标准。
 157  0022  00C4        	MOV	LVOLT_VALE,A
 158  0023  0FFF        	MOV	A,0FFH
 159  0024  00C5        	MOV	AD_MAX,A;初设AD的最大值
 160  0025              ;	MOV	A,80H
 161  0025  00D8        	MOV	AD_MAX_V,A
 162  0026  0F10        	MOV	A,10H
 163  0027  00C6        	MOV	AD_MIN,A;初设AD的最小值
 164  0028  0F02        	MOV	A,02H
 165  0029  00C9        	MOV	VAC_LVALE,A;交流电压最低值
 166  002A  0F01        	MOV	A,01H
 167  002B  0098        	MOV	PD,A
 168  002C  0F00        	MOV	A,00H
 169  002D  0099        	MOV	PDC,A;PD0设成输出口
 170  002E  0FE3        	MOV	A,11100011B
 171  002F  0092        	MOV	PA,A
 172  0030  0FE0        	MOV	A,11100000B
 173  0031  0093        	MOV	PAC,A
 174  0032  0FF7        	MOV	A,11110111B
 175  0033  0095        	MOV	PBC,A
 176  0034  0F01        	MOV	A,01H
 177  0035  00A3        	MOV	ACSR,A;A/D的时钟源为fsys/8
 178  0036  0F02        	MOV	A,00011010;选择AN2
 179  0037  00A2        	MOV	ADCR,A
File: 6351.ASM      Holtek Cross-Assembler  Version 2.86      Page 4

 180  0038  37A2        	CLR	START
 181  0039  0F81        	MOV	A,81H
 182  003A  008E        	MOV	TMRC,A;定时器设置为内部时钟源fint=fsys/8
 183  003B  008D        	MOV	TMR,A;PFD将产生4K的方波
 184  003C  1F0D        	CLR	TMR
 185  003D  368B        	CLR	TF
 186  003E  310B        	SET	ETI
 187  003F  300B        	SET	EMI
 188  0040  320E        	SET	TON
 189  0041  0FFF        	MOV	A,11111111B
 190  0042  0094        	MOV	PB,A
 191  0043              ;	MOV	PBC,A
 192  0043              PRE_WAIT:;开机等待电源电压稳定
 193  0043  0001        	CLR	WDT
 194  0044  3856        	SNZ	TIMER2.0
 195  0045  2800     R  	JMP	PRE_WAIT
 196  0046  0F0F        	MOV	A,0FH
 197  0047  0094        	MOV	PB,A
 198  0048  0F07        	MOV	A,07H
 199  0049  0095        	MOV	PBC,A
 200  004A  1F40        	CLR	TIMER
 201  004B              LOW_VOLT:;检测电池电压是否没电
 202  004B  3194        	SET	LV_LED
 203  004C  31C7        	SET	LOW_V_F
 204  004D  3748        	CLR	AD_MIN_F
 205  004E  2000     R  	CALL	AD_CONVERT
 206  004F  0741        	MOV	A,AD_LOW
 207  0050  0244        	SUB	A,LVOLT_VALE
 208  0051  380A        	SNZ	C
 209  0052  3594        	CLR	LV_LED
 210  0053              ;	set	buzzer
 211  0053              ;	clr	LV_LED
 212  0053  0000        LOOP:nop
 213  0054              ;	jmp	loop
 214  0054  3B92        	SNZ	PA7
 215  0055  2800     R  	JMP	VOLT_MEASURE1
 216  0056  3B12        	SNZ	PA6
 217  0057  2800     R  	JMP	METAL_MEASURE
 218  0058  3A92        	SNZ	PA5
 219  0059  2800     R  	JMP	WOOD_MEASURE
 220  005A  3B92        	SNZ	PA7
 221  005B  2800     R  	JMP	VOLT_MEASURE
 222  005C              ;	SZ	PA6
 223  005C              ;	JMP	METAL_MEASURE
 224  005C  2800     R  	JMP	LOOP
 225  005D              VOLT_MEASURE1:
 226  005D  3612        	CLR	ADMAX_LED;;;
 227  005E  3112        	SET	VOLT_LED;;;
 228  005F  1F4A        	CLR	TIMER1
 229  0060  1F56        	CLR	TIMER2
 230  0061              M_VOLT1:
 231  0061  0001        	CLR	WDT
 232  0062  3A56        	SNZ	TIMER2.4
 233  0063  2800     R  	JMP	M_VOLT1;电压测量前等侍信号稳定
 234  0064  3512        	CLR	VOLT_LED;;;
 235  0065              VOLT_MEASURE:
 236  0065  0001        	CLR	WDT
 237  0066  3047        	SET	VOLT_F
 238  0067  3248        	SET	MAX_FST_F
 239  0068  3647        	CLR	AD_FST_F
File: 6351.ASM      Holtek Cross-Assembler  Version 2.86      Page 5

 240  0069  36C7        	CLR	V_RISE_F
 241  006A  3747        	CLR	V_DOWN_F
 242  006B  1F40        	CLR	TIMER
 243  006C  3748        	CLR	AD_MIN_F
 244  006D  2000     R  	CALL	AD_CONVERT;第一次测量电压
 245  006E  0741        	MOV	A,AD_LOW
 246  006F  00C6        	MOV	AD_MIN,A
 247  0070  00CC        	MOV	AD_PRE,A
 248  0071  0249        	SUB	A,VAC_LVALE
 249  0072  380A        	SNZ	C
 250  0073  2800     R  	JMP	VOLT_MEASURE;VAC_SAFY
 251  0074  3612        	CLR	ADMAX_LED
 252  0075  3112        	SET	VOLT_LED
 253  0076  2800     R  	JMP	VAC_SAFY
 254  0077              VAC_SAFY1:
 255  0077  0741        	MOV	A,AD_LOW
 256  0078  00CC        	MOV	AD_PRE,A
 257  0079              VAC_SAFY:
 258  0079  3047        	SET	VOLT_F
 259  007A  3748        	CLR	AD_MIN_F
 260  007B  2000     R  	CALL	AD_CONVERT
 261  007C  14D7        	INC	AD_PJ
 262  007D  0741        	MOV	A,AD_LOW
 263  007E  024C        	SUB	A,AD_PRE
 264  007F  3C0A        	SZ	C
 265  0080  2800     R  	JMP	VOLT_UP
 266  0081  074C        	MOV	A,AD_PRE
 267  0082  0241        	SUB	A,AD_LOW
 268  0083  0257        	SUB	A,AD_PJ
 269  0084  380A        	SNZ	C
 270  0085  2800     R  	JMP	VAC_SAFY
 271  0086  3347        	SET	V_DOWN_F
 272  0087  3AC7        	SNZ	V_RISE_F
 273  0088  2800     R  	JMP	VACDON
 274  0089  36C7        	CLR	V_RISE_F
 275  008A  074C        	MOV	A,AD_PRE
 276  008B  00C5        	MOV	AD_MAX,A
 277  008C  3648        	CLR	MAX_FST_F
 278  008D              VACDON:	
 279  008D  0741        	MOV	A,AD_LOW;电压值在下降
 280  008E  00CC        	MOV	AD_PRE,A
 281  008F  0246        	SUB	A,AD_MIN
 282  0090  3C0A        	SZ	C
 283  0091  2800     R  	JMP	VACDOO
 284  0092  0741        	MOV	A,AD_LOW
 285  0093  00C6        	MOV	AD_MIN,A
 286  0094              VACDOO:
 287  0094  0741        	MOV	A,AD_LOW
 288  0095  0249        	SUB	A,VAC_LVALE
 289  0096  3C0A        	SZ	C
 290  0097  2800     R  	JMP	VAC_SAFY
 291  0098  3612        	CLR	ADMAX_LED
 292  0099  3512        	CLR	VOLT_LED
 293  009A  2800     R  	JMP	VAC_SAFY
 294  009B              VOLT_UP:
 295  009B  0257        	SUB	A,AD_PJ;电压AD值上升值大于2就认为是上升
 296  009C  380A        	SNZ	C
 297  009D  2800     R  	JMP	VAC_SAFY
 298  009E  32C7        	SET	V_RISE_F
 299  009F  3B47        	SNZ	V_DOWN_F
File: 6351.ASM      Holtek Cross-Assembler  Version 2.86      Page 6

⌨️ 快捷键说明

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