📄 bi2.lis
字号:
.module bi2.c
.area data(ram, con, rel)
0000 _alarmfalg::
0000 .blkb 1
.area idata
0000 01 .byte 1
.area data(ram, con, rel)
0001 .dbfile E:\temp\avr\bi2\bi2.c
0001 .dbsym e alarmfalg _alarmfalg c
0001 _mo::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\temp\avr\bi2\bi2.c
0002 .dbsym e mo _mo c
0002 _time::
0002 .blkb 2
.area idata
0002 0905 .byte 9,5
.area data(ram, con, rel)
0004 .dbfile E:\temp\avr\bi2\bi2.c
0004 .blkb 1
.area idata
0004 08 .byte 8
.area data(ram, con, rel)
0005 .dbfile E:\temp\avr\bi2\bi2.c
0005 .blkb 2
.area idata
0005 0038 .byte 0,56
.area data(ram, con, rel)
0007 .dbfile E:\temp\avr\bi2\bi2.c
0007 .blkb 1
.area idata
0007 0A .byte 10
.area data(ram, con, rel)
0008 .dbfile E:\temp\avr\bi2\bi2.c
0008 .blkb 2
.area idata
0008 0000 .byte 0,0
.area data(ram, con, rel)
000A .dbfile E:\temp\avr\bi2\bi2.c
000A .blkb 1
.area idata
000A 0D .byte 13
.area data(ram, con, rel)
000B .dbfile E:\temp\avr\bi2\bi2.c
000B .blkb 2
.area idata
000B 0000 .byte 0,0
.area data(ram, con, rel)
000D .dbfile E:\temp\avr\bi2\bi2.c
000D .blkb 1
.area idata
000D 0C .byte 12
.area data(ram, con, rel)
000E .dbfile E:\temp\avr\bi2\bi2.c
000E .blkb 2
.area idata
000E 0000 .byte 0,0
.area data(ram, con, rel)
0010 .dbfile E:\temp\avr\bi2\bi2.c
0010 .blkb 1
.area idata
0010 0A .byte 10
.area data(ram, con, rel)
0011 .dbfile E:\temp\avr\bi2\bi2.c
0011 .blkb 2
.area idata
0011 0000 .byte 0,0
.area data(ram, con, rel)
0013 .dbfile E:\temp\avr\bi2\bi2.c
0013 .blkb 1
.area idata
0013 0B .byte 11
.area data(ram, con, rel)
0014 .dbfile E:\temp\avr\bi2\bi2.c
0014 .blkb 12
.area idata
0014 00000000000000000000 .word 0,0,0,0,0
001E 0000 .byte 0,0
.area data(ram, con, rel)
0020 .dbfile E:\temp\avr\bi2\bi2.c
0020 .dbsym e time _time A[30:10:3]c
0020 _change::
0020 .blkb 1
.area idata
0020 0A .byte 10
.area data(ram, con, rel)
0021 .dbfile E:\temp\avr\bi2\bi2.c
0021 .dbsym e change _change c
0021 _date_init::
0021 .blkb 2
.area idata
0021 5027 .byte 'P,39
.area data(ram, con, rel)
0023 .dbfile E:\temp\avr\bi2\bi2.c
0023 .blkb 2
.area idata
0023 0315 .byte 3,21
.area data(ram, con, rel)
0025 .dbfile E:\temp\avr\bi2\bi2.c
0025 .blkb 2
.area idata
0025 0406 .byte 4,6
.area data(ram, con, rel)
0027 .dbfile E:\temp\avr\bi2\bi2.c
0027 .blkb 2
.area idata
0027 0680 .byte 6,128
.area data(ram, con, rel)
0029 .dbfile E:\temp\avr\bi2\bi2.c
0029 .dbsym e date_init _date_init A[8:8]c
0029 _sCURDATE::
0029 .blkb 53
.area idata
0029 20202020202020202020202020202020 .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
0039 20202020202020202020202020202020 .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
0049 20202020202020202020202020202020 .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
0059 2020202000 .byte 32,32,32,32,0
.area data(ram, con, rel)
005E .dbfile E:\temp\avr\bi2\bi2.c
005E .dbsym e sCURDATE _sCURDATE A[53:53]c
.area text(rom, con, rel)
0000 .dbfile E:\temp\avr\bi2\bi2.c
0000 .dbfunc e delay_1us _delay_1us fV
.even
0000 _delay_1us::
0000 .dbline -1
0000 .dbline 71
0000 ; /**********************
0000 ; 编写者:赖行
0000 ; 创建时间:2006年1月
0000 ; 最后修改:2006年1月
0000 ; 用途:1602液晶在MEGEA8上的显示
0000 ; 接法:见图
0000 ; **************************/
0000 ; #include <iom16v.h>
0000 ; #include <macros.h>
0000 ; #inclede <eeprom.h>
0000 ;
0000 ; #define LCD_EN_PORT PORTD
0000 ; #define LCD_RS_PORT PORTD
0000 ; #define LCD_DATA_PORT PORTD
0000 ; #define LCD_DATA_DDR DDRD
0000 ; #define LCD_DATA_PIN PIND
0000 ; #define LCD_EN 0x10 //portB2 out
0000 ; #define LCD_RS 0x40 //portB0 out
0000 ; #define LCD_DATA 0x0F //portB4/5/6/7 out
0000 ; /*--------------------------------------------------------------------------------------------------
0000 ; Public function prototypes
0000 ; --------------------------------------------------------------------------------------------------*/
0000 ; void LCD_init (void);
0000 ; void LCD_en_write (void);
0000 ; void LCD_write_char (unsigned command,unsigned data);
0000 ; void LCD_set_xy (unsigned char x, unsigned char y);
0000 ; void LCD_write_string (unsigned char X,unsigned char Y,unsigned char *s);
0000 ; void delay_nus (unsigned int n);
0000 ; void delay_nms (unsigned int n);
0000 ; /*unsigned char time[0][0]=10;
0000 ; unsigned char time[0][1]=55;
0000 ; unsigned char time[0][2]=23;*/
0000 ; unsigned char alarmfalg=1;
0000 ; unsigned char mo=0;
0000 ; unsigned char time[10][3]={9,5,8,0,56,10,0,0,13,0,0,12,0,0,10,0,0,11};
0000 ; unsigned char change=10;
0000 ;
0000 ; #define DS1302_CE 4 //PB4 SS 必须设为输出 ----DS1302 pin5
0000 ;
0000 ; //宏定义
0000 ; #define EnDS1302 PORTB|= (1<<DS1302_CE) // 置CE为高电平,使能SPI接口
0000 ; #define DiDS1302 PORTB&=~(1<<DS1302_CE) // 置CE为低电平,关闭SPI接口
0000 ;
0000 ; //函数声明+
0000 ; void init_SPI(void); //初始化SPI接口
0000 ; //unsigned char check_RTC(void); //检测DS1302
0000 ; //void init_RTC(void); //初始化DS1302
0000 ; void read_date(void); //读取当前时间并解释
0000 ; extern unsigned char date_init[8]={0x50, //59秒
0000 ; 0x27, //59分
0000 ; 0x3, //23时 24小时制
0000 ; 0x15, //06日
0000 ; 0x04, //10月
0000 ; 0x06, //星期四
0000 ; 0x06, //2005年
0000 ; 0x80 //写保护,
0000 ; };
0000 ; extern unsigned char CURDATE[7];
0000 ; unsigned char sCURDATE[]=" ";
0000 ; extern unsigned char sWEEK[];
0000 ; unsigned char date;
0000 ; unsigned char temp_1302[7];
0000 ; //全局变量声明
0000 ;
0000 ;
0000 ; /*-----------------------------------------------------------------------
0000 ; 延时函数
0000 ; 系统时钟:8M
0000 ; -----------------------------------------------------------------------*/
0000 ; void delay_1us(void) //1us延时函数
0000 ; {
0000 .dbline 72
0000 ; asm("nop");
0000 0000 nop
0002 .dbline 73
0002 ; asm("nop");
0002 0000 nop
0004 .dbline 74
0004 ; asm("nop");
0004 0000 nop
0006 .dbline 75
0006 ; asm("nop");
0006 0000 nop
0008 .dbline -2
0008 L1:
0008 .dbline 0 ; func end
0008 0895 ret
000A .dbend
000A .dbfunc e delay_nus _delay_nus fV
000A ; i -> R20,R21
000A ; n -> R22,R23
.even
000A _delay_nus::
000A 0E940000 xcall push_gset2
000E B801 movw R22,R16
0010 .dbline -1
0010 .dbline 79
0010 ; }
0010 ;
0010 ; void delay_nus(unsigned int n) //N us延时函数
0010 ; {
0010 .dbline 80
0010 ; unsigned int i=0;
0010 4427 clr R20
0012 5527 clr R21
0014 .dbline 81
0014 ; for (i=0;i<n;i++)
0014 03C0 xjmp L6
0016 L3:
0016 .dbline 82
0016 F4DF xcall _delay_1us
0018 L4:
0018 .dbline 81
0018 4F5F subi R20,255 ; offset = 1
001A 5F4F sbci R21,255
001C L6:
001C .dbline 81
001C 4617 cp R20,R22
001E 5707 cpc R21,R23
0020 D0F3 brlo L3
0022 .dbline -2
0022 L2:
0022 0E940000 xcall pop_gset2
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbsym r i 20 i
0028 .dbsym r n 22 i
0028 .dbend
0028 .dbfunc e delay_1ms _delay_1ms fV
0028 ; i -> R16,R17
.even
0028 _delay_1ms::
0028 .dbline -1
0028 .dbline 86
0028 ; delay_1us();
0028 ; }
0028 ;
0028 ; void delay_1ms(void) //1ms延时函数
0028 ; {
0028 .dbline 88
0028 0027 clr R16
002A 1127 clr R17
002C 02C0 xjmp L11
002E L8:
002E .dbline 88
002E L9:
002E .dbline 88
002E 0F5F subi R16,255 ; offset = 1
0030 1F4F sbci R17,255
0032 L11:
0032 .dbline 88
0032 ; unsigned int i;
0032 ; for (i=0;i<1142;i++);
0032 0637 cpi R16,118
0034 E4E0 ldi R30,4
0036 1E07 cpc R17,R30
0038 D0F3 brlo L8
003A .dbline -2
003A L7:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbsym r i 16 i
003C .dbend
003C .dbfunc e delay_nms _delay_nms fV
003C ; i -> R20,R21
003C ; n -> R22,R23
.even
003C _delay_nms::
003C 0E940000 xcall push_gset2
0040 B801 movw R22,R16
0042 .dbline -1
0042 .dbline 92
0042 ; }
0042 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -