📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile F:\CODE\LCD1286418\main.c
.dbfunc e main _main fV
; a -> <dead>
; temp1 -> <dead>
; temp -> y+6
.even
_main::
sbiw R28,10
.dbline -1
.dbline 24
; /***********************************************************************************************
; * FILE NAME: main.c
; * PURPOSE: Main Function Of Firmware
; * DESCRIPTION:
; * DEVELOPMENT HISTORY:
; * Date Author Release Description Of Change
; * -------- ------------ --------- ------------------------------------------------
; * 08-04-11 XuGuohong 1.0 Testing Edition
; /**********************************************************************************************/
;
; /* Include Global Parameters */
; #include <iom128v.h>
; #include "avr.h"
;
; /* Include Global Parameters */
;
; /* Declare Prototypes */
;
; /***************************************
; * FUNCTION NAME: Main
; * DESCRIPTION:
; /***************************************/
; void main(void)
; {
.dbline 28
; float temp;
; unsigned char temp1;
; unsigned char a;
; SPL=0XFF; /* Stack Initialization */
ldi R24,255
out 0x3d,R24
.dbline 29
; SPH=0X10;
ldi R24,16
out 0x3e,R24
.dbline 30
; LcdInit(); /* Lcd Initialization */
xcall _LcdInit
xjmp L3
L2:
.dbline 101
;
;
;
; // LcdDisplayDot(3,0,1);
; // LcdDisplayDot(70,1,1);
; // LcdDisplaySeg(2,2,0XFF);
; // GuiDrawLine(127, 20, 0, 63, 1);
; // GuiDrawCircle(70,20,13, 1);
; // GuiDrawSquare(50,50,5,5,1);
;
; // 画立
; //for(temp=0;temp<10;temp=temp+1)
; //{
; // GuiDrawCircle(63+temp,20+temp,15-temp, 1);
; //}
;
; // for(temp=0;temp<10;temp=temp+2)
; // {
; // GuiDrawCircle(100+temp,15+temp,10, 1);
; // }
;
; // 画立方体
; // GuiDrawSquare(5,5,30,30,1);
; // GuiDrawSquare(12,12,37,37,1);
;
; // GuiDrawLine(5, 5, 12, 12, 1);
; // GuiDrawLine(30, 30, 37, 37, 1);
;
; /// GuiDrawLine(5, 30, 12, 37, 1);
; //GuiDrawLine(30, 5, 37, 12, 1);
;
; //GuiDisCharF3(0,0,'1',1);
; //GuiDisCharF3(20,0,'2',1);
; //GuiDisCharF3(0,7,'3',1);
; //GuiDisCharF3(20,7,'4',1);
;
;
; /*
; while(1)
; {
;
;
; //GuiDisRoolStringF3(0,64,7,"Multi-parameter Water Quality Analyzer",1);
; DisStartLogo();
; LcdClr();
;
; GuiDisMainMenu();
; GuiDisStringF3(8,7,"17:59",1);
; GuiDisTemp(0,7,-10);
;
; GuiDisUsb(87,7);
; GuiDisAcin(103,7);
; GuiDisBattery(113,7,6);
;
; GuiDisShortIcon(111,0,0);
; GuiDisMenuIcon(1,0,0);
;
; GuiDisStringF3(1,2,"{Start Measure",1);
; GuiDisStringF3(1,3," Parameters Setup",1);
; GuiDisStringF3(1,4," Data Manage",1);
; GuiDisStringF3(1,5," System Setting",1);
; //GuiDisStringF3(8,7,"18:56",1);
;
;
; Delay10ms(60000);
; Delay10ms(60000);
; Delay10ms(60000);
; }
; */
; while(1)
; {
.dbline 102
; GuiDisRoolStringF3(25,102,4,"AVR 3D GRAPHICS DISPLAY...,ATMEGA128@16MHz LCD 128X64 DOTS",1);
ldi R24,1
ldi R25,0
std y+5,R25
std y+4,R24
ldi R24,<L5
ldi R25,>L5
std y+3,R25
std y+2,R24
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,102
ldi R19,0
ldi R16,25
ldi R17,0
xcall _GuiDisRoolStringF3
.dbline 103
; action();
xcall _action
.dbline 104
; GuiDisRoolStringF3(25,102,4,"OVER! KK20Y@YAHOO.COM.CN 2008-4",1);
ldi R24,1
ldi R25,0
std y+5,R25
std y+4,R24
ldi R24,<L6
ldi R25,>L6
std y+3,R25
std y+2,R24
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,102
ldi R19,0
ldi R16,25
ldi R17,0
xcall _GuiDisRoolStringF3
.dbline 105
; LcdClr();
xcall _LcdClr
.dbline 108
;
; // NOP;
; }
L3:
.dbline 100
xjmp L2
X0:
.dbline -2
L1:
.dbline 0 ; func end
adiw R28,10
ret
.dbsym l a 7 c
.dbsym l temp1 7 c
.dbsym l temp 6 D
.dbend
.dbfunc e Delay100ms _Delay100ms fV
; i -> R16
; temp -> R18,R19
.even
_Delay100ms::
.dbline -1
.dbline 116
; }
;
; /****************************************
; * FUNCTION NAME: Delay100ms *
; * DESCRIPTION: MCU CLOCK=11.0592Mhz *
; /***************************************/
; void Delay100ms(void)
; {
.dbline 119
; unsigned int temp;
; unsigned char i;
; for(i=0;i<100;i++)
clr R16
xjmp L11
L8:
.dbline 120
; {
.dbline 121
; for(temp=2000; temp>0;temp--) /* Delay About 1ms */
ldi R18,2000
ldi R19,7
xjmp L15
L12:
.dbline 122
; {
.dbline 123
; NOP;
nop
.dbline 124
; }
L13:
.dbline 121
subi R18,1
sbci R19,0
L15:
.dbline 121
cpi R18,0
cpc R18,R19
brne L12
X1:
.dbline 125
; }
L9:
.dbline 119
inc R16
L11:
.dbline 119
cpi R16,100
brlo L8
X2:
.dbline -2
L7:
.dbline 0 ; func end
ret
.dbsym r i 16 c
.dbsym r temp 18 i
.dbend
.area data(ram, con, rel)
.dbfile F:\CODE\LCD1286418\main.c
L6:
.blkb 32
.area idata
.byte 'O,'V,'E,'R,33,32,'K,'K,50,48,'Y,64,'Y,'A,'H,'O
.byte 'O,46,'C,'O,'M,46,'C,'N,32,50,48,48,56,45,52,0
.area data(ram, con, rel)
.dbfile F:\CODE\LCD1286418\main.c
L5:
.blkb 59
.area idata
.byte 'A,'V,'R,32,51,'D,32,'G,'R,'A,'P,'H,'I,'C,'S,32
.byte 'D,'I,'S,'P,'L,'A,'Y,46,46,46,44,'A,'T,'M,'E,'G
.byte 'A,49,50,56,64,49,54,'M,'H,'z,32,'L,'C,'D,32,49
.byte 50,56,'X,54,52,32,'D,'O,'T,'S,0
.area data(ram, con, rel)
.dbfile F:\CODE\LCD1286418\main.c
; }
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -