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

📄 p18lcd.lst

📁 详细讲解了PIC18单片机的各个功能模块的使用方法和运用技巧
💻 LST
📖 第 1 页 / 共 4 页
字号:
0000B2 0000           00242         NOP                             ; Small delay
0000B4 0000           00243         NOP
                      00244 
0000B6 8280           00245         bsf     LCD_E                   ; Setup to clock data
                      00246         
0000B8 AE??           00247         btfss   temp_wr, 7                      ; Set high nibble
0000BA 9683           00248         bcf     LCD_D7  
0000BC BE??           00249         btfsc   temp_wr, 7
0000BE 8683           00250         bsf     LCD_D7
0000C0 AC??           00251         btfss   temp_wr, 6
0000C2 9483           00252         bcf     LCD_D6  
0000C4 BC??           00253         btfsc   temp_wr, 6
0000C6 8483           00254         bsf     LCD_D6
0000C8 AA??           00255         btfss   temp_wr, 5
0000CA 9283           00256         bcf     LCD_D5  
0000CC BA??           00257         btfsc   temp_wr, 5
0000CE 8283           00258         bsf     LCD_D5
0000D0 A8??           00259         btfss   temp_wr, 4
0000D2 9083           00260         bcf     LCD_D4
0000D4 B8??           00261         btfsc   temp_wr, 4
0000D6 8083           00262         bsf     LCD_D4  
MPASM  5.20                        P18LCD.ASM   5-28-2008  15:51:07         PAGE  6


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00263 
0000D8 0000           00264         NOP
0000DA 0000           00265         NOP
                      00266 
0000DC 9280           00267         bcf     LCD_E                   ; Send the data
                      00268 
0000DE 0012           00269         return
                      00270 ; *******************************************************************
                      00271 
                      00272 
                      00273 
                      00274 
                      00275 
                      00276 ; *******************************************************************
0000E0                00277 LCDWrite
                      00278 ;       rcall   LCDBusy
0000E0 D???           00279         rcall   LCDWriteNibble
0000E2 3A??           00280         swapf   temp_wr,F
0000E4 D???           00281         rcall   LCDWriteNibble
0000E6 3A??           00282         swapf   temp_wr,F
                      00283 
0000E8 0012           00284         return
                      00285 
  0000                00286         GLOBAL  LCDWrite
                      00287 ; *******************************************************************
                      00288 
                      00289 
                      00290 
                      00291 
                      00292 
                      00293 ; *******************************************************************
                      00294 ;     _____    _____________________________________________________
                      00295 ; RS  _____>--<_____________________________________________________
                      00296 ;               ____________________________________________________
                      00297 ; RW  _________/
                      00298 ;                  ____________________      ____________________
                      00299 ; E   ____________/                    \____/                    \__
                      00300 ;     _________________                __________                ___
                      00301 ; DB  _________________>--------------<__________>--------------<___
                      00302 ;
0000EA                00303 LCDRead
0000EA 8095           00304         bsf     LCD_D4_DIR              ; Set data bits to inputs
0000EC 8295           00305         bsf     LCD_D5_DIR
0000EE 8495           00306         bsf     LCD_D6_DIR
0000F0 8695           00307         bsf     LCD_D7_DIR              
                      00308 
0000F2 A0D8           00309         btfss   STATUS, C               ; Set the register select
0000F4 9680           00310         bcf     LCD_RS
0000F6 B0D8           00311         btfsc   STATUS, C       
0000F8 8680           00312         bsf     LCD_RS
                      00313 
0000FA 8480           00314         bsf     LCD_RW                  ;Read = 1
                      00315 
MPASM  5.20                        P18LCD.ASM   5-28-2008  15:51:07         PAGE  7


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0000FC 0000           00316         NOP
0000FE 0000           00317         NOP                     
                      00318 
000100 8280           00319         bsf     LCD_E                   ; Setup to clock data
                      00320 
000102 0000           00321         NOP
000104 0000           00322         NOP
000106 0000           00323         NOP
000108 0000           00324         NOP
                      00325 
00010A A683           00326         btfss   LCD_D7                  ; Get high nibble
00010C 9E??           00327         bcf     temp_rd, 7
00010E B683           00328         btfsc   LCD_D7
000110 8E??           00329         bsf     temp_rd, 7
000112 A483           00330         btfss   LCD_D6                  
000114 9C??           00331         bcf     temp_rd, 6
000116 B483           00332         btfsc   LCD_D6
000118 8C??           00333         bsf     temp_rd, 6
00011A A283           00334         btfss   LCD_D5                  
00011C 9A??           00335         bcf     temp_rd, 5
00011E B283           00336         btfsc   LCD_D5
000120 8A??           00337         bsf     temp_rd, 5
000122 A083           00338         btfss   LCD_D4                  
000124 98??           00339         bcf     temp_rd, 4
000126 B083           00340         btfsc   LCD_D4
000128 88??           00341         bsf     temp_rd, 4
                      00342 
00012A 9280           00343         bcf     LCD_E                   ; Finished reading the data
                      00344 
00012C 0000           00345         NOP
00012E 0000           00346         NOP
000130 0000           00347         NOP
000132 0000           00348         NOP
000134 0000           00349         NOP
000136 0000           00350         NOP
000138 0000           00351         NOP
00013A 0000           00352         NOP
                      00353 
00013C 8280           00354         bsf     LCD_E                   ; Setup to clock data
                      00355 
00013E 0000           00356         NOP
000140 0000           00357         NOP
                      00358 
000142 A683           00359         btfss   LCD_D7                  ; Get low nibble
000144 96??           00360         bcf     temp_rd, 3
000146 B683           00361         btfsc   LCD_D7
000148 86??           00362         bsf     temp_rd, 3
00014A A483           00363         btfss   LCD_D6                  
00014C 94??           00364         bcf     temp_rd, 2
00014E B483           00365         btfsc   LCD_D6
000150 84??           00366         bsf     temp_rd, 2
000152 A283           00367         btfss   LCD_D5                  
000154 92??           00368         bcf     temp_rd, 1
MPASM  5.20                        P18LCD.ASM   5-28-2008  15:51:07         PAGE  8


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

000156 B283           00369         btfsc   LCD_D5
000158 82??           00370         bsf     temp_rd, 1
00015A A083           00371         btfss   LCD_D4                  
00015C 90??           00372         bcf     temp_rd, 0
00015E B083           00373         btfsc   LCD_D4
000160 80??           00374         bsf     temp_rd, 0
                      00375 
000162 9280           00376         bcf     LCD_E                   ; Finished reading the data
                      00377 
000164                00378 FinRd
000164 0012           00379         return
                      00380 ; *******************************************************************
                      00381 
                      00382 
                      00383 
                      00384 
                      00385 
                      00386 
                      00387 ; *******************************************************************
000166                00388 LCDBusy
                      00389                                         ; Check BF
                      00390         rlcd    LCD_INS
                          M  IF 0          == 1
                          M         bsf     STATUS, C
                          M         rcall   LCDRead
                          M  ELSE
000166 90D8               M         bcf     STATUS, C
000168 D???               M         rcall   LCDRead
                          M  ENDIF
00016A BE??           00391         btfsc   temp_rd, 7
00016C D???           00392         bra     LCDBusy
00016E 0012           00393         return
                      00394 
  0000                00395         GLOBAL  LCDBusy
                      00396 ; *******************************************************************
                      00397 
                      00398 
                      00399 
                      00400 
                      00401 
                      00402 
                      00403 ; *******************************************************************
000170                00404 DelayXCycles
000170 2E??           00405         decfsz  delay,F
000172 D???           00406         bra     DelayXCycles
000174 0012           00407         return
                      00408 ; *******************************************************************
                      00409         
                      00410 
                      00411         END
MPASM  5.20                        P18LCD.ASM   5-28-2008  15:51:07         PAGE  9


SYMBOL TABLE
  LABEL                             VALUE 

A                                 00000000
ACCESS                            00000000
ACKDT                             00000005
ACKEN                             00000004
ACKSTAT                           00000006
ADCON0                            00000FC2
ADCON1                            00000FC1
ADCS0                             00000006
ADCS1                             00000007
ADCS2                             00000006
ADDEN                             00000003
ADFM                              00000007
ADIE                              00000006
ADIF                              00000006
ADIP                              00000006
ADON                              00000000
ADRESH                            00000FC4
ADRESL                            00000FC3
AN0                               00000000
AN1                               00000001
AN2                               00000002
AN3                               00000003
AN4                               00000005
AN5                               00000000
AN6                               00000001
AN7                               00000002
BANKED                            00000001
BCLIE                             00000003
BCLIF                             00000003
BCLIP                             00000003
BF                                00000000
BOR                               00000000
BRGH                              00000002
BSR                               00000FE0
C                                 00000000
CCP1                              00000002
CCP1CON                           00000FBD
CCP1IE                            00000002
CCP1IF                            00000002
CCP1IP                            00000002
CCP1M0                            00000000
CCP1M1                            00000001
CCP1M2                            00000002
CCP1M3                            00000003
CCP1X                             00000005
CCP1Y                             00000004
CCP2                              00000001
CCP2A                             00000003
CCP2CON                           00000FBA
CCP2IE                            00000000
CCP2IF                            00000000
CCP2IP                            00000000
CCP2M0                            00000000
MPASM  5.20                        P18LCD.ASM   5-28-2008  15:51:07         PAGE 10


SYMBOL TABLE
  LABEL                             VALUE 

CCP2M1                            00000001
CCP2M2                            00000002
CCP2M3                            00000003
CCP2X                             00000005
CCP2Y                             00000004
CCPR1H                            00000FBF
CCPR1L                            00000FBE
CCPR2H                            00000FBC
CCPR2L                            00000FBB
CFGS                              00000006
CHS0                              00000003
CHS1                              00000004
CHS2                              00000005
CK                                00000006

⌨️ 快捷键说明

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