📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _mark::
0000 .blkb 2
.area idata
0000 DC05 .word 1500
.area data(ram, con, rel)
0002 .dbfile E:\abol\file\EMD\programme/main.h
0002 .dbsym e mark _mark I
0002 _flag::
0002 .blkb 1
.area idata
0002 00 .byte 0
.area data(ram, con, rel)
0003 .dbfile E:\abol\file\EMD\programme/main.h
0003 .dbsym e flag _flag c
0003 _flagh::
0003 .blkb 1
.area idata
0003 00 .byte 0
.area data(ram, con, rel)
0004 .dbfile E:\abol\file\EMD\programme/main.h
0004 .dbsym e flagh _flagh c
0004 _sec::
0004 .blkb 1
.area idata
0004 3C .byte 60
.area data(ram, con, rel)
0005 .dbfile E:\abol\file\EMD\programme/main.h
0005 .dbsym e sec _sec c
0005 _sec0::
0005 .blkb 1
.area idata
0005 03 .byte 3
.area data(ram, con, rel)
0006 .dbfile E:\abol\file\EMD\programme/main.h
0006 .dbsym e sec0 _sec0 c
0006 _acount::
0006 .blkb 1
.area idata
0006 00 .byte 0
.area data(ram, con, rel)
0007 .dbfile E:\abol\file\EMD\programme/main.h
0007 .dbsym e acount _acount c
0007 _LEDFC::
0007 .blkb 1
.area idata
0007 00 .byte 0
.area data(ram, con, rel)
0008 .dbfile E:\abol\file\EMD\programme/main.h
0008 .dbsym e LEDFC _LEDFC c
0008 _SPFC::
0008 .blkb 1
.area idata
0008 00 .byte 0
.area data(ram, con, rel)
0009 .dbfile E:\abol\file\EMD\programme/main.h
0009 .dbsym e SPFC _SPFC c
0009 _ADcon::
0009 .blkb 1
.area idata
0009 00 .byte 0
.area data(ram, con, rel)
000A .dbfile E:\abol\file\EMD\programme/main.h
000A .dbsym e ADcon _ADcon c
000A _bcount::
000A .blkb 1
.area idata
000A 00 .byte 0
.area data(ram, con, rel)
000B .dbfile E:\abol\file\EMD\programme/main.h
000B .dbsym e bcount _bcount c
000B _addr::
000B .blkb 1
.area idata
000B 00 .byte 0
.area data(ram, con, rel)
000C .dbfile E:\abol\file\EMD\programme/main.h
000C .dbsym e addr _addr c
000C _dipcount::
000C .blkb 1
.area idata
000C 01 .byte 1
.area data(ram, con, rel)
000D .dbfile E:\abol\file\EMD\programme/main.h
000D .dbsym e dipcount _dipcount c
000D _minu15::
000D .blkb 1
.area idata
000D 00 .byte 0
.area data(ram, con, rel)
000E .dbfile E:\abol\file\EMD\programme/main.h
000E .dbsym e minu15 _minu15 c
000E _minu30::
000E .blkb 1
.area idata
000E 00 .byte 0
.area data(ram, con, rel)
000F .dbfile E:\abol\file\EMD\programme/main.h
000F .dbsym e minu30 _minu30 c
000F _BITCOUNTER::
000F .blkb 1
.area idata
000F 00 .byte 0
.area data(ram, con, rel)
0010 .dbfile E:\abol\file\EMD\programme/main.h
0010 .dbsym e BITCOUNTER _BITCOUNTER c
.area lit(rom, con, rel)
0000 _MAXDURATION::
0000 14 .byte 20
0001 .dbsym e MAXDURATION _MAXDURATION kc
0001 _CODELANGTH::
0001 18 .byte 24
0002 .dbsym e CODELANGTH _CODELANGTH kc
0002 _diptable::
0002 3F06 .byte 63,6
0004 5B4F .byte 91,'O
0006 666D .byte 'f,'m
0008 7D07 .byte 125,7
000A 7F6F .byte 127,'o
000C 6E79 .byte 'n,'y
000E 6D .byte 'm
000F .dbsym e diptable _diptable A[13:13]kc
.area text(rom, con, rel)
0000 .dbfile E:\abol\file\EMD\programme/main.h
0000 .dbfile E:\abol\file\EMD\programme\main.c
0000 .dbfunc e init_pin _init_pin fV
.even
0000 _init_pin::
0000 .dbline -1
0000 .dbline 29
0000 ; /********************************************************/
0000 ; /* ABOL */
0000 ; /* 868MHZ数码管显示接收器 */
0000 ; /* 作者:于朝晖 2008-5-24 9:30:00 */
0000 ; /* 目标MCU:MEGA48 晶振:INT RC 8MHZ */
0000 ; /* 文件名称:main.c 主函数 */
0000 ; /* 编译:ICC-AVR application builder */
0000 ; /* 当前版本: 1.0 */
0000 ; /* 修改日期: 2008.5.24 */
0000 ; /********************************************************/
0000 ;
0000 ; #include <iom88v.h>
0000 ; #include <macros.h>
0000 ; #include "eeprom.h"
0000 ; #include "delay.h"
0000 ; #include "main.h"
0000 ; #include "init.h"
0000 ; #include "key.h"
0000 ; #define uchar unsigned char
0000 ; #define unit unsigned int
0000 ; #define ulong unsigned long
0000 ; #define bitset(var, bitno) ((var) |= (1 << (bitno)))
0000 ; #define bitclr(var, bitno) ((var) &= ~(1 << (bitno)))
0000 ;
0000 ;
0000 ;
0000 ;
0000 ; void init_pin(void)
0000 ; {
0000 .dbline 30
0000 ; flag=0;
0000 2224 clr R2
0002 20920200 sts _flag,R2
0006 .dbline 31
0006 ; flagl=0;
0006 20922100 sts _flagl,R2
000A .dbline 32
000A ; flagh &=~BIT(0);
000A 80910300 lds R24,_flagh
000E 8E7F andi R24,254
0010 80930300 sts _flagh,R24
0014 .dbline -2
0014 L1:
0014 .dbline 0 ; func end
0014 0895 ret
0016 .dbend
0016 .dbfunc e indat _indat fV
0016 ; i -> R20
0016 ; data -> R16
.even
0016 _indat::
0016 00D0 rcall push_gset1
0018 .dbline -1
0018 .dbline 36
0018 ; }
0018 ; //发送一个字节至TM1620
0018 ; void indat(unsigned char data)
0018 ; {
0018 .dbline 38
0018 ; unsigned char i;
0018 ; CLR_STB; //将STB至低,等待CLK为低
0018 2898 cbi 0x5,0
001A .dbline 39
001A ; for(i=0;i<8;i++)
001A 4427 clr R20
001C 09C0 rjmp L6
001E L3:
001E .dbline 40
001E ; {
001E .dbline 41
001E ; CLR_CLK; //CLK为低
001E 2998 cbi 0x5,1
0020 .dbline 42
0020 ; if((data&0x01)!=0)
0020 00FF sbrs R16,0
0022 02C0 rjmp L7
0024 .dbline 43
0024 ; {
0024 .dbline 44
0024 ; SET_DIN; //数据I位为1
0024 2A9A sbi 0x5,2
0026 .dbline 45
0026 ; }
0026 01C0 rjmp L8
0028 L7:
0028 .dbline 47
0028 ; else
0028 ; {
0028 .dbline 48
0028 ; CLR_DIN;//数据I位为0
0028 2A98 cbi 0x5,2
002A .dbline 49
002A ; }
002A L8:
002A .dbline 50
002A 299A sbi 0x5,1
002C .dbline 51
002C 0695 lsr R16
002E .dbline 52
002E L4:
002E .dbline 39
002E 4395 inc R20
0030 L6:
0030 .dbline 39
0030 4830 cpi R20,8
0032 A8F3 brlo L3
0034 .dbline -2
0034 L2:
0034 00D0 rcall pop_gset1
0036 .dbline 0 ; func end
0036 0895 ret
0038 .dbsym r i 20 c
0038 .dbsym r data 16 c
0038 .dbend
0038 .dbfunc e display _display fV
0038 ; i -> <dead>
0038 ; disa -> R20
.even
0038 _display::
0038 00D0 rcall push_gset1
003A 402F mov R20,R16
003C .dbline -1
003C .dbline 56
003C ; SET_CLK; //CLK为高
003C ; data>>=1;
003C ; }
003C ; }
003C ;
003C ; void display (unsigned char disa)
003C ; {
003C .dbline 58
003C ; unsigned char i;
003C ; SET_DIN;
003C 2A9A sbi 0x5,2
003E .dbline 59
003E ; SET_CLK;
003E 299A sbi 0x5,1
0040 .dbline 60
0040 ; SET_STB;
0040 289A sbi 0x5,0
0042 .dbline 61
0042 ; indat(0x02);
0042 02E0 ldi R16,2
0044 E8DF rcall _indat
0046 .dbline -2
0046 L9:
0046 00D0 rcall pop_gset1
0048 .dbline 0 ; func end
0048 0895 ret
004A .dbsym l i 1 c
004A .dbsym r disa 20 c
004A .dbend
004A .dbfunc e init_tm1620 _init_tm1620 fV
004A ; i -> <dead>
.even
004A _init_tm1620::
004A .dbline -1
004A .dbline 66
004A ;
004A ; }
004A ; //显示初始化
004A ; void init_tm1620 (void)
004A ; {
004A .dbline 69
004A ; unsigned char i;
004A ; //TM1620模式设定
004A ; SET_STB;
004A 289A sbi 0x5,0
004C .dbline 70
004C ; indat(0x02);
004C 02E0 ldi R16,2
004E E3DF rcall _indat
0050 .dbline 71
0050 ; SET_STB;
0050 289A sbi 0x5,0
0052 .dbline 73
0052 ; //数据写设定
0052 ; indat(0x40);
0052 00E4 ldi R16,64
0054 E0DF rcall _indat
0056 .dbline 74
0056 ; SET_STB;
0056 289A sbi 0x5,0
0058 .dbline 76
0058 ; //地址模式设定
0058 ; indat(0xc0);
0058 00EC ldi R16,192
005A DDDF rcall _indat
005C .dbline 77
005C ; SET_STB;
005C 289A sbi 0x5,0
005E .dbline 78
005E ; indat(0x3f);
005E 0FE3 ldi R16,63
0060 DADF rcall _indat
0062 .dbline 79
0062 ; indat(0x3f);
0062 0FE3 ldi R16,63
0064 D8DF rcall _indat
0066 .dbline 80
0066 ; indat(0x3f);
0066 0FE3 ldi R16,63
0068 D6DF rcall _indat
006A .dbline 81
006A ; indat(0x3f);
006A 0FE3 ldi R16,63
006C D4DF rcall _indat
006E .dbline 82
006E ; indat(0x3f);
006E 0FE3 ldi R16,63
0070 D2DF rcall _indat
0072 .dbline 83
0072 ; indat(0x3f);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -