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

📄 cm-941.lst

📁 本程序是测试脂肪的程序,利用他可以测试一个人的身上有多少脂肪,但是精度不是很高的
💻 LST
📖 第 1 页 / 共 5 页
字号:
  333 00333 009C 3A2B  		ANDI	OptionR,		 2
  334 00334 009D A0A4  		JNZ		ShiftRight
0335   
  336 00336 009E 6C70  		LDA		Pendulum1
  337 00337 009F 98A6  		JB3		ShiftRight1
00338              ShiftLeft:
  339 00339 00A0 3BDB  		ANDI*	OptionR,	1101B
  340 00340 00A1 5270  		SL0		Pendulum1
  341 00341 00A2 5271  		SL0		Pendulum2
  342 00342 00A3 D0A9  		JMP		Exit_PDRint
00343              ShiftRight:
  344 00344 00A4 6C70  		LDA		Pendulum1
  345 00345 00A5 80A0  		JB0		ShiftLeft
00346              ShiftRight1:
  347 00347 00A6 3F2B  		ORI*	OptionR,	2
  348 00348 00A7 5070  		SR0		Pendulum1
  349 00349 00A8 5071  		SR0		Pendulum2
00350              Exit_PDRint:
00351              ;;;;;;;;;;;;;;;;;;;;
  352 00352 00A9 E240  		TMSX 	001000000B 			 	;8/32.768ms
  353 00353 00AA 6C09  		LDA		P_SaveA
  354 00354 00AB 6D0A  		MRA		P_SaveFlgC_Z
  355 00355 00AC F400  		RTS
00356              ;--------------------------------
00357              Start:
  358 00358 00AD 0000  		NOP
  359 00359 00AE 0000  		NOP
  360 00360 00AF F797  		RF		10010111B
0361   
  362 00362 00B0 FC80  		ALM		80H						;Enable alarm
  363 00363 00B1 E802  		SHE		02H
  364 00364 00B2 EA02  		PLC		02H
  365 00365 00B3 E203  		TMSX	000000011B           	;(000)512  4*512/32.768 =62.5ms
  366 00366 00B4 FF00  		HALT
  367 00367 00B5 FC00  		ALM     0H
0368   
  369 00369 00B6 5FF2  		LDS		Dummy,	0FH				;All icon  display
  370 00370 00B7 0602  		LCP		0,		Dummy
  371 00371 00B8 060A  		LCP		1,		Dummy
  372 00372 00B9 0612  		LCP		2,		Dummy
  373 00373 00BA 061A  		LCP		3,		Dummy
  374 00374 00BB 0622  		LCP		4,		Dummy
  375 00375 00BC 062A  		LCP		5,		Dummy
  376 00376 00BD 0632  		LCP		6,		Dummy
  377 00377 00BE 063A  		LCP		7,		Dummy
  378 00378 00BF 0642  		LCP		8,		Dummy
  379 00379 00C0 064A  		LCP		9,		Dummy
  380 00380 00C1 0652  		LCP		0AH,	Dummy
0381   
00382              										;Initialize RAM
  383 00383 00C2 5801  		LDS		TempR1,		0
  384 00384 00C3 5C02  		LDS		TempR2,		8
  385 00385 00C4 1E01  		MVU		TempR1
00386              Clear_Ram:
  387 00387 00C5 5800  		LDS		TempR0,		0
  388 00388 00C6 1D02  		MVH		TempR2
  389 00389 00C7 1C01  		MVL		TempR1
  390 00390 00C8 6880  		STA		@HL
  391 00391 00C9 4101  		DEC*	TempR1
  392 00392 00CA B8C5  		JC		Clear_Ram
  393 00393 00CB 4102  		DEC*	TempR2
  394 00394 00CC B8C5  		JC		Clear_Ram
00395              									    ;Set  the porta all output
  396 00396 00CD 5972  		LDS		Dummy,	   2
  397 00397 00CE 0A72  		OPA		Dummy
  398 00398 00CF F597  		SPA		10111B
  399 00399 00D0 5872  		LDS		Dummy,	  0
  400 00400 00D1 0C72  		OPB		Dummy
  401 00401 00D2 F5AF  		SPB		01111B
0402   
  403 00403 00D3 58A5  		LDS    	Hr_H,		1
  404 00404 00D4 5924  		LDS		Hr_L,		2
  405 00405 00D5 58AD  		LDS		AlmHr_H,	1
  406 00406 00D6 592C  		LDS		AlmHr_L,	2
  407 00407 00D7 5A76  		LDS		FatModeFlg,	4			;Fat parameter is default paremeter
  408 00408 00D8 5991  		LDS		Age2,		3
  409 00409 00D9 5895  		LDS		Height4,	1
  410 00410 00DA 5B94  		LDS		Height3,	7
  411 00411 00DB 5B18  		LDS		Weight3,	6
  412 00412 00DC 5A97  		LDS		Weight2,	5
  413 00413 00DD 5970  		LDS		Pendulum1,	0010B
  414 00414 00DE 5971  		LDS		Pendulum2,	0010B
  415 00415 00DF EA02  		PLC		02H
  416 00416 00E0 E281  		TMSX	010000001B              ;010(32768)  2*32768/32.768=2S
  417 00417 00E1 FF00  		HALT
  418 00418 00E2 EA18  		PLC		18H
  419 00419 00E3 E908  		SIE*	08H
00420              		;SCC		01011100B				;x6 = 1 (bclk) ,x4 = 1(ioc),x3 = 1(iod),x2,1,0 = (100)ph6 2MS
00421              ;==========================
00422              Main:
  423 00423 00E4 C0F2  		CALL	Clock
  424 00424 00E5 C135  		CALL	Timer
  425 00425 00E6 C152  		CALL	KeyProcess
  426 00426 00E7 C4DC  		CALL	DisplayProcess
  427 00427 00E8 C6D4  		CALL	MeasureFat
0428   
  429 00429 00E9 6C77  		LDA		M_FatFlg
  430 00430 00EA A0E4  		JNZ		Main
0431   
  432 00432 00EB F518  		SCA		18H
  433 00433 00EC EA03  		PLC		3
  434 00434 00ED FF00  		HALT
  435 00435 00EE 0000  		NOP
  436 00436 00EF 0000  		NOP
0437   
  438 00438 00F0 EE00  		FAST
  439 00439 00F1 D0E4  		JMP		Main
00440              ;============================
0441   
00442              ;--------------------
00443              ;Adjust the clock
00444              ;---------------------
  445 00445 00F2 5900  Clock:	LDS		TempR0,		2
  446 00446 00F3 260B  		SUB		R_2Hz
  447 00447 00F4 A134  		JNZ		Exit_Clock
  448 00448 00F5 580B  		LDS		R_2Hz,		0
00449              ;;;;;;;Count 60S of  Alm  at mainmode 0
  450 00450 00F6 6C74  		LDA		MainMode
  451 00451 00F7 A0FE  		JNZ	    Count16s
  452 00452 00F8 6C63  		LDA		Buzz60sCnt1
  453 00453 00F9 2E64  		OR		Buzz60sCnt2
  454 00454 00FA B0FE  		JZ		Count16s
  455 00455 00FB 4163  		DEC*	Buzz60sCnt1
  456 00456 00FC B8FE  		JC		Count16s
  457 00457 00FD 4164  		DEC*	Buzz60sCnt2
00458              ;;;;;;Count 16S of Buzz  at timer stop running
00459              Count16s:
  460 00460 00FE 6C61  		LDA		Buzz16sCnt1
  461 00461 00FF 2E62  		OR		Buzz16sCnt2
  462 00462 0100 B104  		JZ		ReturnNormal
  463 00463 0101 4161  		DEC*	Buzz16sCnt1
  464 00464 0102 B904  		JC		ReturnNormal
  465 00465 0103 4162  		DEC*	Buzz16sCnt2
00466              ;;;;;;;;;if no key pressed after 60s & not at mainmode0,sys. return mainmode0 automatically
00467              ReturnNormal:
  468 00468 0104 6C74  		LDA		MainMode
  469 00469 0105 B10F  		JZ		CLKSec_L
  470 00470 0106 3634  		SUBI	MainMode,	3
  471 00471 0107 A10A  		JNZ		$+3
  472 00472 0108 3625  		SUBI	Mode1,		2
  473 00473 0109 B10F  		JZ		CLKSec_L
0474   
  475 00475 010A 4165  		DEC*	KeyS1
  476 00476 010B B90F  		JC		CLKSec_L
  477 00477 010C 4166  		DEC*	KeyS2
  478 00478 010D B90F  		JC		CLKSec_L
  479 00479 010E 5874  		LDS		MainMode,	0
00480              CLKSec_L:
00481              ;(20H)
  482 00482 010F 5902  		LDS		TempR2,		2
  483 00483 0110 5801  		LDS		TempR1,	    0
  484 00484 0111 1E01  		MVU		TempR1
  485 00485 0112 1D02  		MVH		TempR2
  486 00486 0113 1C01  		MVL		TempR1
  487 00487 0114 C800  		CALL	AddSecMin
0488   
  489 00489 0115 6C20  		LDA		Sec_L
  490 00490 0116 2E21  		OR		Sec_H
  491 00491 0117 A134  		JNZ		Exit_Clock
  492 00492 0118 5901  		LDS		TempR1,		2
  493 00493 0119 1C01  		MVL		TempR1
  494 00494 011A C800  		CALL	AddSecMin
