📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile F:\CODE\LCD1286418\main.c
0000 .dbfunc e main _main fV
0000 ; a -> <dead>
0000 ; temp1 -> <dead>
0000 ; temp -> y+6
.even
0000 _main::
0000 2A97 sbiw R28,10
0002 .dbline -1
0002 .dbline 24
0002 ; /***********************************************************************************************
0002 ; * FILE NAME: main.c
0002 ; * PURPOSE: Main Function Of Firmware
0002 ; * DESCRIPTION:
0002 ; * DEVELOPMENT HISTORY:
0002 ; * Date Author Release Description Of Change
0002 ; * -------- ------------ --------- ------------------------------------------------
0002 ; * 08-04-11 XuGuohong 1.0 Testing Edition
0002 ; /**********************************************************************************************/
0002 ;
0002 ; /* Include Global Parameters */
0002 ; #include <iom128v.h>
0002 ; #include "avr.h"
0002 ;
0002 ; /* Include Global Parameters */
0002 ;
0002 ; /* Declare Prototypes */
0002 ;
0002 ; /***************************************
0002 ; * FUNCTION NAME: Main
0002 ; * DESCRIPTION:
0002 ; /***************************************/
0002 ; void main(void)
0002 ; {
0002 .dbline 28
0002 ; float temp;
0002 ; unsigned char temp1;
0002 ; unsigned char a;
0002 ; SPL=0XFF; /* Stack Initialization */
0002 8FEF ldi R24,255
0004 8DBF out 0x3d,R24
0006 .dbline 29
0006 ; SPH=0X10;
0006 80E1 ldi R24,16
0008 8EBF out 0x3e,R24
000A .dbline 30
000A ; LcdInit(); /* Lcd Initialization */
000A 0E940000 xcall _LcdInit
000E 28C0 xjmp L3
0010 L2:
0010 .dbline 101
0010 ;
0010 ;
0010 ;
0010 ; // LcdDisplayDot(3,0,1);
0010 ; // LcdDisplayDot(70,1,1);
0010 ; // LcdDisplaySeg(2,2,0XFF);
0010 ; // GuiDrawLine(127, 20, 0, 63, 1);
0010 ; // GuiDrawCircle(70,20,13, 1);
0010 ; // GuiDrawSquare(50,50,5,5,1);
0010 ;
0010 ; // 画立
0010 ; //for(temp=0;temp<10;temp=temp+1)
0010 ; //{
0010 ; // GuiDrawCircle(63+temp,20+temp,15-temp, 1);
0010 ; //}
0010 ;
0010 ; // for(temp=0;temp<10;temp=temp+2)
0010 ; // {
0010 ; // GuiDrawCircle(100+temp,15+temp,10, 1);
0010 ; // }
0010 ;
0010 ; // 画立方体
0010 ; // GuiDrawSquare(5,5,30,30,1);
0010 ; // GuiDrawSquare(12,12,37,37,1);
0010 ;
0010 ; // GuiDrawLine(5, 5, 12, 12, 1);
0010 ; // GuiDrawLine(30, 30, 37, 37, 1);
0010 ;
0010 ; /// GuiDrawLine(5, 30, 12, 37, 1);
0010 ; //GuiDrawLine(30, 5, 37, 12, 1);
0010 ;
0010 ; //GuiDisCharF3(0,0,'1',1);
0010 ; //GuiDisCharF3(20,0,'2',1);
0010 ; //GuiDisCharF3(0,7,'3',1);
0010 ; //GuiDisCharF3(20,7,'4',1);
0010 ;
0010 ;
0010 ; /*
0010 ; while(1)
0010 ; {
0010 ;
0010 ;
0010 ; //GuiDisRoolStringF3(0,64,7,"Multi-parameter Water Quality Analyzer",1);
0010 ; DisStartLogo();
0010 ; LcdClr();
0010 ;
0010 ; GuiDisMainMenu();
0010 ; GuiDisStringF3(8,7,"17:59",1);
0010 ; GuiDisTemp(0,7,-10);
0010 ;
0010 ; GuiDisUsb(87,7);
0010 ; GuiDisAcin(103,7);
0010 ; GuiDisBattery(113,7,6);
0010 ;
0010 ; GuiDisShortIcon(111,0,0);
0010 ; GuiDisMenuIcon(1,0,0);
0010 ;
0010 ; GuiDisStringF3(1,2,"{Start Measure",1);
0010 ; GuiDisStringF3(1,3," Parameters Setup",1);
0010 ; GuiDisStringF3(1,4," Data Manage",1);
0010 ; GuiDisStringF3(1,5," System Setting",1);
0010 ; //GuiDisStringF3(8,7,"18:56",1);
0010 ;
0010 ;
0010 ; Delay10ms(60000);
0010 ; Delay10ms(60000);
0010 ; Delay10ms(60000);
0010 ; }
0010 ; */
0010 ; while(1)
0010 ; {
0010 .dbline 102
0010 ; GuiDisRoolStringF3(25,102,4,"AVR 3D GRAPHICS DISPLAY...,ATMEGA128@16MHz LCD 128X64 DOTS",1);
0010 81E0 ldi R24,1
0012 90E0 ldi R25,0
0014 9D83 std y+5,R25
0016 8C83 std y+4,R24
0018 80E0 ldi R24,<L5
001A 90E0 ldi R25,>L5
001C 9B83 std y+3,R25
001E 8A83 std y+2,R24
0020 84E0 ldi R24,4
0022 90E0 ldi R25,0
0024 9983 std y+1,R25
0026 8883 std y+0,R24
0028 26E6 ldi R18,102
002A 30E0 ldi R19,0
002C 09E1 ldi R16,25
002E 10E0 ldi R17,0
0030 0E940000 xcall _GuiDisRoolStringF3
0034 .dbline 103
0034 ; action();
0034 0E940000 xcall _action
0038 .dbline 104
0038 ; GuiDisRoolStringF3(25,102,4,"OVER! KK20Y@YAHOO.COM.CN 2008-4",1);
0038 81E0 ldi R24,1
003A 90E0 ldi R25,0
003C 9D83 std y+5,R25
003E 8C83 std y+4,R24
0040 80E0 ldi R24,<L6
0042 90E0 ldi R25,>L6
0044 9B83 std y+3,R25
0046 8A83 std y+2,R24
0048 84E0 ldi R24,4
004A 90E0 ldi R25,0
004C 9983 std y+1,R25
004E 8883 std y+0,R24
0050 26E6 ldi R18,102
0052 30E0 ldi R19,0
0054 09E1 ldi R16,25
0056 10E0 ldi R17,0
0058 0E940000 xcall _GuiDisRoolStringF3
005C .dbline 105
005C ; LcdClr();
005C 0E940000 xcall _LcdClr
0060 .dbline 108
0060 ;
0060 ; // NOP;
0060 ; }
0060 L3:
0060 .dbline 100
0060 D7CF xjmp L2
0062 X0:
0062 .dbline -2
0062 L1:
0062 .dbline 0 ; func end
0062 2A96 adiw R28,10
0064 0895 ret
0066 .dbsym l a 7 c
0066 .dbsym l temp1 7 c
0066 .dbsym l temp 6 D
0066 .dbend
0066 .dbfunc e Delay100ms _Delay100ms fV
0066 ; i -> R16
0066 ; temp -> R18,R19
.even
0066 _Delay100ms::
0066 .dbline -1
0066 .dbline 116
0066 ; }
0066 ;
0066 ; /****************************************
0066 ; * FUNCTION NAME: Delay100ms *
0066 ; * DESCRIPTION: MCU CLOCK=11.0592Mhz *
0066 ; /***************************************/
0066 ; void Delay100ms(void)
0066 ; {
0066 .dbline 119
0066 ; unsigned int temp;
0066 ; unsigned char i;
0066 ; for(i=0;i<100;i++)
0066 0027 clr R16
0068 0AC0 xjmp L11
006A L8:
006A .dbline 120
006A ; {
006A .dbline 121
006A ; for(temp=2000; temp>0;temp--) /* Delay About 1ms */
006A 20ED ldi R18,2000
006C 37E0 ldi R19,7
006E 03C0 xjmp L15
0070 L12:
0070 .dbline 122
0070 ; {
0070 .dbline 123
0070 ; NOP;
0070 0000 nop
0072 .dbline 124
0072 ; }
0072 L13:
0072 .dbline 121
0072 2150 subi R18,1
0074 3040 sbci R19,0
0076 L15:
0076 .dbline 121
0076 2030 cpi R18,0
0078 2307 cpc R18,R19
007A D1F7 brne L12
007C X1:
007C .dbline 125
007C ; }
007C L9:
007C .dbline 119
007C 0395 inc R16
007E L11:
007E .dbline 119
007E 0436 cpi R16,100
0080 A0F3 brlo L8
0082 X2:
0082 .dbline -2
0082 L7:
0082 .dbline 0 ; func end
0082 0895 ret
0084 .dbsym r i 16 c
0084 .dbsym r temp 18 i
0084 .dbend
.area data(ram, con, rel)
0000 .dbfile F:\CODE\LCD1286418\main.c
0000 L6:
0000 .blkb 32
.area idata
0000 4F56455221204B4B323059405941484F .byte 'O,'V,'E,'R,33,32,'K,'K,50,48,'Y,64,'Y,'A,'H,'O
0010 4F2E434F4D2E434E20323030382D3400 .byte 'O,46,'C,'O,'M,46,'C,'N,32,50,48,48,56,45,52,0
.area data(ram, con, rel)
0020 .dbfile F:\CODE\LCD1286418\main.c
0020 L5:
0020 .blkb 59
.area idata
0020 41565220334420475241504849435320 .byte 'A,'V,'R,32,51,'D,32,'G,'R,'A,'P,'H,'I,'C,'S,32
0030 444953504C41592E2E2E2C41544D4547 .byte 'D,'I,'S,'P,'L,'A,'Y,46,46,46,44,'A,'T,'M,'E,'G
0040 413132384031364D487A204C43442031 .byte 'A,49,50,56,64,49,54,'M,'H,'z,32,'L,'C,'D,32,49
0050 323858363420444F545300 .byte 50,56,'X,54,52,32,'D,'O,'T,'S,0
.area data(ram, con, rel)
005B .dbfile F:\CODE\LCD1286418\main.c
005B ; }
005B ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -