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

📄 cm-941.lst

📁 本程序是测试脂肪的程序,利用他可以测试一个人的身上有多少脂肪,但是精度不是很高的
💻 LST
📖 第 1 页 / 共 5 页
字号:
00001              .chip TM8726
00002              .data
00003              ;00H
    4 0000        TempR0		EQU		00H
    5 0001        TempR1		EQU		01H
    6 0002        TempR2		EQU		02H
    7 0003        TempR3		EQU		03H
    8 0004        TempR4		EQU		04H
    9 0005        TempR5		EQU		05H
   10 0006        TempR6		EQU		06H				;temporary registers
0011   
   12 0007        T_SaveA		EQU		07H
   13 0008        T_SaveFlgC_Z	EQU	08H				;used for tmr2 int
0014   
   15 0009        P_SaveA		EQU		09H				;used for pre_divider int
   16 000A        P_SaveFlgC_Z	EQU	0AH
   17 000B        R_2Hz		EQU		0BH
   18 000C        T_2Hz		EQU		0CH
0019   
   20 000D        s1			EQU		0DH
   21 000E        s2			EQU		0EH
   22 000F        s3			EQU		0FH
00023              ;-----------------------
   24 0010        Age1		EQU		10H				;parameters of measure fat
   25 0011        Age2		EQU		11H
   26 0012        Height1		EQU		12H
   27 0013        Height2		EQU		13H
   28 0014        Height3		EQU		14H
   29 0015        Height4		EQU		15H
0030   
   31 0016        Weight1		EQU		16H
   32 0017        Weight2		EQU		17H
   33 0018        Weight3		EQU		18H
   34 0019        Weight4		EQU		19H
0035   
   36 001A        SData1		EQU		1AH
   37 001B        SData2		EQU		1BH
   38 001C        SData3		EQU		1CH
   39 001D        SData4		EQU		1DH
   40 001E        SData5		EQU		1EH
0041   
   42 001F        FatTest4_1	EQU		1FH
00043              ;-----------------------
   44 0020        Sec_L		EQU		20H				;clock
   45 0021        Sec_H		EQU		21H
   46 0022        Min_L		EQU		22H
   47 0023        Min_H		EQU		23H
   48 0024        Hr_L		EQU		24H
   49 0025        Hr_H		EQU		25H
0050   
   51 0026        TSec_L		EQU		26H				;timer
   52 0027        TSec_H		EQU		27H
   53 0028        TMin_L		EQU		28H
   54 0029        TMin_H		EQU		29H
0055   
   56 002A        AlmMin_L	EQU		2AH				;alarm
   57 002B        AlmMin_H	EQU		2BH
   58 002C        AlmHr_L		EQU		2CH
   59 002D        AlmHr_H		EQU		2DH
   60 002E        FatTest4	EQU		2EH
   61 002F        s8			EQU		2FH
0062   
00063              ;-------------Operation Registers
   64 0030        R_A0		EQU		30H
   65 0031        R_A1		EQU		31H
   66 0032        R_A2		EQU		32H
   67 0033        R_A3		EQU		33h
   68 0034        R_A4		EQU		34H
   69 0035        R_A5		EQU		35H
   70 0036        R_A6		EQU		36H
   71 0037        R_AP		EQU		37H
0072   
   73 0038        R_B0		EQU		38H
   74 0039        R_B1		EQU		39H
   75 003A        R_B2		EQU		3AH
   76 003B        R_B3		EQU		3BH
   77 003C        R_B4		EQU		3CH
   78 003D        R_B5		EQU		3DH
   79 003E        R_B6		EQU		3EH
   80 003F        R_BP		EQU		3FH
0081   
   82 0040        R_W0		EQU		40H
   83 0041        R_W1		EQU		41H
   84 0042        R_W2		EQU		42H
   85 0043        R_W3		EQU		43H
   86 0044        R_W4		EQU		44H
   87 0045        R_W5		EQU		45H
   88 0046        R_W6		EQU		46H
   89 0047        R_W7		EQU		47H
   90 0048        R_WP		EQU		48H
   91 0049        R_Error		EQU		49H
00092              ;----
   93 004A        FatTest1	EQU		4AH
   94 004B        FatTest2	EQU		4BH
   95 004C        FatTest3	EQU		4CH
0096   
   97 004D        FatTest1_1	EQU		4DH
   98 004E        FatTest2_1	EQU		4EH
   99 004F        FatTest3_1	EQU		4FH