0495   
  496 00496 011B 6C22  		LDA		Min_L
  497 00497 011C 2E23  		OR		Min_H
  498 00498 011D A121  		JNZ		CheckAlarm
0499   
  500 00500 011E 5A01  		LDS		TempR1,		4
  501 00501 011F 1C01  		MVL		TempR1
  502 00502 0120 C80C  		CALL	AddHour
00503              CheckAlarm:
  504 00504 0121 3A1C  		ANDI 	AlmFlg,		1
  505 00505 0122 B134  		JZ		Exit_Clock
0506   
  507 00507 0123 6C2D  		LDA 	AlmHr_H
  508 00508 0124 2C25  		EOR 	Hr_H
  509 00509 0125 A134  		JNZ	   	Exit_Clock
  510 00510 0126 6C2C    		LDA 	AlmHr_L
  511 00511 0127 2C24  		EOR 	Hr_L
  512 00512 0128 A134  		JNZ	   	Exit_Clock
  513 00513 0129 6C2B    		LDA 	AlmMin_H
  514 00514 012A 2C23  		EOR 	Min_H
  515 00515 012B A134  		JNZ	    Exit_Clock
  516 00516 012C 6C2A    		LDA 	AlmMin_L
  517 00517 012D 2C22  		EOR 	Min_L
  518 00518 012E A134  		JNZ	   	Exit_Clock
0519   
0520   
  521 00521 012F 3F2C  		ORI*	AlmFlg,		2
  522 00522 0130 5860  		LDS 	BuzzCount,	0
  523 00523 0131 5E63  		LDS		Buzz60sCnt1,0CH
  524 00524 0132 59E4  		LDS		Buzz60sCnt2,3
  525 00525 0133 D4CC  		JMP 	ActiveTMR2
00526              Exit_Clock:
  527 00527 0134 F400  		RTS
00528              ;------------------------
00529              Timer:
  530 00530 0135 3A4B  		ANDI	OptionR,	4
  531 00531 0136 B151  		JZ		Exit_Timer
0532   
  533 00533 0137 5900  		LDS		TempR0,		2
  534 00534 0138 260C  		SUB		T_2Hz
  535 00535 0139 A151  		JNZ		Exit_Timer
  536 00536 013A 580C  		LDS		T_2Hz,		0
0537   
  538 00538 013B 411A  		DEC*	SData1
  539 00539 013C 571A  		DAS*	SData1
  540 00540 013D B951  		JC		Exit_Timer
  541 00541 013E 411B  		DEC*	SData2
  542 00542 013F B951  		JC		Exit_Timer
  543 00543 0140 5A9B  		LDS		SData2,		5
  544 00544 0141 411C  		DEC*	SData3
  545 00545 0142 571C  		DAS*	SData3
  546 00546 0143 B951  		JC		Exit_Timer
  547 00547 0144 411D  		DEC*	SData4
  548 00548 0145 571D  		DAS*	SData4
  549 00549 0146 B951  		JC		Exit_Timer
0550   
  551 00551 0147 581A  		LDS		SData1,		0
  552 00552 0148 581B  		LDS		SData2,		0
  553 00553 0149 581C  		LDS		SData3,		0
  554 00554 014A 581D  		LDS		SData4,		0
  555 00555 014B 3F4C  		ORI*	AlmFlg,		4
  556 00556 014C 5860  		LDS 	BuzzCount,	0
  557 00557 014D 5861  		LDS		Buzz16sCnt1,0
  558 00558 014E 58E2  		LDS		Buzz16sCnt2,1
  559 00559 014F 3BBB  		ANDI*	OptionR,	1011B
  560 00560 0150 D4CC  		JMP 	ActiveTMR2
00561              Exit_Timer:
  562 00562 0151 F400  		RTS
00563              ;===========================
00564              KeyProcess:
  565 00565 0152 5A00  		LDS		TempR0,		4
  566 00566 0153 265A  		SUB		MaxM_FatTm
  567 00567 0154 B4C6  		JZ		NoKey
00568              KeyProcess1:
  569 00569 0155 586C  		LDS		Count1,	0b
  570 00570 0156 58ED  		LDS		Count2,	1             ;Read portC & portD in 50 times
  571 00571 0157 7C01  		MWR		TempR1,	KeyValue1
  572 00572 0158 7C82  		MWR		TempR2,	KeyValue2
00573              KeyScan:
  574 00574 0159 4778  		IPC  	KeyValue1
  575 00575 015A 2C01  		EOR		TempR1
  576 00576 015B A155  		JNZ		KeyProcess1
  577 00577 015C 4879  		IPD		KeyValue2
  578 00578 015D 2C02  		EOR		TempR2
  579 00579 015E A155  		JNZ		KeyProcess1
