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

📄 mnj_1335.lis

📁 app_16x4_SED1335_T6963_LCD_demo
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module MNJ_1335.c
                        .area data(ram, con, rel)
 0000           _RX_data::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .blkb 3
                        .area idata
 0001 000000            .byte 0,0,0
                        .area data(ram, con, rel)
 0004                   .dbfile MNJ_1335.c
 0004                   .dbsym e RX_data _RX_data A[4:4]c
 0004           _RX_counter::
 0004                   .blkb 1
                        .area idata
 0004 00                .byte 0
                        .area data(ram, con, rel)
 0005                   .dbfile MNJ_1335.c
 0005                   .dbsym e RX_counter _RX_counter c
 0005           _ParaSysTable8::
 0005                   .blkb 2
                        .area idata
 0005 3087              .byte 48,135
                        .area data(ram, con, rel)
 0007                   .dbfile MNJ_1335.c
 0007                   .blkb 2
                        .area idata
 0007 0727              .byte 7,39
                        .area data(ram, con, rel)
 0009                   .dbfile MNJ_1335.c
 0009                   .blkb 2
                        .area idata
 0009 42F0              .byte 'B,240
                        .area data(ram, con, rel)
 000B                   .dbfile MNJ_1335.c
 000B                   .blkb 2
                        .area idata
 000B 2800              .byte 40,0
                        .area data(ram, con, rel)
 000D                   .dbfile MNJ_1335.c
 000D                   .dbsym e ParaSysTable8 _ParaSysTable8 A[8:8]c
 000D           _ParaScrTableA::
 000D                   .blkb 2
                        .area idata
 000D 0000              .byte 0,0
                        .area data(ram, con, rel)
 000F                   .dbfile MNJ_1335.c
 000F                   .blkb 2
                        .area idata
 000F F000              .byte 240,0
                        .area data(ram, con, rel)
 0011                   .dbfile MNJ_1335.c
 0011                   .blkb 2
                        .area idata
 0011 40F0              .byte 64,240
                        .area data(ram, con, rel)
 0013                   .dbfile MNJ_1335.c
 0013                   .blkb 2
                        .area idata
 0013 0080              .byte 0,128
                        .area data(ram, con, rel)
 0015                   .dbfile MNJ_1335.c
 0015                   .blkb 2
                        .area idata
 0015 0000              .byte 0,0
                        .area data(ram, con, rel)
 0017                   .dbfile MNJ_1335.c
 0017                   .dbsym e ParaScrTableA _ParaScrTableA A[10:10]c
                        .area text(rom, con, rel)
 0000                   .dbfile MNJ_1335.c
 0000                   .dbfunc e delay_us _delay_us fV
 0000           ;           time -> R16,R17
                        .even
 0000           _delay_us::
 0000                   .dbline -1
 0000                   .dbline 106
 0000           ; /*-------------------------------------------------------
 0000           ;              MD-500Ⅱ模拟定位机(ICCAVR)显示程序    2.0
 0000           ;                    作者:cyk8          2004.12.3
 0000           ;                 1、应包含头文件slavr.h
 0000           ;           2、在工程选项中的Additional Lib中填入slavr
 0000           ;                    使编译器使用附加库文件libslavr.a
 0000           ;                 3、数据线D0~D7接PORTC
 0000           ;               WR------>用PD4代替
 0000           ;               RD------>用PD3代替
 0000           ;                         A0------>用PD6代替
 0000           ;                         RESET接RESET
 0000           ;                 CS接地
 0000           ;                 4,  通讯协议:
 0000           ;                       主机发送的控制指令采用6个字符组成的字符串格式“(X/Y/S/C/G/T)”+数据1,数据2,数据3,数据4+“#”,
 0000           ;                        主机共发7B,7C,7D,7E,7F,
 0000           ;                                a.第一个发的是X,Y,SAD,C,G,TH的ASCⅡ
 0000           ;                                  X--->58H(X)
 0000           ;                                  Y--->59H(Y)
 0000           ;                                  SAD->53H(S)
 0000           ;                                  C--->43H(C)
 0000           ;                                  G--->47H(G)
 0000           ;                                  TH-->54H(T)
 0000           ;                                b.7B,7C,7D,7E四个数据
 0000           ;                                c.最后一个7F=#23H(ASCⅡ="#"表示结束符号)
 0000           ; 
 0000           ; ---------------------------------------------------------*/
 0000           ; #include<ioM16V.h>
 0000           ; #include <stdlib.h>
 0000           ; #include <macros.h>
 0000           ; #include <slavr.h>
 0000           ; 
 0000           ; //宏定义//
 0000           ; #define       Uchar unsigned char
 0000           ; #define Uint unsigned int
 0000           ; #define       paraP9          0x28            // 相对于320 X 240
 0000           ; #define BasePart1 0x00 
 0000           ; #define BasePart2 0x40 
 0000           ; #define BasePart3 0x80 
 0000           ; #define BasePart4 0x00 
 0000           ; #define SystemSet 0x40 
 0000           ; #define Scroll 0x44 
 0000           ; #define DispOn 0x59 
 0000           ; #define DispOff 0x58 
 0000           ; #define Ovlay 0x5b 
 0000           ; #define HdotScr 0x5a 
 0000           ; #define CsrForm 0x5d 
 0000           ; #define CgramAdr 0x5c 
 0000           ; #define CsrDirR 0x4c 
 0000           ; #define CsrDirL 0x4d 
 0000           ; #define CsrDirU 0x4e 
 0000           ; #define CsrDirD 0x4f 
 0000           ; #define CsrW 0x46 
 0000           ; #define CsrR 0x47 
 0000           ; #define mWrite 0x42 
 0000           ; #define mRead 0x43 
 0000           ; #define A0_H PORTD |=0x40
 0000           ; #define A0_L PORTD &=0xbf
 0000           ; #define RD_H PORTD |=0x08
 0000           ; #define WR_H PORTD |=0x10
 0000           ; #define WR_L PORTD &=0xef
 0000           ; #define LcmRdataPort A0_H
 0000           ; #define LcmStatusPort A0_L
 0000           ; 
 0000           ; unsigned char RX_data[4]={0};       //串口接收的数据
 0000           ; unsigned char RX_counter=0;         //串口接收到的字节数计数器
 0000           ; 
 0000           ; void UART_init        (void);
 0000           ; void putchar          (unsigned char c); 
 0000           ; void puts             (unsigned char *s);
 0000           ; void UART_rx          (void);
 0000           ; void delay_nms        (unsigned int n);
 0000           ; 
 0000           ; const Uchar  *ptr;   //液晶字符指针变量
 0000           ; 
 0000           ; Uchar ParaSysTable8[]= {
 0000           ;               0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00                         // P1-P8参数
 0000           ;               };
 0000           ; Uchar ParaScrTableA[]= {
 0000           ;               0x00,BasePart1,0xF0,0x00,BasePart2,0xF0,0x00,BasePart3,0x00,BasePart4
 0000           ; };            
 0000           ;               
 0000           ; void PutCdotInAlpha( Uchar Ox, Uchar Oy, Uchar Cnumber );
 0000           ; void PutWordInAlpha(void);
 0000           ; void TextDisp( Uchar Ox,Uchar Oy, const Uchar  *ptr );
 0000           ; void LcmInition( void ); 
 0000           ; void LcmClear( void ); 
 0000           ; void SelfInit( void ); 
 0000           ; void delay(Uint t);
 0000           ; void RollLaft( void );
 0000           ; void Rollright( void );
 0000           ; void RollDown( void );
 0000           ; void RollUp( void ); 
 0000           ; void BuildCgram( Uchar Base, Uchar EndlCode );
 0000           ; void PutWordInAlpha(void);
 0000           ; void PutWordInGraph( void );
 0000           ; void PutWord24InGraph( void ); 
 0000           ; void Linexy(Uint x0,Uchar y0,Uint xt,Uchar yt,Uchar att);
 0000           ; void Sample3( void );
 0000           ; void Point(Uint Px, Uchar Py, Uchar attr );
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; /*  微秒级延时函数(mS)  本延时函数实际为delay_us(int time)中的int time=1->实际等于2us */
 0000           ; void delay_us(int time)
 0000           ;  {     
 0000           L2:
 0000                   .dbline 108
 0000           ;   do
 0000           ;       {
 0000                   .dbline 109
 0000           ;       time--;
 0000 0150              subi R16,1
 0002 1040              sbci R17,0
 0004                   .dbline 110
 0004           ;       }       
 0004           L3:
 0004                   .dbline 111
 0004           ;   while (time>1);
 0004 81E0              ldi R24,1
 0006 90E0              ldi R25,0
 0008 8017              cp R24,R16
 000A 9107              cpc R25,R17
 000C CCF3              brlt L2
 000E                   .dbline -2
 000E                   .dbline 112
 000E           ;  }              
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbsym r time 16 I
 0010                   .dbend
 0010                   .dbfunc e delay_ms _delay_ms fV
 0010           ;           time -> R20,R21
                        .even
 0010           _delay_ms::
 0010 0E940000          xcall push_gset1
 0014 A801              movw R20,R16
 0016                   .dbline -1
 0016                   .dbline 116
 0016           ; 
 0016           ; /*        毫秒级延时函数      */       
 0016           ; void delay_ms(unsigned int time)
 0016           ;        {
 0016 05C0              xjmp L7
 0018           L6:
 0018                   .dbline 118
 0018                   .dbline 119
 0018 04EF              ldi R16,500
 001A 11E0              ldi R17,1
 001C F1DF              xcall _delay_us
 001E                   .dbline 120
 001E 4150              subi R20,1
 0020 5040              sbci R21,0
 0022                   .dbline 121
 0022           L7:
 0022                   .dbline 117
 0022           ;         while(time!=0)
 0022 4030              cpi R20,0
 0024 4507              cpc R20,R21
 0026 C1F7              brne L6
 0028           X0:
 0028                   .dbline -2
 0028                   .dbline 122
 0028           ;                 {     
 0028           ;                  delay_us(500);
 0028           ;                  time--;
 0028           ;                 }
 0028           ;        }
 0028           L5:
 0028 0E940000          xcall pop_gset1
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbsym r time 20 i
 002E                   .dbend
 002E                   .dbfunc e sed1335_write_command _sed1335_write_command fV
 002E           ;    commandcode -> R16
                        .even
 002E           _sed1335_write_command::
 002E                   .dbline -1
 002E                   .dbline 124
 002E           ; void sed1335_write_command(Uchar commandcode) 
 002E           ; { 
 002E                   .dbline 125
 002E           ; PORTC=commandcode; 
 002E 05BB              out 0x15,R16
 0030                   .dbline 126
 0030           ; A0_H; 
 0030 969A              sbi 0x12,6
 0032                   .dbline 127
 0032           ; RD_H;
 0032 939A              sbi 0x12,3
 0034                   .dbline 128
 0034           ; WR_L;
 0034 82B3              in R24,0x12
 0036 8F7E              andi R24,239
 0038 82BB              out 0x12,R24
 003A                   .dbline 129
 003A           ; WR_H;
 003A 949A              sbi 0x12,4
 003C                   .dbline -2
 003C                   .dbline 130
 003C           ; } 
 003C           L9:
 003C                   .dbline 0 ; func end
 003C 0895              ret
 003E                   .dbsym r commandcode 16 c
 003E                   .dbend
 003E                   .dbfunc e sed1335_write_data _sed1335_write_data fV
 003E           ;           data -> R16
                        .even
 003E           _sed1335_write_data::
 003E                   .dbline -1
 003E                   .dbline 133
 003E           ; 
 003E           ; void sed1335_write_data(Uchar data) 
 003E           ; { 
 003E                   .dbline 134
 003E           ; PORTC=data; 
 003E 05BB              out 0x15,R16
 0040                   .dbline 135
 0040           ; A0_L;
 0040 82B3              in R24,0x12
 0042 8F7B              andi R24,191
 0044 82BB              out 0x12,R24
 0046                   .dbline 136
 0046           ; RD_H;
 0046 939A              sbi 0x12,3
 0048                   .dbline 137
 0048           ; WR_L;
 0048 82B3              in R24,0x12
 004A 8F7E              andi R24,239
 004C 82BB              out 0x12,R24
 004E                   .dbline 138
 004E           ; WR_H;
 004E 949A              sbi 0x12,4
 0050                   .dbline -2
 0050                   .dbline 139
 0050           ; } 
 0050           L10:
 0050                   .dbline 0 ; func end
 0050 0895              ret
 0052                   .dbsym r data 16 c
 0052                   .dbend
 0052                   .dbfunc e SelfInit _SelfInit fV
                        .even
 0052           _SelfInit::
 0052                   .dbline -1
 0052                   .dbline 142
 0052           ; //CPU初始化//
 0052           ; void SelfInit( void ) 
 0052           ; { 
 0052                   .dbline 143
 0052           ; DDRA  =0xff;
 0052 8FEF              ldi R24,255
 0054 8ABB              out 0x1a,R24
 0056                   .dbline 144
 0056           ; PORTA = 0x00;
 0056 2224              clr R2
 0058 2BBA              out 0x1b,R2
 005A                   .dbline 145
 005A           ; DDRB  =0xff;
 005A 87BB              out 0x17,R24
 005C                   .dbline 146
 005C           ; PORTB = 0x00;
 005C 28BA              out 0x18,R2
 005E                   .dbline 147
 005E           ; DDRC = 0xff; 
 005E 84BB              out 0x14,R24
 0060                   .dbline 148
 0060           ; PORTC = 0x00;    

⌨️ 快捷键说明

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