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

📄 lcd12232.lis

📁 用ICC-AVR编译器编译M16单片机适用的LCD12232液晶屏驱动程序.
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module LCD12232.C
                        .area data(ram, con, rel)
 0000           _b1::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0001                   .dbsym e b1 _b1 c
 0001           _pianyi::
 0001                   .blkb 1
                        .area idata
 0001 41                .byte 65
                        .area data(ram, con, rel)
 0002                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0002                   .dbsym e pianyi _pianyi c
 0002           _sz0::
 0002                   .blkb 1
                        .area idata
 0002 41                .byte 65
                        .area data(ram, con, rel)
 0003                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0003                   .dbsym e sz0 _sz0 c
 0003           _sz1::
 0003                   .blkb 1
                        .area idata
 0003 41                .byte 65
                        .area data(ram, con, rel)
 0004                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0004                   .dbsym e sz1 _sz1 c
 0004           _sz2::
 0004                   .blkb 1
                        .area idata
 0004 41                .byte 65
                        .area data(ram, con, rel)
 0005                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0005                   .dbsym e sz2 _sz2 c
 0005           _sz3::
 0005                   .blkb 1
                        .area idata
 0005 41                .byte 65
                        .area data(ram, con, rel)
 0006                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0006                   .dbsym e sz3 _sz3 c
 0006           _sz4::
 0006                   .blkb 1
                        .area idata
 0006 41                .byte 65
                        .area data(ram, con, rel)
 0007                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0007                   .dbsym e sz4 _sz4 c
 0007           _sz5::
 0007                   .blkb 1
                        .area idata
 0007 41                .byte 65
                        .area data(ram, con, rel)
 0008                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0008                   .dbsym e sz5 _sz5 c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\新建文件夹\LCD12232APP\LCD12232.C
 0000                   .dbfunc e wcodel _wcodel fV
 0000           ;         status -> R22
 0000           ;              c -> R20
                        .even
 0000           _wcodel::
 0000 0E940000          xcall push_gset2
 0004 402F              mov R20,R16
 0006                   .dbline -1
 0006                   .dbline 30
 0006           ; //-----------------------------------------------------------------------------
 0006           ; //-----------------------------------------------------------------------------
 0006           ; //                                        LCD12232 Library for AVR 
 0006           ; //                                                              V0.1c
 0006           ; //                                                             zhongwh
 0006           ; //                                                    Copyright 2003-2005 
 0006           ; //                                       Email: hfkj01@163.com
 0006           ; //                                                2005-6-19 15:38:52
 0006           ; //                        Compiled with Imagecraft C Compiler for the AVR series
 0006           ; //-----------------------------------------------------------------------------
 0006           ; //-----------------------------------------------------------------------------
 0006           ; #include <iom16v.h>
 0006           ; #define prepage 0xB8
 0006           ; #define precol 0X00
 0006           ; #define       E1_H  PORTD|=BIT(PD4);
 0006           ; #define       E1_L  PORTD&=~BIT(PD4);
 0006           ; #define       A0_H  PORTD|=BIT(PD7);
 0006           ; #define       A0_L  PORTD&=~BIT(PD7);
 0006           ; #define       LCD_READ  PORTD|=BIT(PD6);
 0006           ; #define       LCD_WRITE PORTD&=~BIT(PD6);
 0006           ; #define       E2_H  PORTD|=BIT(PD5);
 0006           ; #define       E2_L  PORTD&=~BIT(PD5);
 0006           ; #define       LCD_PCT         DDRC               
 0006           ; #define       LCD_IN          PINC
 0006           ; #define       LCD_DATA        PORTC
 0006           ; #define uchar unsigned char
 0006           ; uchar b1=0,pianyi=0x41,sz0=0x41,sz1=0x41,sz2=0x41,sz3=0x41,sz4=0x41,sz5=0x41;
 0006           ; const char chartable[35][32];
 0006           ; void wcodel (uchar c)
 0006           ; {      uchar status;
 0006 30C0              xjmp L3
 0008           L2:
 0008                   .dbline 32
 0008           ;        
 0008           ;        while(1){
 0008                   .dbline 33
 0008           ;                 LCD_PCT=0X00;
 0008 2224              clr R2
 000A 24BA              out 0x14,R2
 000C                   .dbline 34
 000C           ;                         E1_H 
 000C 04E0              ldi R16,4
 000E 10E0              ldi R17,0
 0010 0E940000          xcall _BIT
 0014 22B2              in R2,0x12
 0016 3324              clr R3
 0018 202A              or R2,R16
 001A 312A              or R3,R17
 001C 22BA              out 0x12,R2
 001E                   .dbline 35
 001E           ;                         A0_L
 001E 07E0              ldi R16,7
 0020 10E0              ldi R17,0
 0022 0E940000          xcall _BIT
 0026 1801              movw R2,R16
 0028 2094              com R2
 002A 3094              com R3
 002C 42B2              in R4,0x12
 002E 5524              clr R5
 0030 4220              and R4,R2
 0032 5320              and R5,R3
 0034 42BA              out 0x12,R4
 0036                   .dbline 36
 0036           ;                         LCD_READ
 0036 06E0              ldi R16,6
 0038 10E0              ldi R17,0
 003A 0E940000          xcall _BIT
 003E 22B2              in R2,0x12
 0040 3324              clr R3
 0042 202A              or R2,R16
 0044 312A              or R3,R17
 0046 22BA              out 0x12,R2
 0048                   .dbline 37
 0048           ;                         E1_L
 0048 04E0              ldi R16,4
 004A 10E0              ldi R17,0
 004C 0E940000          xcall _BIT
 0050 1801              movw R2,R16
 0052 2094              com R2
 0054 3094              com R3
 0056 42B2              in R4,0x12
 0058 5524              clr R5
 005A 4220              and R4,R2
 005C 5320              and R5,R3
 005E 42BA              out 0x12,R4
 0060                   .dbline 38
 0060           ;                         status=LCD_IN;
 0060 63B3              in R22,0x13
 0062                   .dbline 39
 0062           ;                         status=status&0x80;
 0062 6078              andi R22,128
 0064                   .dbline 40
 0064           ;                       if (status==0) break;
 0064 09F4              brne L5
 0066                   .dbline 40
 0066 01C0              xjmp L4
 0068           L5:
 0068                   .dbline 41
 0068           L3:
 0068                   .dbline 32
 0068 CFCF              xjmp L2
 006A           L4:
 006A                   .dbline 42
 006A           ;                       }
 006A           ;       LCD_PCT=0XFF;
 006A 8FEF              ldi R24,255
 006C 84BB              out 0x14,R24
 006E                   .dbline 43
 006E           ;       E1_H 
 006E 04E0              ldi R16,4
 0070 10E0              ldi R17,0
 0072 0E940000          xcall _BIT
 0076 22B2              in R2,0x12
 0078 3324              clr R3
 007A 202A              or R2,R16
 007C 312A              or R3,R17
 007E 22BA              out 0x12,R2
 0080                   .dbline 44
 0080           ;       LCD_WRITE
 0080 06E0              ldi R16,6
 0082 10E0              ldi R17,0
 0084 0E940000          xcall _BIT
 0088 1801              movw R2,R16
 008A 2094              com R2
 008C 3094              com R3
 008E 42B2              in R4,0x12
 0090 5524              clr R5
 0092 4220              and R4,R2
 0094 5320              and R5,R3
 0096 42BA              out 0x12,R4
 0098                   .dbline 45
 0098           ;       LCD_DATA=c;
 0098 45BB              out 0x15,R20
 009A                   .dbline 46
 009A           ;     E1_L
 009A 04E0              ldi R16,4
 009C 10E0              ldi R17,0
 009E 0E940000          xcall _BIT
 00A2 1801              movw R2,R16
 00A4 2094              com R2
 00A6 3094              com R3
 00A8 42B2              in R4,0x12
 00AA 5524              clr R5
 00AC 4220              and R4,R2
 00AE 5320              and R5,R3
 00B0 42BA              out 0x12,R4
 00B2                   .dbline -2
 00B2                   .dbline 48
 00B2           ;       
 00B2           ; }
 00B2           L1:
 00B2 0E940000          xcall pop_gset2
 00B6                   .dbline 0 ; func end
 00B6 0895              ret
 00B8                   .dbsym r status 22 c
 00B8                   .dbsym r c 20 c
 00B8                   .dbend
 00B8                   .dbfunc e wdatal _wdatal fV
 00B8           ;         status -> R22
 00B8           ;              d -> R20
                        .even
 00B8           _wdatal::
 00B8 0E940000          xcall push_gset2
 00BC 402F              mov R20,R16
 00BE                   .dbline -1
 00BE                   .dbline 50
 00BE           ; void wdatal (uchar d)
 00BE           ; {      uchar status;
 00BE 30C0              xjmp L9
 00C0           L8:
 00C0                   .dbline 52
 00C0           ;        
 00C0           ;         while(1){   
 00C0                   .dbline 53
 00C0           ;                         LCD_PCT=0X00;
 00C0 2224              clr R2
 00C2 24BA              out 0x14,R2
 00C4                   .dbline 54
 00C4           ;                         E1_H
 00C4 04E0              ldi R16,4
 00C6 10E0              ldi R17,0
 00C8 0E940000          xcall _BIT
 00CC 22B2              in R2,0x12
 00CE 3324              clr R3
 00D0 202A              or R2,R16
 00D2 312A              or R3,R17
 00D4 22BA              out 0x12,R2
 00D6                   .dbline 55
 00D6           ;                         A0_L
 00D6 07E0              ldi R16,7
 00D8 10E0              ldi R17,0
 00DA 0E940000          xcall _BIT
 00DE 1801              movw R2,R16
 00E0 2094              com R2
 00E2 3094              com R3
 00E4 42B2              in R4,0x12
 00E6 5524              clr R5
 00E8 4220              and R4,R2
 00EA 5320              and R5,R3
 00EC 42BA              out 0x12,R4
 00EE                   .dbline 56
 00EE           ;                         LCD_READ
 00EE 06E0              ldi R16,6
 00F0 10E0              ldi R17,0
 00F2 0E940000          xcall _BIT
 00F6 22B2              in R2,0x12
 00F8 3324              clr R3
 00FA 202A              or R2,R16
 00FC 312A              or R3,R17
 00FE 22BA              out 0x12,R2
 0100                   .dbline 57
 0100           ;                         E1_L
 0100 04E0              ldi R16,4
 0102 10E0              ldi R17,0
 0104 0E940000          xcall _BIT
 0108 1801              movw R2,R16
 010A 2094              com R2
 010C 3094              com R3
 010E 42B2              in R4,0x12
 0110 5524              clr R5
 0112 4220              and R4,R2
 0114 5320              and R5,R3
 0116 42BA              out 0x12,R4
 0118                   .dbline 58
 0118           ;                         status=LCD_IN;
 0118 63B3              in R22,0x13
 011A                   .dbline 59
 011A           ;                         status=status&0x80;
 011A 6078              andi R22,128
 011C                   .dbline 60
 011C           ;                       if (status==0) break;
 011C 09F4              brne L11
 011E                   .dbline 60
 011E 01C0              xjmp L10
 0120           L11:
 0120                   .dbline 61
 0120           L9:
 0120                   .dbline 52
 0120 CFCF              xjmp L8
 0122           L10:
 0122                   .dbline 62
 0122           ;                       } 
 0122           ;       LCD_PCT=0XFF;   
 0122 8FEF              ldi R24,255
 0124 84BB              out 0x14,R24
 0126                   .dbline 63
 0126           ;       E1_H            
 0126 04E0              ldi R16,4
 0128 10E0              ldi R17,0
 012A 0E940000          xcall _BIT
 012E 22B2              in R2,0x12
 0130 3324              clr R3
 0132 202A              or R2,R16
 0134 312A              or R3,R17
 0136 22BA              out 0x12,R2
 0138                   .dbline 64
 0138           ;       A0_H
 0138 07E0              ldi R16,7
 013A 10E0              ldi R17,0
 013C 0E940000          xcall _BIT
 0140 22B2              in R2,0x12
 0142 3324              clr R3
 0144 202A              or R2,R16
 0146 312A              or R3,R17
 0148 22BA              out 0x12,R2
 014A                   .dbline 65
 014A           ;       LCD_WRITE
 014A 06E0              ldi R16,6
 014C 10E0              ldi R17,0
 014E 0E940000          xcall _BIT
 0152 1801              movw R2,R16
 0154 2094              com R2
 0156 3094              com R3
 0158 42B2              in R4,0x12
 015A 5524              clr R5
 015C 4220              and R4,R2
 015E 5320              and R5,R3
 0160 42BA              out 0x12,R4
 0162                   .dbline 66
 0162           ;       LCD_DATA=d;
 0162 45BB              out 0x15,R20
 0164                   .dbline 67

⌨️ 快捷键说明

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