0100   
00101              ;-----------------------
  102 0050        BMI1		EQU		50H
  103 0051        BMI2		EQU		51H
  104 0052        BMI3		EQU		52H
0105   
  106 0053        P_FAT1		EQU		53H
  107 0054        P_FAT2		EQU		54H
  108 0055        P_FAT3		EQU		55H
0109   
  110 0056        TestFatCnt	EQU		56H             ; Measure fat in 3 times
  111 0057        FatLevel	EQU		57H
0112   
  113 0058        M_Fat2hz	EQU		58H
  114 0059        Delay5s		EQU		59H
  115 005A        MaxM_FatTm	EQU		5AH
0116   
  117 005B        Result1		EQU		5BH
  118 005C        Result2		EQU		5CH
  119 005D        Result3		EQU		5DH
0120   
  121 005E        Result4		EQU		5EH
  122 005F        s5			EQU		5FH
00123              ;-----------------------------------
  124 0060        BuzzCount	EQU		60H
  125 0061        Buzz16sCnt1	EQU		61H
  126 0062        Buzz16sCnt2	EQU		62H
  127 0063        Buzz60sCnt1	EQU		63H
  128 0064        Buzz60sCnt2	EQU		64H
  129 0065        KeyS1		EQU		65H
  130 0066        KeyS2		EQU		66H				; time pass 60s after key isn't pressed and sys. return mainmode0
  131 0067        KeyS		EQU		67H				; long key count
  132 0068        Keyms		EQU		68H
  133 0069        KeySound	EQU		69H				; keytone  62.5ms
  134 006A        R180ms1		EQU		6AH
  135 006B        R180ms2		EQU		6BH
  136 006C        Count1		EQU		6CH
  137 006D        Count2		EQU		6DH
0138   
  139 006E        s6			EQU		6EH
  140 006F        s7			EQU		6FH
00141              ;;;;;;;;;;;;;;;;
  142 0070        Pendulum1	EQU		70H
  143 0071        Pendulum2	EQU		71H
  144 0072        Dummy		EQU		72H
  145 0073        DisplayR	EQU		73H
  146 0074        MainMode	EQU		74H
  147 0075        Mode1		EQU		75H
  148 0076        FatModeFlg 	EQU		76H             ;B0--SetUnitModeFlg ,B1--Unit Flg, B2--Fat test at Default status
  149 0077        M_FatFlg	EQU		77H
0150   
  151 0078        KeyValue1	EQU		78H
  152 0079        KeyValue2	EQU		79H
  153 007A        KeyDoneFlg	EQU		7AH
  154 007B        OptionR		EQU		7BH				;B0--EnableTmr2Flg , B1-- left /rightFlg ,B2--Timer running   B3--F/M Flg
  155 007C        AlmFlg		EQU		7CH				;B0--Enable Alm Fuc. , B1--Alm arrive ,B2--Tmr arrive
0156   
  157 007D        PortA		EQU		7DH
  158 007E        FlgSet_12Hr	EQU		7EH				;B0--12/24hr Flg,	B1--A key /T key pressed Flg, B2--Keytone type Flg
  159 007F        IntDummy	EQU		7FH
00160              .endd
0161   
00162              .code
  163 0000 **** NEW ADDR ****  		ORG		000H
  164 00164 0000 D0AD  		JMP		Start
0165   
  166 001C **** NEW ADDR ****  		ORG		01CH
  167 00167 001C D06E  		JMP		PDRint
0168   
  169 0020 **** NEW ADDR ****  		ORG		020H
00170              ;-----------------------------------------------------
00171              Timer2Int:
  172 00172 0020 EE00  		FAST
  173 00173 0021 6807  		STA     T_SaveA
  174 00174 0022 4A08  		MAF		T_SaveFlgC_Z
  175 00175 0023 E603  		TM2X	000000011B           ;(000)512  4*512/32.768 =62.5ms
00176              ;;;;;;;;
00177              ;ProcessKeySound
  178 00178 0024 3A4E  		ANDI	FlgSet_12Hr,	4    ;Keytone type
  179 00179 0025 A02C  		JNZ		KeySoundType1
00180              									 ;Normal Keytone
  181 00181 0026 6C69  		LDA		KeySound
  182 00182 0027 B034  		JZ		HoldKeyCnt
  183 00183 0028 4169  		DEC*	KeySound
  184 00184 0029 A034  		JNZ		HoldKeyCnt
  185 00185 002A FC00  		ALM		0
  186 00186 002B D034  		JMP		HoldKeyCnt
00187              KeySoundType1:						 ;keytone of timer start running
  188 00188 002C 4169  		DEC*	KeySound
  189 00189 002D 8031  		JB0		$+4
  190 00190 002E B033  		JZ		KeySoundType1_1
  191 00191 002F FC80  		ALM		80h
  192 00192 0030 D034  		JMP		HoldKeyCnt
  193 00193 0031 FC00  		ALM		0
  194 00194 0032 D034  		JMP		$+2
00195              KeySoundType1_1:
  196 00196 0033 3BBE  		ANDI*	FlgSet_12Hr,	1011B
00197              ;;;;;;;;;;
00198              HoldKeyCnt:
  199 00199 0034 6C68  		LDA		Keyms 				 ; Count at holdkey
  200 00200 0035 B037  		JZ		$+2
  201 00201 0036 4168  		DEC*	Keyms
00202              ;----
00203              MeasureHiTime:
  204 00204 0037 6C77  		LDA		M_FatFlg
  205 00205 0038 B04A  		JZ		ProcessTimerBuzz
  206 00206 0039 E643  		TM2X	001000011B			 ;(001)8*4/32.768=0.9765625ms
00207              ;;;;;;;;;;;;;; 						 ;portA.1 Output  puls in 180ms
  208 00208 003A 416A  		DEC*	R180ms1
  209 00209 003B B842  		JC		MeasureHiTime1
  210 00210 003C 416B  		DEC*	R180ms2
  211 00211 003D B842  		JC		MeasureHiTime1
  212 00212 003E 5BEA  		LDS		R180ms1,	7
  213 00213 003F 5DEB  		LDS		R180ms2,	0BH
  214 00214 0040 3D1D  		EORI*	PortA,		1
  215 00215 0041 0A7D  		OPA		PortA
00216              MeasureHiTime1:						 ;Measure portA.4 hi level
  217 00217 0042 3647  		SUBI	M_FatFlg,		4
  218 00218 0043 A069  		JNZ		Exit_Timer2Int
  219 00219 0044 404A  		INC*	FatTest1
  220 00220 0045 A069  		JNZ		Exit_Timer2Int
  221 00221 0046 404B  		INC*	FatTest2
  222 00222 0047 A069  		JNZ		Exit_Timer2Int
  223 00223 0048 404C  		INC*	FatTest3
  224 00224 0049 D069  		JMP		Exit_Timer2Int
00225              ;;;;;;;;;;;
00226              ProcessTimerBuzz:
  227 00227 004A 3A4C  		ANDI 	AlmFlg,	4
  228 00228 004B B052  		JZ		ProcessAlmBuzz
0229   
  230 00230 004C 6C60  		LDA		BuzzCount
  231 00231 004D 2E61  		OR		Buzz16sCnt1
  232 00232 004E 2E62  		OR		Buzz16sCnt2
  233 00233 004F A05C  		JNZ		Buzzing
  234 00234 0050 3BBC  		ANDI*	AlmFlg,	1011B
  235 00235 0051 5874  		LDS		MainMode,	0
00236              ;;;;;;;;;;
00237              ProcessAlmBuzz:
  238 00238 0052 6C74  		LDA		MainMode
  239 00239 0053 A069  		JNZ	    Exit_Timer2Int
  240 00240 0054 3A2C  		ANDI 	AlmFlg,	2
  241 00241 0055 B069  		JZ		Exit_Timer2Int
0242   
  243 00243 0056 6C60  		LDA		BuzzCount
  244 00244 0057 2E63  		OR		Buzz60sCnt1
  245 00245 0058 2E64  		OR		Buzz60sCnt2
  246 00246 0059 A05C  		JNZ		Buzzing
  247 00247 005A 3BDC  		ANDI*	AlmFlg,	1101B
  248 00248 005B D069  		JMP		Exit_Timer2Int
0249   
00250              Buzzing:
  251 00251 005C 4160  		DEC*	BuzzCount              	;125--hi,125--low,125--hi,625--low
  252 00252 005D 77E0  		MRW		IntDummy,	BuzzCount
0253   
  254 00254 005E 36AF  		SUBI	IntDummy,	0AH
  255 00255 005F B068  		JZ		ALMOn
  256 00256 0060 36BF  		SUBI 	IntDummy,  0BH
  257 00257 0061 B068  		JZ		ALMOn
  258 00258 0062 36EF  		SUBI	IntDummy,	0EH
  259 00259 0063 B068  		JZ		ALMOn
  260 00260 0064 36FF  		SUBI	IntDummy,	0FH
  261 00261 0065 B068  		JZ		ALMOn
00262              ALMOff:
  263 00263 0066 FC00  		ALM		0H
  264 00264 0067 D069  		JMP		Exit_Timer2Int
00265              ALMOn:
  266 00266 0068 FC80  		ALM		80H      				;(2K)
0267   
00268              Exit_Timer2Int:
  269 00269 0069 E240  		TMSX 	001000000B		 		; After 8/32.768 ms ,system is awake
  270 00270 006A 6C07  		LDA		T_SaveA
  271 00271 006B 6D08  		MRA		T_SaveFlgC_Z
  272 00272 006C E918  		SIE*	18H
  273 00273 006D F400  		RTS
00274              ;------------------------------
00275              PDRint:
  276 00276 006E EE00  		FAST
  277 00277 006F 6809  		STA     P_SaveA
  278 00278 0070 4A0A  		MAF		P_SaveFlgC_Z
0279   
  280 00280 0071 E908  		SIE*	08H
  281 00281 0072 3A1B  		ANDI	OptionR,		1
  282 00282 0073 B075  		JZ		$+2
  283 00283 0074 E918  		SIE*	18H
0284   
  285 00285 0075 400B  		INC*	R_2Hz
  286 00286 0076 400C  		INC*	T_2Hz
  287 00287 0077 4167  		DEC*	KeyS
00288              ;;;;;;;;;;;;;;;;;;;;;
00289              ;Process display and sound at  Measure Fat Mode
  290 00290 0078 6C77  		LDA		M_FatFlg
  291 00291 0079 B09A  		JZ		PDP
  292 00292 007A 4058  		INC*	M_Fat2hz
  293 00293 007B 597F  		LDS		IntDummy,	2
  294 00294 007C 2658  		SUB		M_Fat2hz
  295 00295 007D A08D  		JNZ		M_FatBuzz
  296 00296 007E 5858  		LDS		M_Fat2hz,	0
0297   
  298 00298 007F 4159  		DEC*	Delay5s
  299 00299 0080 B88D  		JC		M_FatBuzz
  300 00300 0081 FC00  		ALM		0
  301 00301 0082 5A59  		LDS		Delay5s,	4
  302 00302 0083 415A  		DEC*	MaxM_FatTm
  303 00303 0084 B89A  		JC		PDP
  304 00304 0085 F704  		RF		4H
  305 00305 0086 597D  		LDS		PortA,		2
  306 00306 0087 0A7D  		OPA		PortA
  307 00307 0088 58C9  		LDS		R_Error,	1
  308 00308 0089 5877  		LDS		M_FatFlg,	0
  309 00309 008A 5FE9  		LDS		KeySound,	0FH
  310 00310 008B FC80  		ALM		80H
  311 00311 008C D0A9  		JMP		Exit_PDRint
00312              M_FatBuzz:
  313 00313 008D 5A7F  		LDS		IntDummy,	4
  314 00314 008E 265A  		SUB		MaxM_FatTm
  315 00315 008F A09A  		JNZ		PDP
0316   
  317 00317 0090 6C59  		LDA		Delay5s
  318 00318 0091 A094  		JNZ		$+3
  319 00319 0092 FC80  		ALM		80H
  320 00320 0093 D0A9  		JMP		Exit_PDRint
  321 00321 0094 6C58  		LDA		M_Fat2hz
  322 00322 0095 A098  		JNZ		$+3
  323 00323 0096 FC50  		ALM		80
  324 00324 0097 D0A9  		JMP		Exit_PDRint
  325 00325 0098 FC00  		ALM		0
  326 00326 0099 D0A9  		JMP		Exit_PDRint
0327   
00328              PDP:
00329              ;;;;;;;;;;;;;;;;;Pendulum  Display  Process
  330 00330 009A 6C74  		LDA		MainMode
  331 00331 009B A0A9  		JNZ		Exit_PDRint
0332   

⌨️ 快捷键说明

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