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

📄 图康科技.lst

📁 基于ATmega8开发的关于医疗康复的机器人
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0111)  		wr_date(&a);	//全部显示空格
     1AE 018E      MOVW	R16,R28
     1AF DF73      RCALL	_wr_date
     1B0 9543      INC	R20
     1B1 E480      LDI	R24,0x40
     1B2 1784      CP	R24,R20
     1B3 F7D0      BCC	0x01AE
     1B4 9621      ADIW	R28,1
     1B5 9149      LD	R20,Y+
     1B6 9508      RET
_page0:
     1B7 9722      SBIW	R28,2
(0112) }
(0113) /**********************欢迎界面*********************
(0114) *函    数:page0
(0115) *函数功能:显示欢迎界面
(0116) *入口参数:无
(0117) *返 回 值:无
(0118) *备    注:
(0119) ****************************************************/
(0120) void page0(void)
(0121) {
(0122)  	dis(2,15,Welcome);	//显示欢迎数组
     1B8 E680      LDI	R24,0x60
     1B9 E090      LDI	R25,0
     1BA 8399      STD	Y+1,R25
     1BB 8388      STD	Y+0,R24
     1BC E02F      LDI	R18,0xF
     1BD E002      LDI	R16,2
     1BE DF86      RCALL	_dis
(0123)  	delay_nms(100);		//延时
     1BF E604      LDI	R16,0x64
     1C0 E010      LDI	R17,0
     1C1 D173      RCALL	_delay_nms
     1C2 9622      ADIW	R28,2
     1C3 9508      RET
_K_Symbol:
     1C4 9722      SBIW	R28,2
(0124) }
(0125) /*************************动作界面******************
(0126) *函    数:K_Symbol
(0127) *函数功能:显示键符名称
(0128) *入口参数:无
(0129) *返 回 值:无
(0130) *备    注:
(0131) ****************************************************/
(0132) void K_Symbol(void)
(0133) {
(0134)   	lcd_dis(1,0x7,Symbol);		//第一行显示键值符号K1
     1C5 E780      LDI	R24,0x70
     1C6 E090      LDI	R25,0
     1C7 8399      STD	Y+1,R25
     1C8 8388      STD	Y+0,R24
     1C9 E027      LDI	R18,7
     1CA E001      LDI	R16,1
     1CB DFAC      RCALL	_lcd_dis
(0135)   	lcd_dis(2,0x7,Symbol+2);	//第二行显示键值符号K2
     1CC E782      LDI	R24,0x72
     1CD E090      LDI	R25,0
     1CE 8399      STD	Y+1,R25
     1CF 8388      STD	Y+0,R24
     1D0 E027      LDI	R18,7
     1D1 E002      LDI	R16,2
     1D2 DFA5      RCALL	_lcd_dis
(0136)   	lcd_dis(3,0x7,Symbol+4);
     1D3 E784      LDI	R24,0x74
     1D4 E090      LDI	R25,0
     1D5 8399      STD	Y+1,R25
     1D6 8388      STD	Y+0,R24
     1D7 E027      LDI	R18,7
     1D8 E003      LDI	R16,3
     1D9 DF9E      RCALL	_lcd_dis
(0137)   	lcd_dis(4,0x7,Symbol+6);
     1DA E786      LDI	R24,0x76
     1DB E090      LDI	R25,0
     1DC 8399      STD	Y+1,R25
     1DD 8388      STD	Y+0,R24
     1DE E027      LDI	R18,7
     1DF E004      LDI	R16,4
     1E0 DF97      RCALL	_lcd_dis
     1E1 9622      ADIW	R28,2
     1E2 9508      RET
_page1:
     1E3 9722      SBIW	R28,2
(0138) }
(0139) /********************四种模式界面********************
(0140) *函    数:page1
(0141) *函数功能:显示模式名称
(0142) *入口参数:无
(0143) *返 回 值:无
(0144) *备    注:
(0145) ****************************************************/
(0146) void page1(void)
(0147) {    
(0148)  	clr();       	 	//清屏
     1E4 DFC1      RCALL	_clr
(0149)  	dis(1,8,mode1);		//第一行显示模式1
     1E5 E788      LDI	R24,0x78
     1E6 E090      LDI	R25,0
     1E7 8399      STD	Y+1,R25
     1E8 8388      STD	Y+0,R24
     1E9 E028      LDI	R18,0x8
     1EA E001      LDI	R16,1
     1EB DF59      RCALL	_dis
(0150)  	dis(2,8,mode2);		//第二行显示模式2	
     1EC E880      LDI	R24,0x80
     1ED E090      LDI	R25,0
     1EE 8399      STD	Y+1,R25
     1EF 8388      STD	Y+0,R24
     1F0 E028      LDI	R18,0x8
     1F1 E002      LDI	R16,2
     1F2 DF52      RCALL	_dis
(0151)  	dis(3,8,mode3);	
     1F3 E888      LDI	R24,0x88
     1F4 E090      LDI	R25,0
     1F5 8399      STD	Y+1,R25
     1F6 8388      STD	Y+0,R24
     1F7 E028      LDI	R18,0x8
     1F8 E003      LDI	R16,3
     1F9 DF4B      RCALL	_dis
(0152)  	dis(4,8,mode4);    
     1FA E980      LDI	R24,0x90
     1FB E090      LDI	R25,0
     1FC 8399      STD	Y+1,R25
     1FD 8388      STD	Y+0,R24
     1FE E028      LDI	R18,0x8
     1FF E004      LDI	R16,4
     200 DF44      RCALL	_dis
(0153)  	K_Symbol();   		//显示键盘符号
     201 DFC2      RCALL	_K_Symbol
     202 9622      ADIW	R28,2
     203 9508      RET
_page2:
     204 9722      SBIW	R28,2
(0154) }
(0155) /**************************动作界面*******************
(0156) *函    数:page2
(0157) *函数功能:显示动作名称
(0158) *入口参数:无
(0159) *返 回 值:无
(0160) *备    注:
(0161) ****************************************************/
(0162) void page2(void)
(0163) {
(0164)  	clr();        		//清屏
     205 DFA0      RCALL	_clr
(0165)  	dis(1,6,Par1);		//各行显示对应动作参数
     206 EB88      LDI	R24,0xB8
     207 E090      LDI	R25,0
     208 8399      STD	Y+1,R25
     209 8388      STD	Y+0,R24
     20A E026      LDI	R18,6
     20B E001      LDI	R16,1
     20C DF38      RCALL	_dis
(0166)  	dis(2,6,Par2);
     20D EB8E      LDI	R24,0xBE
     20E E090      LDI	R25,0
     20F 8399      STD	Y+1,R25
     210 8388      STD	Y+0,R24
     211 E026      LDI	R18,6
     212 E002      LDI	R16,2
     213 DF31      RCALL	_dis
(0167)  	dis(3,6,Par3);
     214 EC84      LDI	R24,0xC4
     215 E090      LDI	R25,0
     216 8399      STD	Y+1,R25
     217 8388      STD	Y+0,R24
     218 E026      LDI	R18,6
     219 E003      LDI	R16,3
     21A DF2A      RCALL	_dis
(0168)  	dis(4,6,Par4);
     21B EC8A      LDI	R24,0xCA
     21C E090      LDI	R25,0
     21D 8399      STD	Y+1,R25
     21E 8388      STD	Y+0,R24
     21F E026      LDI	R18,6
     220 E004      LDI	R16,4
     221 DF23      RCALL	_dis
     222 9622      ADIW	R28,2
     223 9508      RET
_page3:
     224 9722      SBIW	R28,2
(0169) }	
(0170) /*********************参数值界面*********************
(0171) *函    数:page3
(0172) *函数功能:显示动作、百分比、时间量
(0173) *入口参数:无
(0174) *返 回 值:无
(0175) *备    注:
(0176) ****************************************************/
(0177) void page3(void)
(0178) {
(0179)  	lcd_dis(1,0x3,(name+temp*8));		//显示动作
     225 E988      LDI	R24,0x98
     226 E090      LDI	R25,0
     227 9020 0110 LDS	R2,temp
     229 2433      CLR	R3
     22A 0C22      LSL	R2
     22B 1C33      ROL	R3
     22C 0C22      LSL	R2
     22D 1C33      ROL	R3
     22E 0C22      LSL	R2
     22F 1C33      ROL	R3
     230 0E28      ADD	R2,R24
     231 1E39      ADC	R3,R25
     232 8239      STD	Y+1,R3
     233 8228      STD	Y+0,R2
     234 E023      LDI	R18,3
     235 E001      LDI	R16,1
     236 DF41      RCALL	_lcd_dis
(0180)  	lcd_dis(1,0x4,(name+temp*8+2));
     237 E98A      LDI	R24,0x9A
     238 E090      LDI	R25,0
     239 9020 0110 LDS	R2,temp
     23B 2433      CLR	R3
     23C 0C22      LSL	R2
     23D 1C33      ROL	R3
     23E 0C22      LSL	R2
     23F 1C33      ROL	R3
     240 0C22      LSL	R2
     241 1C33      ROL	R3
     242 0E28      ADD	R2,R24
     243 1E39      ADC	R3,R25
     244 8239      STD	Y+1,R3
     245 8228      STD	Y+0,R2
     246 E024      LDI	R18,4
     247 E001      LDI	R16,1
     248 DF2F      RCALL	_lcd_dis
(0181)  	lcd_dis(1,0x5,(name+temp*8+4));
     249 E98C      LDI	R24,0x9C
     24A E090      LDI	R25,0
     24B 9020 0110 LDS	R2,temp
     24D 2433      CLR	R3
     24E 0C22      LSL	R2
     24F 1C33      ROL	R3
     250 0C22      LSL	R2
     251 1C33      ROL	R3
     252 0C22      LSL	R2
     253 1C33      ROL	R3
     254 0E28      ADD	R2,R24
     255 1E39      ADC	R3,R25
     256 8239      STD	Y+1,R3
     257 8228      STD	Y+0,R2
     258 E025      LDI	R18,5
     259 E001      LDI	R16,1
     25A DF1D      RCALL	_lcd_dis
(0182)  	lcd_dis(1,0x6,(name+temp*8+6));
     25B E98E      LDI	R24,0x9E
     25C E090      LDI	R25,0
     25D 9020 0110 LDS	R2,temp
     25F 2433      CLR	R3
     260 0C22      LSL	R2
     261 1C33      ROL	R3
     262 0C22      LSL	R2
     263 1C33      ROL	R3
     264 0C22      LSL	R2
     265 1C33      ROL	R3
     266 0E28      ADD	R2,R24
     267 1E39      ADC	R3,R25
     268 8239      STD	Y+1,R3
     269 8228      STD	Y+0,R2
     26A E026      LDI	R18,6
     26B E001      LDI	R16,1
     26C DF0B      RCALL	_lcd_dis
(0183)  	lcd_dis(2,0x3,(shu+temp1*4));		//显示幅度
     26D ED80      LDI	R24,0xD0
     26E E090      LDI	R25,0
     26F 9020 0111 LDS	R2,temp1
     271 2433      CLR	R3
     272 0C22      LSL	R2
     273 1C33      ROL	R3
     274 0C22      LSL	R2
     275 1C33      ROL	R3
     276 0E28      ADD	R2,R24
     277 1E39      ADC	R3,R25
     278 8239      STD	Y+1,R3
     279 8228      STD	Y+0,R2
     27A E023      LDI	R18,3
     27B E002      LDI	R16,2
     27C DEFB      RCALL	_lcd_dis
(0184)  	lcd_dis(2,0x4,(shu+temp1*4+2));
     27D ED82      LDI	R24,0xD2
     27E E090      LDI	R25,0
     27F 9020 0111 LDS	R2,temp1
     281 2433      CLR	R3
     282 0C22      LSL	R2
     283 1C33      ROL	R3
     284 0C22      LSL	R2
     285 1C33      ROL	R3
     286 0E28      ADD	R2,R24
     287 1E39      ADC	R3,R25
     288 8239      STD	Y+1,R3
     289 8228      STD	Y+0,R2
     28A E024      LDI	R18,4
     28B E002      LDI	R16,2
     28C DEEB      RCALL	_lcd_dis
(0185)  	lcd_dis(3,0x3,(Minutes+temp2*6));	//显示时间
     28D 9020 0112 LDS	R2,temp2
     28F E086      LDI	R24,6
     290 9D82      MUL	R24,R2
     291 0110      MOVW	R2,R0
     292 EE84      LDI	R24,0xE4
     293 E090      LDI	R25,0
     294 0E28      ADD	R2,R24
     295 1E39      ADC	R3,R25
     296 8239      STD	Y+1,R3
     297 8228      STD	Y+0,R2
     298 E023      LDI	R18,3
     299 E003      LDI	R16,3
     29A DEDD      RCALL	_lcd_dis
(0186)  	lcd_dis(3,0x4,(Minutes+temp2*6+2));	
     29B 9020 0112 LDS	R2,temp2
     29D E086      LDI	R24,6
     29E 9D82      MUL	R24,R2
     29F 0110      MOVW	R2,R0
     2A0 EE86      LDI	R24,0xE6
     2A1 E090      LDI	R25,0
     2A2 0E28      ADD	R2,R24
     2A3 1E39      ADC	R3,R25
     2A4 8239      STD	Y+1,R3
     2A5 8228      STD	Y+0,R2
     2A6 E024      LDI	R18,4
     2A7 E003      LDI	R16,3
     2A8 DECF      RCALL	_lcd_dis
(0187)  	lcd_dis(3,0x5,(Minutes+temp2*6+4)); 
     2A9 9020 0112 LDS	R2,temp2
     2AB E086      LDI	R24,6
     2AC 9D82      MUL	R24,R2
     2AD 0110      MOVW	R2,R0
     2AE EE88      LDI	R24,0xE8
     2AF E090      LDI	R25,0
     2B0 0E28      ADD	R2,R24
     2B1 1E39      ADC	R3,R25
     2B2 8239      STD	Y+1,R3
     2B3 8228      STD	Y+0,R2
     2B4 E025      LDI	R18,5
     2B5 E003      LDI	R16,3
     2B6 DEC1      RCALL	_lcd_dis
(0188)  	lcd_dis(4,0x3,(shu+temp3*4));		//显示力量
     2B7 ED80      LDI	R24,0xD0
     2B8 E090      LDI	R25,0
     2B9 9020 0113 LDS	R2,temp3
     2BB 2433      CLR	R3
     2BC 0C22      LSL	R2
     2BD 1C33      ROL	R3
     2BE 0C22      LSL	R2
     2BF 1C33      ROL	R3
     2C0 0E28      ADD	R2,R24
     2C1 1E39      ADC	R3,R25
     2C2 8239      STD	Y+1,R3
     2C3 8228      STD	Y+0,R2
     2C4 E023      LDI	R18,3
     2C5 E004      LDI	R16,4
     2C6 DEB1      RCALL	_lcd_dis
(0189)  	lcd_dis(4,0x4,(shu+temp3*4+2));
     2C7 ED82      LDI	R24,0xD2
     2C8 E090      LDI	R25,0
     2C9 9020 0113 LDS	R2,temp3
     2CB 2433      CLR	R3
     2CC 0C22      LSL	R2
     2CD 1C33      ROL	R3
     2CE 0C22      LSL	R2
     2CF 1C33      ROL	R3
     2D0 0E28      ADD	R2,R24
     2D1 1E39      ADC	R3,R25
     2D2 8239      STD	Y+1,R3
     2D3 8228      STD	Y+0,R2
     2D4 E024      LDI	R18,4
     2D5 E004      LDI	R16,4
     2D6 DEA1      RCALL	_lcd_dis
(0190)  	K_Symbol();       					//键盘符号显示
     2D7 DEEC      RCALL	_K_Symbol
     2D8 9622      ADIW	R28,2
     2D9 9508      RET
_page4:
     2DA 9722      SBIW	R28,2
(0191) }
(0192) /********************时间到后显示界面***************
(0193) *函    数:page4
(0194) *函数功能:显示时间到界面
(0195) *入口参数:无
(0196) *返 回 值:无
(0197) *备    注:
(0198) ****************************************************/
(0199) void page4(void)
(0200) { 
(0201)  	clr();								//清屏
     2DB DECA      RCALL	_clr
(0202)  	dis(2,15,Welcome);					//显示欢迎
     2DC E680      LDI	R24,0x60
     2DD E090      LDI	R25,0
     2DE 8399      STD	Y+1,R25
     2DF 8388      STD	Y+0,R24
     2E0 E02F      LDI	R18,0xF
     2E1 E002      LDI	R16,2
     2E2 DE62      RCALL	_dis
(0203)  	lcd_dis(3,0x2,(Minutes+temp2*6));	
     2E3 9020 0112 LDS	R2,temp2
     2E5 E086      LDI	R24,6
     2E6 9D82      MUL	R24,R2
     2E7 0110      MOVW	R2,R0
     2E8 EE84      LDI	R24,0xE4
     2E9 E090      LDI	R25,0

⌨️ 快捷键说明

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