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

📄 psi_end.asm.txt

📁 用单片机开发的发电机油压表程序!比较复杂!
💻 TXT
字号:
;######################################################
;   	ASM:  	Vol_L.asm
;   	CPU:  	TMP86P807M/N
;	DATA: 	2004/06/9
;	XTAL:	8MHZ
;	油压表程序 ---[0.00--1.00MPa]
;#########################################################
$INCLUDE	<T86c807a.H>
$INCLUDE	<T86c807b.H>
;
CODE_1	SECTION	CODE	ABS=0xE000
;
START:  NOP
	NOP
	DI
	LD	SP,0x013F
SETSYS:	LD	(SYSCR1),0	;
	LD	(SYSCR2),0x80	;
SETTBT:	LD	(TBTCR),0x00	;DVO-BUZZ
SETWDT:	LD	(WDTCR1),0X0F	;Enable WDT
	LD	(WDTCR2),0xB1	;Disable WDT
	LD	(WDTCR1),0x0F	;
	LD	(WDTCR2),0x4E	;Enable WDT
SETTC1:	LD	(TC1CR),0	;
	LD	(TC1DRAL),0X60	;1B
	LD	(TC1DRAH),0X00	;B7
;	LD	(TC1DRB),0	;
	SET	(EIRL).7	;
	LD	(TC1CR),0X10	;
SETTC4:	LD	(TC4CR),16	;
	LD	(TTREG4),250	;250X8=2ms
	LD	(TC4CR),24	;START
	SET	(EIRH).3	;Enable INT
	LD	(INTSEL),0	;int 
SETPOR:	LD	(P0),0XFF	;
	LD	(P2),0
	LD	(P3),0Y00000111	;
	LD	(STOPCR),0
	CALL	WORK	
RAMCLR:	LD	HL,0x40		;40H→HL
	LD	A,H		;H=0→A
	LD	BC,0xFF		;0xFF→BC	
SRAMCL:	LD	(HL),A		;A=0→(HL)
	INC	HL		;HL+1
	DEC	BC		;BC-1
	J	F,SRAMCL	;BC≠0→SRAMCL:
;
	TEST	(P2PRD).0
	J	F,TSTC
;******************************************************	
MAIN:	EI
	CALL	WORK
	CALL	ADDI
	CALL	DISP                                
	J	MAIN
;******************************************************
WORK:	LD	(WDTCR1),0x0D	;
	LD	(WDTCR2),0x4E	;Enable WDT
	LD	(P0OUTCR),0XFF
	LD	(P3CR),0Y01111111
	RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ADDI:	TEST	(FLAG).1
	J	T,ADND
ADER:	CLR	(FLAG).1
	CALL	ADZH
	CALL	ADBH
	LD	W,0
	LD	A,(ADPSI)
	LD	C,100
	DIV	WA,C
	LD	(COM3),A
	LD	A,W
	LD	W,0
	LD	C,10
	DIV	WA,C
	LD	(COM2),A
	LD	(COM1),W
	CMP	(COM3),2
	J	CC,ADER
	NOP
	NOP
	NOP
ADND:	RET
ADBH:	TEST	(FLAG).5
	J	T,ADND
	CMP	(ADPSI),25
	J	CS,ADBHS
	RET
ADBHS:	SET	(P3).3
	RET

;*******************************************
;		测试程序		   *
;*******************************************
TSTC:	CLR	(P3).0
	CLR	(P3).1
	CLR	(P3).2
	LD	(P0),0Y10100000
	CALL	DEALY1
	LD	(P0),0Y10101111
	CALL	DEALY1
	LD	(P0),0Y01101000
	CALL	DEALY1
	LD	(P0),0Y00101010
	CALL	DEALY1
	LD	(P0),0Y00100111
	CALL	DEALY1
	LD	(P0),0Y00110010
	CALL	DEALY1
	LD	(P0),0Y00110000
	CALL	DEALY1
	LD	(P0),0Y10101011
	CALL	DEALY1
	LD	(P0),0Y00100000
	CALL	DEALY1
	LD	(P0),0Y00100010
	CALL	DEALY1
	NOP
