📄 main.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 + -