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

📄 m128.lis

📁 ewts avr驱动程序 角速度传感器 104为秒
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0276                   .dbline 125
 0276 1A01              movw R2,R20
 0278 4F5F              subi R20,255  ; offset = 1
 027A 5F4F              sbci R21,255
 027C F101              movw R30,R2
 027E 0491              lpm R16,Z
 0280 34D0              xcall _WrDat
 0282           L41:
 0282                   .dbline 125
 0282           ;  while(*p !='\0')WrDat(*(p++)) ;
 0282 FA01              movw R30,R20
 0284 E491              lpm R30,Z
 0286 EE23              tst R30
 0288 B1F7              brne L40
 028A                   .dbline -2
 028A           L39:
 028A 0E940000          xcall pop_gset2
 028E                   .dbline 0 ; func end
 028E 0895              ret
 0290                   .dbsym r p 20 pkc
 0290                   .dbsym r addr 22 c
 0290                   .dbend
 0290                   .dbfunc e LcdIni _LcdIni fV
 0290           ;              i -> R20,R21
                        .even
 0290           _LcdIni::
 0290 0E940000          xcall push_gset1
 0294                   .dbline -1
 0294                   .dbline 129
 0294           ; }
 0294           ; 
 0294           ; void LcdIni()
 0294           ; {
 0294                   .dbline 131
 0294           ;     uint i ;
 0294           ;  DDRD=0XFF ;   //设置PA输出
 0294 8FEF              ldi R24,255
 0296 81BB              out 0x11,R24
 0298                   .dbline 132
 0298           ;  PORTD=0XFF ;   //全部加上上拉电阻
 0298 82BB              out 0x12,R24
 029A                   .dbline 133
 029A           ;  DDRC=0XFF ;   //设置PC为输出
 029A 84BB              out 0x14,R24
 029C                   .dbline 134
 029C           ;  PORTC=0XFF ;   //全部加上上拉电阻
 029C 85BB              out 0x15,R24
 029E                   .dbline 135
 029E           ;  WrOp(0x38) ;   
 029E 08E3              ldi R16,56
 02A0 12D0              xcall _WrOp
 02A2                   .dbline 136
 02A2           ;  WrOp(0x06) ;   //光标加1
 02A2 06E0              ldi R16,6
 02A4 10D0              xcall _WrOp
 02A6                   .dbline 137
 02A6           ;  WrOp(0x0c) ;   //开显示
 02A6 0CE0              ldi R16,12
 02A8 0ED0              xcall _WrOp
 02AA                   .dbline 138
 02AA           ;  WrOp(0x01) ;
 02AA 01E0              ldi R16,1
 02AC 0CD0              xcall _WrOp
 02AE                   .dbline 139
 02AE 4427              clr R20
 02B0 5527              clr R21
 02B2 02C0              xjmp L47
 02B4           L44:
 02B4                   .dbline 139
 02B4           L45:
 02B4                   .dbline 139
 02B4 4F5F              subi R20,255  ; offset = 1
 02B6 5F4F              sbci R21,255
 02B8           L47:
 02B8                   .dbline 139
 02B8           ;  for(i=0 ;i<5000 ;i++) ;
 02B8 4838              cpi R20,136
 02BA E3E1              ldi R30,19
 02BC 5E07              cpc R21,R30
 02BE D0F3              brlo L44
 02C0                   .dbline -2
 02C0           L43:
 02C0 0E940000          xcall pop_gset1
 02C4                   .dbline 0 ; func end
 02C4 0895              ret
 02C6                   .dbsym r i 20 i
 02C6                   .dbend
 02C6                   .dbfunc e WrOp _WrOp fV
 02C6           ;              i -> R20
 02C6           ;            dat -> R20
                        .even
 02C6           _WrOp::
 02C6 0E940000          xcall push_gset1
 02CA 402F              mov R20,R16
 02CC                   .dbline -1
 02CC                   .dbline 143
 02CC           ; }
 02CC           ; 
 02CC           ; void WrOp(uchar dat)
 02CC           ; {
 02CC                   .dbline 145
 02CC           ;  uchar i ;
 02CC           ;  ChkBusy() ;
 02CC 20D0              xcall _ChkBusy
 02CE                   .dbline 146
 02CE           ;  PORTD &=~BIT(rs) ; //RS=0
 02CE 9298              cbi 0x12,2
 02D0                   .dbline 147
 02D0           ;  PORTD &=~BIT(rw) ; //RW=0
 02D0 9398              cbi 0x12,3
 02D2                   .dbline 148
 02D2           ;  PORTD &=~BIT(en) ; //EN=0
 02D2 9498              cbi 0x12,4
 02D4                   .dbline 149
 02D4           ;  PORTC =dat ;   //送数据
 02D4 45BB              out 0x15,R20
 02D6                   .dbline 150
 02D6           ;  PORTD |=BIT(en) ; //EN=1
 02D6 949A              sbi 0x12,4
 02D8                   .dbline 151
 02D8 41E0              ldi R20,1
 02DA 01C0              xjmp L52
 02DC           L49:
 02DC                   .dbline 151
 02DC           L50:
 02DC                   .dbline 151
 02DC 4395              inc R20
 02DE           L52:
 02DE                   .dbline 151
 02DE           ;  for(i=1 ;i ;i++) ;  //延时
 02DE 4423              tst R20
 02E0 E9F7              brne L49
 02E2                   .dbline 152
 02E2           ;  PORTD &=~BIT(en) ; //EN=0
 02E2 9498              cbi 0x12,4
 02E4                   .dbline -2
 02E4           L48:
 02E4 0E940000          xcall pop_gset1
 02E8                   .dbline 0 ; func end
 02E8 0895              ret
 02EA                   .dbsym r i 20 c
 02EA                   .dbsym r dat 20 c
 02EA                   .dbend
 02EA                   .dbfunc e WrDat _WrDat fV
 02EA           ;              i -> R20
 02EA           ;            dat -> R20
                        .even
 02EA           _WrDat::
 02EA 0E940000          xcall push_gset1
 02EE 402F              mov R20,R16
 02F0                   .dbline -1
 02F0                   .dbline 156
 02F0           ; }
 02F0           ; 
 02F0           ; void WrDat(uchar dat)
 02F0           ; {
 02F0                   .dbline 158
 02F0           ;  uchar i ;
 02F0           ;  ChkBusy() ;
 02F0 0ED0              xcall _ChkBusy
 02F2                   .dbline 159
 02F2           ;  PORTD |=BIT(rs) ; //rs=1
 02F2 929A              sbi 0x12,2
 02F4                   .dbline 160
 02F4           ;  PORTD &=~BIT(rw) ; //rw=0
 02F4 9398              cbi 0x12,3
 02F6                   .dbline 161
 02F6           ;  PORTD &=~BIT(en) ; //en=0
 02F6 9498              cbi 0x12,4
 02F8                   .dbline 162
 02F8           ;  PORTC=dat ;   //送数据
 02F8 45BB              out 0x15,R20
 02FA                   .dbline 163
 02FA           ;  PORTD |=BIT(en) ; //en=1
 02FA 949A              sbi 0x12,4
 02FC                   .dbline 164
 02FC 41E0              ldi R20,1
 02FE 01C0              xjmp L57
 0300           L54:
 0300                   .dbline 164
 0300           L55:
 0300                   .dbline 164
 0300 4395              inc R20
 0302           L57:
 0302                   .dbline 164
 0302           ;  for(i=1 ;i ;i++) ;  //延时
 0302 4423              tst R20
 0304 E9F7              brne L54
 0306                   .dbline 165
 0306           ;  PORTD &=~BIT(en) ; //en=0
 0306 9498              cbi 0x12,4
 0308                   .dbline -2
 0308           L53:
 0308 0E940000          xcall pop_gset1
 030C                   .dbline 0 ; func end
 030C 0895              ret
 030E                   .dbsym r i 20 c
 030E                   .dbsym r dat 20 c
 030E                   .dbend
 030E                   .dbfunc e ChkBusy _ChkBusy fV
                        .even
 030E           _ChkBusy::
 030E                   .dbline -1
 030E                   .dbline 169
 030E           ; }
 030E           ; 
 030E           ; void ChkBusy()
 030E           ; {
 030E                   .dbline 170
 030E           ;  DDRC=0X00 ;   //设置为输入
 030E 2224              clr R2
 0310 24BA              out 0x14,R2
 0312                   .dbline 171
 0312           ;  PORTC=0X00 ;   //不设置上拉电阻
 0312 25BA              out 0x15,R2
 0314                   .dbline 172
 0314           ;  PORTD &=~BIT(rs) ; //RS=0
 0314 9298              cbi 0x12,2
 0316                   .dbline 173
 0316           ;  PORTD |=BIT(rw) ; //RW=1
 0316 939A              sbi 0x12,3
 0318                   .dbline 174
 0318           ;  PORTD |=BIT(en) ; //EN=1
 0318 949A              sbi 0x12,4
 031A           L59:
 031A                   .dbline 175
 031A           L60:
 031A                   .dbline 175
 031A           ;  while(PINC & 0x80) ; //送数据
 031A 9F99              sbic 0x13,7
 031C FECF              rjmp L59
 031E                   .dbline 176
 031E           ;  PORTD &=~BIT(en) ; //en=0
 031E 9498              cbi 0x12,4
 0320                   .dbline 177
 0320           ;  DDRC=0xff ;   //设置为输出
 0320 8FEF              ldi R24,255
 0322 84BB              out 0x14,R24
 0324                   .dbline -2
 0324           L58:
 0324                   .dbline 0 ; func end
 0324 0895              ret
 0326                   .dbend
 0326                   .dbfunc e delayms _delayms fV
 0326           ;              i -> R20,R21
 0326           ;              j -> R22
 0326           ;              n -> R16,R17
                        .even
 0326           _delayms::
 0326 0E940000          xcall push_gset2
 032A                   .dbline -1
 032A                   .dbline 181
 032A           ; }
 032A           ; 
 032A           ; void delayms(uint n)
 032A           ; {
 032A                   .dbline 184
 032A           ;   uchar j ;
 032A           ;  uint i ;
 032A           ;   for(i=0 ;i<n ;i++)
 032A 4427              clr R20
 032C 5527              clr R21
 032E 07C0              xjmp L66
 0330           L63:
 0330                   .dbline 185
 0330 6627              clr R22
 0332 01C0              xjmp L70
 0334           L67:
 0334                   .dbline 185
 0334           L68:
 0334                   .dbline 185
 0334 6395              inc R22
 0336           L70:
 0336                   .dbline 185
 0336 6A3F              cpi R22,250
 0338 E8F3              brlo L67
 033A           L64:
 033A                   .dbline 184
 033A 4F5F              subi R20,255  ; offset = 1
 033C 5F4F              sbci R21,255
 033E           L66:
 033E                   .dbline 184
 033E 4017              cp R20,R16
 0340 5107              cpc R21,R17
 0342 B0F3              brlo L63
 0344                   .dbline -2
 0344           L62:
 0344 0E940000          xcall pop_gset2
 0348                   .dbline 0 ; func end
 0348 0895              ret
 034A                   .dbsym r i 20 i
 034A                   .dbsym r j 22 c
 034A                   .dbsym r n 16 i
 034A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\a___EWTS82\m128.c
 0000           _Adc::
 0000                   .blkb 6
 0006                   .dbsym e Adc _Adc A[6:3]I
 0006           _BCD::
 0006                   .blkb 6
 000C                   .dbsym e BCD _BCD A[6:6]c
                        .area data(ram, con, rel)
 0000                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\a___EWTS82\m128.c
 0000           L6:
 0000                   .blkb 9
                        .area idata
 0000 CAFDC4A3D7AABBBB00        .byte 202,253,196,163,215,170,187,187,0
                        .area data(ram, con, rel)
 0009                   .dbfile D:\PROTEU~1.7\PROTEU~1.7\JOHU\a___EWTS82\m128.c

⌨️ 快捷键说明

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