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

📄 main.lis

📁 iccavr的一个实例
💻 LIS
字号:
                         .module main.c
                         .area text(rom, con, rel)
 0000                   .dbfile C:\icc\project\LCD\main.c
 0000                   .dbfunc s main _main fI
                       ;              k -> <dead>
                       ;              j -> <dead>
                       ;              i -> <dead>
                       ;         main_k -> R20
                       ;         main_j -> R22
                       ;         main_i -> R10
                         .even
 0000                 _main::
 0000                   .dbline -1
 0000                   .dbline 50
                       ; #include<io8515.h> 
                       ; //**the data port,use the port a,if donot change it
                       ; #define Db     PORTA
                       ; #define DbIn   PINA
                       ; #define DbDir  DDRA
                       ; //** DB0--PA0  DB1--PA1  DB2--PA2  DB3--PA3  DB4--PA4
                       ; //** DB5--PA5  DB6--PA6  DB7--PA7
                       ; //*****************************************************  
                       ; //**the contral port,use the port c,if not change it
                       ; #define ContrPort PORTC
                       ; #define ContrIn PINC
                       ; #define ContrDir DDRC
                       ; //**D_I--PC0
                       ; #define D_I   0b00000001
                       ; //**R_W--PC1
                       ; #define R_W   0b00000010
                       ; //**E--PC4
                       ; #define E     0b00010000
                       ; //**CS1--PC7
                       ; #define CS1   0b10000000
                       ; //**CS2--PC6
                       ; #define CS2   0b01000000
                       ; //**RESET--PC5
                       ; #define RESET 0b00100000
                       ; #define All   0b11110011
                       ; //*******************************************************
                       ; //P0  data
                       ; //P1  clock
                       ; //P2   TRO
                       ; #define  DisPort   PORTB
                       ; #define  DisDdr    DDRB
                       ; #define  str       0b00000100
                       ; #define  data      0b00000001
                       ; #define  clock     0b00000010
                       ; #define  and3      0b00000111
                       ; //************************************
                       ; 
                       ; void ClearRam(void);
                       ; void Cacu_Display(unsigned char temp);
                       ; void lcdsetup();
                       ; void WriteCgram(unsigned char DataSequent,unsigned char Point);
                       ; void ClearRam(void);
                       ; //**************************************************
                       ; void WriInsn(unsigned char command);
                       ; unsigned char Readdata(void);
                       ; void WriData(unsigned char WriData);
                       ; void StartDiaplay(void);  
                       ; //===============================================================
                       ; void main()
                       ;      {  
 0000                   .dbline 53
                       ;         unsigned char i,j,k;
                       ;         unsigned char main_i,main_j,main_k;
                       ;         DDRB=0b11111111;
 0000 8FEF              ldi R24,255
 0002 87BB              out 0x17,R24
 0004                   .dbline 54
                       ;         DDRA=0b11111111;
 0004 8ABB              out 0x1a,R24
 0006                   .dbline 55
                       ;         DDRC=0b11111111;        
 0006 84BB              out 0x14,R24
 0008                   .dbline 58
                       ; //*****************************************
                       ; //********reset the lcd*********************
                       ;         PORTC=PORTC&0b11011111;//reset=0        
 0008 85B3              in R24,0x15
 000A 8F7D              andi R24,223
 000C 85BB              out 0x15,R24
 000E                   .dbline 59
                       ;         main_i=0xff;
 000E 8FEF              ldi R24,255
 0010 A82E              mov R10,R24
 0012                   .dbline 60
                       ;         main_j=0xff;
 0012 6FEF              ldi R22,255
 0014                   .dbline 61
                       ;         main_k=50;      
 0014 42E3              ldi R20,50
 0016 09C0              rjmp L3
 0018                 L2:
 0018                   .dbline 63
                       ;         while(main_k)
                       ;            {
 0018                   .dbline 64
                       ;              main_k--;
 0018 4A95              dec R20
 001A 05C0              rjmp L6
 001C                 L5:
 001C                   .dbline 66
                       ;              while(main_j)
                       ;                { 
 001C                   .dbline 67
                       ;                  main_j--;
 001C 6A95              dec R22
 001E 01C0              rjmp L9
 0020                 L8:
 0020                   .dbline 69
 0020                   .dbline 69
 0020 AA94              dec R10
 0022                   .dbline 69
 0022                 L9:
 0022                   .dbline 68
 0022 AA20              tst R10
 0024 E9F7              brne L8
 0026                   .dbline 70
 0026                 L6:
 0026                   .dbline 65
 0026 6623              tst R22
 0028 C9F7              brne L5
 002A                   .dbline 71
 002A                 L3:
 002A                   .dbline 62
 002A 4423              tst R20
 002C A9F7              brne L2
 002E                   .dbline 73
                       ;                  while(main_i)
                       ;                     {main_i--;}        
                       ;                }
                       ;            }
                       ;         
                       ;         PORTC=PORTC|~0b11011111;//reset=1       
 002E 85B3              in R24,0x15
 0030 8062              ori R24,32
 0032 85BB              out 0x15,R24
 0034                   .dbline 74
                       ;         ClearRam();                     
 0034 00D0              rcall _ClearRam
 0036                   .dbline 90
                       ; //*********************************************   
                       ; //trantport  number
                       ;     /*     WriteCgram(10,18);  
                       ;          WriteCgram(11,19);
                       ;          WriteCgram(12,20);
                       ;          WriteCgram(13,21);
                       ;          
                       ;          
                       ;          WriteCgram(17,24);
                       ;          WriteCgram(18,25);
                       ;          WriteCgram(19,26);
                       ;          WriteCgram(20,27);
                       ;          WriteCgram(21,28);
                       ;          WriteCgram(22,29);  */
                       ;          
                       ;          Cacu_Display(1234);
 0036 02ED              ldi R16,210
 0038 00D0              rcall _Cacu_Display
 003A                 L11:
 003A                   .dbline 99
 003A                   .dbline 99
 003A                 L12:
 003A                   .dbline 98
 003A FFCF              rjmp L11
 003C                 X0:
 003C                   .dbline -2
 003C                   .dbline 102
                       ;          
                       ;          
                       ;          
                       ;         
                       ;         
                       ;       //  StartDiaplay();
                       ;         //Cacu_Display(222);
                       ;         while(1)
                       ;            {}
                       ;      
                       ;      
                       ;      }
 003C                 L1:
 003C                   .dbline 0 ; func end
 003C 0895              ret
 003E                   .dbsym l k 1 c
 003E                   .dbsym l j 1 c
 003E                   .dbsym l i 1 c
 003E                   .dbsym r main_k 20 c
 003E                   .dbsym r main_j 22 c
 003E                   .dbsym r main_i 10 c

⌨️ 快捷键说明

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