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

📄 dout.lst

📁 AVR-AT90S8535,HD8279,等开发的洁净空调专用DDC系统,包括AD/DA,PID计算等.
💻 LST
📖 第 1 页 / 共 4 页
字号:
000134 3091      kqt2:	cpi	r25,$01
000135 f429      	brne	to1	
000136 9583      	inc	r24
000137 308f      	cpi	r24,$f
000138 f43c      	brge	lp3		;r24>=$c 跳转
000139 d078      lp4:	rcall	showcs
00013a cfa8      	rjmp	intr		
00013b 3092      to1:	cpi	r25,$02
00013c f791      	brne	tczgc
00013d 9573      	inc	r23
00013e d003      	rcall	xsgy
00013f cfa3      	rjmp	intr
000140 e080      lp3:	ldi	r24,$00
000141 cff7      	rjmp	lp4
         	
000142 2e47      xsgy:	mov	res1,r23
000143 e000      	ldi	r16,$00
000144 2e50      	mov	res2,r16
000145 d1e8      	rcall	htd3
000146 9a95      	sbi	portd,5		;初始化8279控制字
000147 9894      	cbi	portd,4
000148 9a93      	sbi	portd,3
000149 e901      	ldi	r16,$91
00014a bb08      	out	portb,r16
00014b 0000      	nop
00014c 9a94      	sbi	portd,4
00014d 9895      	cbi	portd,5	
00014e 2d07      	mov	r16,cnt2d
00014f d225      	rcall	outpd
000150 2d06      	mov	r16,cnt1d
000151 9502      	swap	r16
000152 d222      	rcall	outpd
000153 2d06      	mov	r16,cnt1d
000154 d220      	rcall	outpd
000155 9a95      	sbi	portd,5	
000156 9508      	ret	
         
          EERead: 
000157 99e1      	sbic	EECR,EEWE	;if EEWE not clear
000158 cffe      	rjmp	EERead
000159 e001      	ldi	r16,$01
00015a 2e40      	mov	r4,r16
00015b 2e38      	mov     r3,r24		;    wait more
00015c ba4f      	out 	EEARH,r4	;output address high for 8515
00015d ba3e      	out	EEARL,r3	;output address low for 8515
00015e 9ae0      	sbi	EECR,EERE	;set EEPROM Read strobe
         				;This instruction takes 4 clock cycles since
         				;it halts the CPU for two clock cycles
00015f b30d      	in	r16,EEDR	;get data
000160 9508      	ret
          EEWrite:
000161 99e1      	sbic	EECR,EEWE	;if EEWE not clear
000162 cffe      	rjmp	EEWrite		;    wait more
000163 e001      	ldi	r16,$01
000164 2e40      	mov	r4,r16
000165 2e38      	mov	r3,r24
000166 ba4f      	out 	EEARH,r4	;output address high for 8515
000167 ba3e      	out	EEARL,r3	;output address low for 8515
000168 bb7d      	out	EEDR,r23        ;output data
000169 9ae2      	sbi 	EECR,EEMWE	;set master write enable, remove if 1200 is used	
00016a 9ae1      	sbi	EECR,EEWE	;set EEPROM Write strobe
00016b 0000      	nop			;This instruction takes 4 clock cycles since
00016c 0000      	nop			;it halts the CPU for two clock cycles
00016d 0000      	nop
00016e 0000      	nop	
00016f 9508      	ret 		         	
         
          readkey:
000170 ef0f      	ser	r16
000171 bb07      	out	ddrb,r16
000172 9a95      	sbi	portd,5		;初始化8279控制字
000173 9894      	cbi	portd,4
000174 e400      	ldi	r16,$40
000175 bb08      	out	portb,r16
000176 9a94      	sbi	portd,4
000177 9895      	cbi	portd,5
000178 2700      	clr	r16
000179 bb07      	out	ddrb,r16
00017a bb08      	out	portb,r16
00017b 9893      	cbi	portd,3
00017c 0000      	nop
00017d b316      	in	r17,pinb
00017e 9a95      	sbi	portd,5	
00017f 9a93      	sbi	portd,3
000180 ef0f      	ser	r16
000181 bb07      	out	ddrb,r16
000182 9508      kqt1:	ret
         	
000183 d014      setupxs:rcall	cs8279		;显示字符
         
000184 e60d      	ldi	r16,$6d		;'S'
000185 d01b      	rcall	outxs	
000186 e709      	ldi	r16,$79		;'E'
000187 d019      	rcall	outxs
000188 e708      	ldi	r16,$78		;'t'
000189 d017      	rcall	outxs
00018a e30e      	ldi	r16,$3e		;'u'
00018b d015      	rcall	outxs
00018c e703      	ldi	r16,$73		;'p'
00018d d013      	rcall	outxs
00018e 9a95      	sbi	portd,5	
00018f e546      	ldi	r20,$56		;调用延时
000190 d1fb      	rcall	delay
000191 d006      	rcall	cs8279		;显示温度设定
000192 e708      	ldi	r16,$78		;'t'
000193 d00d      	rcall	outxs
000194 e006      	ldi	r16,$06		;'-'
000195 d00b      	rcall	outxs
000196 d013      	rcall	jy
000197 9508      	ret
         	
000198 9a95      cs8279:	sbi	portd,5		;初始化8279控制字
000199 9894      	cbi	portd,4
00019a 9a93      	sbi	portd,3
00019b e900      	ldi	r16,$90
00019c bb08      	out	portb,r16
00019d 0000      	nop
00019e 9a94      	sbi	portd,4
00019f 9895      	cbi	portd,5	
0001a0 9508      	ret
         			
          outxs:				;显示输出
0001a1 9894      	cbi	portd,4
0001a2 bb08      	out	portb,r16
0001a3 9a94      	sbi	portd,4	
0001a4 9508      	ret
         
          beep:	
0001a5 9896      	cbi	portd,6	
0001a6 e149      	ldi	r20,$19		;调用延时
0001a7 d1e4      	rcall	delay
0001a8 9a96      	sbi	portd,6	
0001a9 9508      	ret
         	
0001aa e400      jy:	ldi	r16,$40		;'-'
0001ab dff5      	rcall	outxs	
0001ac e400      	ldi	r16,$40		;'-'
0001ad dff3      	rcall	outxs	
0001ae e400      	ldi	r16,$40		;'-'
0001af dff1      	rcall	outxs	
0001b0 9a95      	sbi	portd,5	
0001b1 9508      	ret	
         
0001b2 dfe5      showcs:	rcall	cs8279
0001b3 3080      	cpi	r24,$00		;显示温度设定
0001b4 f431      	brne	csbsf1
0001b5 e708      	ldi	r16,$78		;'t'
0001b6 dfea      	rcall	outxs	
0001b7 e006      	ldi	r16,$06		;'1'
0001b8 dfe8      	rcall	outxs	
0001b9 dff0      	rcall	jy
0001ba 9508      	ret
0001bb 3081      csbsf1:	cpi	r24,$01		;显示温度周期
0001bc f431      	brne	csbsf2
0001bd e60d      	ldi	r16,$6d		;'s'
0001be dfe2      	rcall	outxs	
0001bf e006      	ldi	r16,$06		;'1'
0001c0 dfe0      	rcall	outxs	
0001c1 dfe8      	rcall	jy
0001c2 9508      	ret
0001c3 3082      csbsf2:	cpi	r24,$02		;显示湿度设定
0001c4 f431      	brne	csbsf3
0001c5 e706      	ldi	r16,$76		;'h'
0001c6 dfda      	rcall	outxs	
0001c7 e006      	ldi	r16,$06		;'1'
0001c8 dfd8      	rcall	outxs	
0001c9 dfe0      	rcall	jy
0001ca 9508      	ret
0001cb 3083      csbsf3:	cpi	r24,$03		;显示湿度周期
0001cc f431      	brne	csbsf4
0001cd e60d      	ldi	r16,$6d		;'s'
0001ce dfd2      	rcall	outxs	
0001cf e50b      	ldi	r16,$5b		;'2'
0001d0 dfd0      	rcall	outxs	
0001d1 dfd8      	rcall	jy
0001d2 9508      	ret
0001d3 3084      csbsf4:	cpi	r24,$04		;显示P1
0001d4 f431      	brne	csbsf5
0001d5 e703      	ldi	r16,$73		;'p'
0001d6 dfca      	rcall	outxs	
0001d7 e006      	ldi	r16,$06		;'1'
0001d8 dfc8      	rcall	outxs	
0001d9 dfd0      	rcall	jy
0001da 9508      	ret
0001db 3085      csbsf5:	cpi	r24,$05		;显示I1
0001dc f431      	brne	csbsf6
0001dd e300      	ldi	r16,$30		;'i'
0001de dfc2      	rcall	outxs	
0001df e006      	ldi	r16,$06		;'1'
0001e0 dfc0      	rcall	outxs	
0001e1 dfc8      	rcall	jy
0001e2 9508      	ret
0001e3 3086      csbsf6:	cpi	r24,$06		;显示D1
0001e4 f431      	brne	csbsf7
0001e5 e50e      	ldi	r16,$5e		;'d'
0001e6 dfba      	rcall	outxs	
0001e7 e006      	ldi	r16,$06		;'1'
0001e8 dfb8      	rcall	outxs	
0001e9 dfc0      	rcall	jy
0001ea 9508      	ret
0001eb 3087      csbsf7:	cpi	r24,$07		;显示P2
0001ec f431      	brne	csbsf8
0001ed e703      	ldi	r16,$73		;'p'
0001ee dfb2      	rcall	outxs	
0001ef e50b      	ldi	r16,$5b		;'2'
0001f0 dfb0      	rcall	outxs	
0001f1 dfb8      	rcall	jy
0001f2 9508      	ret
0001f3 3088      csbsf8:	cpi	r24,$08		;显示I2
0001f4 f431      	brne	csbsf9
0001f5 e300      	ldi	r16,$30		;'i'
0001f6 dfaa      	rcall	outxs	
0001f7 e50b      	ldi	r16,$5b		;'2'
0001f8 dfa8      	rcall	outxs	
0001f9 dfb0      	rcall	jy
0001fa 9508      	ret
0001fb 3089      csbsf9:	cpi	r24,$09		;显示D2
0001fc f431      	brne	csbsfa
0001fd e50e      	ldi	r16,$5e		;'d'
0001fe dfa2      	rcall	outxs	
0001ff e50b      	ldi	r16,$5b		;'2'
000200 dfa0      	rcall	outxs	
000201 dfa8      	rcall	jy
000202 9508      	ret
000203 308a      csbsfa:	cpi	r24,$a		;显示压力
000204 f431      	brne	csbsfb
000205 e703      	ldi	r16,$73		;'p'
000206 df9a      	rcall	outxs	
000207 e700      	ldi	r16,$70		;'r'
000208 df98      	rcall	outxs	
000209 dfa0      	rcall	jy
00020a 9508      	ret
00020b 308b      csbsfb:	cpi	r24,$b		;显示凝节水温度
00020c f431      	brne	csbsfc
00020d e708      	ldi	r16,$78		;'t'
00020e df92      	rcall	outxs	
00020f e50b      	ldi	r16,$5b		;'2'
000210 df90      	rcall	outxs	
000211 df98      	rcall	jy
000212 9508      	ret
000213 308c      csbsfc:	cpi	r24,$c		;通讯站号
000214 f459      	brne	csbsfd
000215 e60d      	ldi	r16,$6d		;'s'
000216 df8a      	rcall	outxs	
000217 e400      	ldi	r16,$40		;'-'
000218 df88      	rcall	outxs
000219 e307      	ldi	r16,$37		;'n'
00021a df86      	rcall	outxs
00021b e000      	ldi	r16,$00		;''
00021c df84      	rcall	outxs
00021d e000      	ldi	r16,$00		;''
00021e df82      	rcall	outxs	
00021f 9508      	ret	
000220 308d      csbsfd:	cpi	r24,$d		;通讯传输频率
000221 f459      	brne	csbsfe
000222 e30e      	ldi	r16,$3e		;'u'
000223 df7d      	rcall	outxs	
000224 e70c      	ldi	r16,$7c		;'b'
000225 df7b      	rcall	outxs
000226 e700      	ldi	r16,$70		;'r'
000227 df79      	rcall	outxs
000228 e700      	ldi	r16,$70		;'r'
000229 df77      	rcall	outxs
00022a e000      	ldi	r16,$00		;''
00022b df75      	rcall	outxs	
00022c 9508      	ret	
00022d 308e      csbsfe:	cpi	r24,$e		;运行模式
00022e f451      	brne	tcret
00022f e707      	ldi	r16,$77		;'a'
000230 df70      	rcall	outxs	
000231 e10c      	ldi	r16,$1c		;'u'
000232 df6e      	rcall	outxs
000233 e708      	ldi	r16,$78		;'t'
000234 df6c      	rcall	outxs	
000235 e50c      	ldi	r16,$5c		;'o'
000236 df6a      	rcall	outxs	
000237 e000      	ldi	r16,$00		;''
000238 df68      	rcall	outxs	
000239 9508      tcret:	ret
         	
         ;**********************	
         ;********主程序********
         ;**********************
         ;.cseg
         ;.org	0x01b6
          RESET:
00023a e50f      SYS:	ldi	R16,low(RAMEND)	;设置堆栈
00023b bf0d      	out	SPL,R16
00023c e002      	ldi	R16,high(RAMEND)
00023d bf0e      	out	SPH,R16
         
         	;wdr			;看门狗复位
         	;ldi	R16,$0F		;0b00001111
         	;out	WDTCR,R16	;狗周期2048MS
         
00023e ef08      	ldi	R16,$F8		;0B11111000
00023f bb0a      	out	DDRA,R16	;A口0~2输入,3~7输出
000240 9ada      	sbi	porta,2
000241 ef0a      	ldi	R16,$FA		;0B11111110
000242 bb01      	out	DDRD,R16	;D口0/2输入,1/3~7输出
000243 ef0f      	ldi	R16,$FF		;0B11111111
000244 bb04      	out	DDRC,R16	;C口输出
000245 bb07      	out	DDRB,R16	;B口输出
         
000246 e208      	ldi	r16,$28	 	;8279写控制寄存器
000247 bb02      	out	portd,r16	
000248 ed01      	ldi	r16,$d1		;清8279寄存器
000249 bb08      	out	portb,r16
00024a 9a94      	sbi	portd,4
00024b 2700      	clr	r16
00024c bb07      	out	ddrb,r16
00024d e300      	ldi	r16,$30
00024e bb02      	out	portd,r16
00024f 9bc7      wait:	sbis	portb,7		;等待清除结束
000250 cffe      	rjmp	wait
000251 9894      	cbi	portd,4
000252 9a93      	sbi	portd,3	
000253 ef0f      	ser	r16
000254 bb07      	out	ddrb,r16
         	
000255 2700      	clr	R16
000256 b907      	out	admux,R16	;ADC  0通道
000257 e805      	ldi	R16,$85		;设置ADC转换,中断触发,ADC为单次模式且32M分频
000258 b906      	out	adcsr,R16
000259 9a34      	sbi	adcsr,adif	;写1复位中断为0
00025a 9a36      	sbi	adcsr,6		;启动ADC
         
         	
00025b 2788      	clr	r24		;把EEP中的参数映射到SRAM的0X0140~0X014E处
00025c e0b1      	ldi	r27,$01
00025d e4a0      	ldi	r26,$40
00025e 99e1      EEpRead:sbic	EECR,EEWE	;if EEWE not clear
00025f cffe      	rjmp	EEpRead
000260 e001      	ldi	r16,$01
000261 bb0f      	out 	EEARH,r16	;output address high for 8515
000262 bb8e      	out	EEARL,r24	;output address low for 8515
000263 9ae0      	sbi	EECR,EERE	;set EEPROM Read strobe
000264 b30d      	in	r16,EEDR	;get data
000265 930d      	st	x+,r16
000266 9583      	inc	r24
000267 308f      	cpi	r24,$0f
000268 f7a9      	brne	EEpRead
         	;rcall	cansujs		;^^^^^^^^^^^^^^^^^^^^
         	
000269 e908      	ldi	r16,$98		;初始化COM
00026a b90a              out	ucr,r16		;设置UART控制寄存器---UCR
00026b 50a2              subi	r26,$02
00026c 910c              ld	r16,x
         	;ldi	r16,25
00026d b909      	out	ubrr,r16	;设置UART波特率
00026e 2411      	clr	r1
         	
00026f e003      	ldi	r16,$3		;INT0上升沿触发 0b00000011   
000270 bf05      	out	mcucr,r16
000271 e400      	ldi	r16,$40		
000272 bf0b      	out	GIMSK,R16	;INT0可用,INT1屏蔽 0b01000000
000273 bf0a      	out	GIFR,r16
000274 9478      	sei	
         	
000275 9894      	cbi	portd,4
000276 e000      	ldi	r16,$00		;8279键盘显示方式初始
000277 bb08      	out	portb,r16
000278 9a94      	sbi	portd,4
000279 0000      	nop
00027a 9894      	cbi	portd,4
00027b e202      	ldi	r16,$22		;8279时钟分频=2
00027c bb08      	out	portb,r16
00027d 9a94      	sbi	portd,4	

⌨️ 快捷键说明

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