LOOP:	LD	(WDTCR1),0x0D	;
	LD	(WDTCR2),0x4E	;Enable WDT
	LD	(P0),0
	J	LOOP
DEALY1:	EI
	LD	(WDTCR1),0x0D	;
	LD	(WDTCR2),0x4E	;Enable WDT
	TEST	(FLAG).1
	J	T,DEALY1
	CLR	(FLAG).1
	RET	
;*******************************************
;		显示程序		   *
;*******************************************
ADZH:	CALL	RDADC
	CMP	(ADMPA),110
	J	CC,ADZH1
	LD	C,A
	LD	HL,PSITAB
	LD	A,(HL+C)
	LD	(ADPSI),A
	CMP	(ADPSI),25
	J	CC,ADBHZ
	RET
ADBHZ:	SET	(FLAG).5
	RET
ADZH1:	SUB	(ADMPA),110
	LD	C,(ADMPA)
	LD	HL,PSITAB1
	LD	A,(HL+C)
	LD	(ADPSI),A
	RET
ADINPUT:
  	LD    	(ADCCR1),0X25	;AIN4
	LD	(ADCCR2),0XD8	;
       	SET	(ADCCR1).7
ADSLOOP:
  	TEST  	(ADCDR2).5
       	J     	T,ADSLOOP
       	LD    	A,(ADCDR1)
       	RET	
;;;;;;<>
RDADC:  CALL  	ADINPUT
	LD	B,A
	CALL	ADINPUT
	LD	C,A
	CALL	ADINPUT
	LD	D,A
	CALL	ADINPUT
	LD	E,A
	CMP	BC,DE
	J	NE,RDADC
	LD	A,B
	LD	(ADMPA),A
        RET
;*******************************************
;		显示程序		   *
;*******************************************
DISP:	
	LD	C,(COM1)
	LD	HL,LEDTAB
	LD	A,(HL+C)
	LD	(DOM1),A
;
	LD	C,(COM2)
	LD	HL,LEDTAB
	LD	A,(HL+C)
	LD	(DOM2),A
	CLR	(DOM2).5
;
	LD	C,(COM3)
	LD	HL,LEDTAB
	LD	A,(HL+C)
	LD	(DOM3),A
;
XIANSHI:	
	LD	A,(DOM1)
	LD	(P0),A
	CLR	(P3).0
	CALL	DEALY
	SET	(P3).0
	
	LD	A,(DOM2)
	LD	(P0),A
	CLR	(P3).1
	CALL	DEALY
	SET	(P3).1
	
	LD	A,(DOM3)
	LD	(P0),A
	CLR	(P3).2
	CALL	DEALY
	SET	(P3).2

	RET