0580   
  581 00581 015F 416C  		DEC*	Count1
  582 00582 0160 B959  		JC		KeyScan
  583 00583 0161 416D  		DEC*	Count2
  584 00584 0162 B959  		JC		KeyScan
0585   
  586 00586 0163 6C78  		LDA		KeyValue1
  587 00587 0164 2E79  		OR		KeyValue2
  588 00588 0165 B4C6  		JZ		NoKey		    		;HaveKey?
00589              ;HaveKey
0590   
  591 00591 0166 5E65  		LDS		KeyS1,		0CH
  592 00592 0167 59E6  		LDS		KeyS2,		3			;if not MainMode0 & keypressed,return MainMode0  after 60s
0593   
  594 00594 0168 3668  		SUBI	KeyValue1,	6
  595 00595 0169 B424  		JZ		A_T_Key					;enter set unit Mode
  596 00596 016A 36C8  		SUBI	KeyValue1,	0CH
  597 00597 016B B42F  		JZ		T_F_Key		    		;Set Fat Parameter to defalt parameter
0598   
  599 00599 016C 3A1A  		ANDI	KeyDoneFlg,	1
  600 00600 016D A464  		JNZ		LongKeyProcess
00601              ;ShortKeyProcess
0602   
  603 00603 016E 58FA  		LDS		KeyDoneFlg,	1
  604 00604 016F 5A67  		LDS		KeyS,		4			;Long Key Count
0605   
  606 00606 0170 6C78  		LDA		KeyValue1
  607 00607 0171 A174  		JNZ		$+3
  608 00608 0172 3A19  		ANDI	KeyValue2,	1
  609 00609 0173 A44C  		JNZ		S_Key
0610   
  611 00611 0174 6C74  		LDA		MainMode
  612 00612 0175 A178  		JNZ		$+3
  613 00613 0176 5863  		LDS		Buzz60sCnt1,	0
  614 00614 0177 5864  		LDS		Buzz60sCnt2,	0
0615   
0616   
  617 00617 0178 3618  		SUBI	KeyValue1,	1
  618 00618 0179 B181  		JZ		C_Key
  619 00619 017A 3628  		SUBI	KeyValue1,	2
  620 00620 017B B1AB  		JZ		A_Key
  621 00621 017C 3648  		SUBI	KeyValue1,	4
  622 00622 017D B285  		JZ		T_Key
  623 00623 017E 3688  		SUBI	KeyValue1,	8
  624 00624 017F B344  		JZ		F_Key
0625   
  626 00626 0180 F400  		RTS
00627              ;;;;;
00628              C_Key:
  629 00629 0181 6C74  		LDA		MainMode
  630 00630 0182 B1A9  		JZ		Clock_C_Key
  631 00631 0183 3614  		SUBI	MainMode,	1
  632 00632 0184 B19F  		JZ		SetClK_C_Key
  633 00633 0185 3624  		SUBI	MainMode,	2
  634 00634 0186 B195  		JZ		Alm_C_Key
  635 00635 0187 3634  		SUBI	MainMode,	3
  636 00636 0188 B190  		JZ		Tmr_C_Key
00637              ;---
00638              ;Fat_C_Key
  639 00639 0189 3BBB  		ANDI*	OptionR,	1011B
  640 00640 018A 5877  		LDS		M_FatFlg,	0
  641 00641 018B 5849  		LDS		R_Error,	0
  642 00642 018C 597D  		LDS		PortA,		2
  643 00643 018D 0A7D  		OPA		PortA
  644 00644 018E F704  		RF		4
  645 00645 018F D192  		JMP		$+3
00646              Tmr_C_Key:
  647 00647 0190 5861  		LDS		Buzz16sCnt1,0
  648 00648 0191 5862  		LDS		Buzz16sCnt2,0
  649 00649 0192 5874  		LDS		MainMode,	0
  650 00650 0193 3BBB  		ANDI*	OptionR,	1011B
  651 00651 0194 D4CA  		JMP		SetKeySound
00652              Alm_C_Key:
  653 00653 0195 5874  		LDS		MainMode,	0
  654 00654 0196 6C1A  		LDA		SData1
  655 00655 0197 682A  		STA		AlmMin_L
  656 00656 0198 6C1B  		LDA		SData2
  657 00657 0199 682B  		STA		AlmMin_H
  658 00658 019A 6C1C  		LDA		SData3
  659 00659 019B 682C  		STA		AlmHr_L
  660 00660 019C 6C1D  		LDA		SData4
  661 00661 019D 682D  		STA		AlmHr_H
  662 00662 019E D4CA  		JMP		SetKeySound
00663              SetClK_C_Key:
  664 00664 019F 5874  		LDS		MainMode,	0

⌨️ 快捷键说明

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