📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile C:\icc\project\LCD\main.c
.dbfunc s main _main fI
; k -> <dead>
; j -> <dead>
; i -> <dead>
; main_k -> R20
; main_j -> R22
; main_i -> R10
.even
_main::
.dbline -1
.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()
; {
.dbline 53
; unsigned char i,j,k;
; unsigned char main_i,main_j,main_k;
; DDRB=0b11111111;
ldi R24,255
out 0x17,R24
.dbline 54
; DDRA=0b11111111;
out 0x1a,R24
.dbline 55
; DDRC=0b11111111;
out 0x14,R24
.dbline 58
; //*****************************************
; //********reset the lcd*********************
; PORTC=PORTC&0b11011111;//reset=0
in R24,0x15
andi R24,223
out 0x15,R24
.dbline 59
; main_i=0xff;
ldi R24,255
mov R10,R24
.dbline 60
; main_j=0xff;
ldi R22,255
.dbline 61
; main_k=50;
ldi R20,50
rjmp L3
L2:
.dbline 63
; while(main_k)
; {
.dbline 64
; main_k--;
dec R20
rjmp L6
L5:
.dbline 66
; while(main_j)
; {
.dbline 67
; main_j--;
dec R22
rjmp L9
L8:
.dbline 69
.dbline 69
dec R10
.dbline 69
L9:
.dbline 68
tst R10
brne L8
.dbline 70
L6:
.dbline 65
tst R22
brne L5
.dbline 71
L3:
.dbline 62
tst R20
brne L2
.dbline 73
; while(main_i)
; {main_i--;}
; }
; }
;
; PORTC=PORTC|~0b11011111;//reset=1
in R24,0x15
ori R24,32
out 0x15,R24
.dbline 74
; ClearRam();
rcall _ClearRam
.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);
ldi R16,210
rcall _Cacu_Display
L11:
.dbline 99
.dbline 99
L12:
.dbline 98
rjmp L11
X0:
.dbline -2
.dbline 102
;
;
;
;
;
; // StartDiaplay();
; //Cacu_Display(222);
; while(1)
; {}
;
;
; }
L1:
.dbline 0 ; func end
ret
.dbsym l k 1 c
.dbsym l j 1 c
.dbsym l i 1 c
.dbsym r main_k 20 c
.dbsym r main_j 22 c
.dbsym r main_i 10 c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -