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

📄 main.s

📁 iccavr的一个实例
💻 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 + -