DEALY:	LD	BC,0X500
LOPF:	NOP
	DEC	BC
	J	NE,LOPF
	RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LEDTAB	DB	160	;0	
	DB	175	;1
	DB	104	;2
	DB	42	;3
	DB	39	;4
	DB	50	;5
	DB	48	;6
	DB	171	;7
	DB	32	;8
	DB	34	;9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PSITAB:
	DB	100	;0
	DB	99	;1
	DB	98	;2
	DB	97	;3
	DB	96	;4
	DB	95	;5
	DB	94	;6
	DB	93	;7
	DB	92	;8
	DB	90	;9
	DB	88	;10
	DB	86	;11
	DB	84	;12
	DB	82	;13
	DB	80	;14
	DB	79	;15
	DB	78	;16
	DB	76	;17
	DB	75	;18
	DB	73	;19
	DB	71	;20
	DB	70	;21
	DB	69	;22
	DB	69	;23
	DB	68	;24
	DB	67	;25
	DB	66	;26
	DB	65	;27
	DB	65	;28
	DB	64	;29
	DB	63	;30
	DB	62	;31
	DB	61	;32
	DB	60	;33
	DB	60	;34
	DB	59	;35
	DB	58	;36
	DB	58	;37
	DB	57	;38
	DB	56	;39
	DB	55	;40
	DB	54	;41
	DB	54	;42	
	DB	53	;43
	DB	52	;44
	DB	52	;45
	DB	51	;46
	DB	50	;47
	DB	50	;48
	DB	49	;49
	DB	49	;50
	DB	48	;51
	DB	48	;52
	DB	48	;53
	DB	47	;54
	DB	47	;55
	DB	46	;56
	DB	46	;57
	DB	46	;58
	DB	45	;59
	DB	45	;60
	DB	44	;61
	DB	44	;62
	DB	43	;63
	DB	43	;64
	DB	42	;65
	DB	42	;66
	DB	41	;67
	DB	41	;68
	DB	40	;69
	DB	40	;70
	DB	40	;71
	DB	39	;72
	DB	39	;73
	DB	39	;74
	DB	38	;75
	DB	38	;76
	DB	38	;77
	DB	37	;78
	DB	37	;79
	DB	37	;80
	DB	36	;81
	DB	36	;82	
	DB	36	;83
	DB	35	;84
	DB	35	;85
	DB	35	;86
	DB	35	;87
	DB	34	;88
	DB	34	;89
	DB	34	;90
	DB	34	;91
	DB	33	;92
	DB	33	;93
	DB	33	;94
	DB	32	;95
	DB	32	;96
	DB	32	;97
	DB	31	;98
	DB	31	;99
	DB	31	;100
	DB	31	;101
	DB	30	;102
	DB	30	;103
	DB	30	;104
	DB	30	;105
	DB	30	;106
	DB	29	;107
	DB	29	;108
	DB	29	;109	
	DB	28	;110
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PSITAB1:
	DB	28	;111
	DB	28	;112
	DB	27	;113
	DB	27	;114
	DB	27	;115
	DB	26	;116
	DB	26	;117
	DB	26	;118
	DB	25	;119
	DB	25	;120
	DB	25	;121
	DB	25	;122
	DB	24	;123
	DB	24	;124
	DB	24	;125
	DB	23	;126
	DB	23	;127
	DB	23	;128
	DB	22	;129
	DB	22	;130
	DB	22	;131
	DB	21	;132
	DB	21	;133
	DB	21	;134
	DB	21	;135
	DB	20	;136
	DB	20	;137
	DB	20	;138
	DB	20	;139
	DB	19	;140
	DB	19	;141
	DB	19	;142
	DB	19	;143
	DB	18	;144
	DB	18	;145
	DB	18	;146
	DB	18	;147
	DB	17	;148
	DB	17	;149
	DB	17	;150
	DB	17	;151
	DB	16	;152
	DB	16	;153
	DB	16	;154
	DB	16	;155
	DB	15	;156
	DB	15	;157
	DB	15	;158
	DB	15	;159
	DB	15	;160
	DB	14	;161
	DB	14	;162
	DB	14	;163
	DB	14	;164
	DB	13	;165
	DB	13	;166
	DB	13	;167
	DB	13	;168
	DB	12	;169
	DB	12	;170
	DB	12	;171
	DB	12	;172
	DB	11	;173
	DB	11	;174
	DB	11	;175
	DB	11	;176
	DB	10	;177
	DB	10	;178
	DB	10	;179
	DB	10	;180
	DB	10	;181
	DB	10	;182
	DB	9	;183
	DB	9	;184
	DB	9	;185
	DB	8	;186
	DB	8	;187
	DB	8	;188
	DB	8	;189
	DB	7	;190
	DB	7	;191
	DB	7	;192
	DB	6	;193
	DB	6	;194
	DB	6	;195
	DB	6	;196
	DB	5	;197
	DB	5	;198
	DB	5	;199
	DB	5	;200
	DB	4	;201
	DB	4	;202
	DB	4	;203
	DB	4	;204
	DB	3	;205
	DB	3	;206
	DB	3	;207
	DB	3	;208
	DB	2	;209
	DB	2	;210
	DB	2	;211
	DB	2	;212
	DB	1	;213
	DB	1	;214
	DB	1	;215
	DB	1	;216
	DB	0	;217
	DB	0	;218
	DB	0	;219
	DB	0	;220
	DB	0	;221
	DB	0	;222
	DB	0	;223
	DB	0	;224
	DB	0	;225
	DB	0	;226
	DB	0	;227
	DB	0	;228
	DB	0	;229
	DB	0	;230
	DB	0	;231
	DB	0	;232
	DB	0	;233
	DB	0	;234
	DB	0	;235
	DB	0	;236
	DB	0	;237
	DB	0	;238
	DB	0	;239
	DB	0	;240
	DB	0	;241
	DB	0	;242
	DB	0	;243
	DB	0	;244
	DB	0	;245
	DB	0	;246
	DB	0	;247
	DB	0	;278
	DB	0	;249
	DB	0	;250
	DB	0	;251
	DB	0	;252
	DB	0	;253
	DB	0	;254
	DB	0	;255
;==================================================
INTTC1:	EI
	INC	(TBUF)
	CMP	(TBUF),200
	J	EQ,INTC1A
	RETI
INTC1A:	LD	(TBUF),0
	SET	(FLAG).6
	RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INTTC4:	INC	(THJK)
	CMP	(THJK),100
	J	EQ,INTC4
	RETI
INTC4:	LD	(THJK),0
	SET	(FLAG).1
	RETI
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
NORETI:
	RETI
NORETN:
	RETN
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CODE_INTVECT    SECTION CODE ABS=0xFFE0
INTVECT:
	DW	NORETI	;FFE0H	(INT5)
	DW	NORETI	;FFE2H	(INT4)
	DW	NORETI	;FFE4H	(INTSEI1)
        DW      NORETI	;FFE6H	(INTADC)          
        DW      INTTC4	;FFE8H  (INT3/INTTC4)       
        DW      NORETI  ;FFEAH  (INTTC3/INTSEI0)     
        DW      NORETI  ;FFECH  (INTTxD)          
        DW      NORETI  ;FFEEH  (INTRxD)        
        DW      INTTC1  ;FFF0H  (INTTC1)     
        DW      NORETI  ;FFF2H  (INTTBT)     
        DW      NORETI  ;FFF4H  (INT1)      
        DW      NORETI  ;FFF6H  (INT0)          
        DW      NORETN  ;FFF8H  (INTWDT)        
        DW      NORETN  ;FFFAH  (INTATRAP)          
        DW      NORETN  ;FFFCH  (INTUNDEF/INTSWI)        
        DW      START   ;FFFEH  (RESET)  
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
RAMDATA	SECTION	DATA	ABS=0X40
;;;;;;;;<P3>;;;;;;
SDA	EQU	1
SCL	EQU	2
;;;;;;;;;;;;;;;;;;
COM1	DSB	1	
COM2	DSB	1	
COM3	DSB	1	
COM4	DSB	1	
COM5	DSB	1	
DOM1	DSB	1
DOM2	DSB	1
DOM3	DSB	1
DOM4	DSB	1	
DOM5	DSB	1
TME1	DSB	1
TME2	DSB	1
TME3	DSB	1
TME4	DSB	1
TME5	DSB	1
FLAG	DSB	1
TBUF	DSB	1
TBBUF	DSB	1
EEWORD	DSB	1
EEDATA	DSB	1
TBUG	DSB	1
TBUH	DSB	1
THJK	DSB	1
ADPSI	DSB	1
ADMPA	DSB	1
ADBU1	DSB	1
ADBU2	DSB	1
ADBU3	DSB	1

	END

⌨️ 快捷键说明

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