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

📄 1302.lis

📁 基于AVR单片机的热电偶测量系统源码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module _1302.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\zhangyu\H2test\program\1302.c
 0000                   .dbfunc e pDS1302_Write _pDS1302_Write fV
 0000           ;              i -> R20
 0000           ;           data -> R22
 0000           ;            reg -> R10
                        .even
 0000           _pDS1302_Write::
 0000 0E940000          xcall push_gset3
 0004 622F              mov R22,R18
 0006 A02E              mov R10,R16
 0008                   .dbline -1
 0008                   .dbline 18
 0008           ; /*-------------------------------------------------------------*-
 0008           ; File name: 1302.c
 0008           ; Description:本模块为实时时钟模块。
 0008           ; Function List:
 0008           ; 1.void pDS1302_Write(uchar reg,uchar data)  写实时时钟函数
 0008           ; 2.uchar pDS1302_Read(uchar reg)  读实时时钟函数
 0008           ; 3.void pDS1302_Init(void)     1302初始化函数
 0008           ; 
 0008           ; -----------------------------------------------------------------
 0008           ; 实时时钟模块
 0008           ; -*--------------------------------------------------------------*/
 0008           ; #include <iom16v.h>
 0008           ; #include <macros.h>
 0008           ; #include "1302.h"
 0008           ; #include "main.h"
 0008           ; 
 0008           ; void pDS1302_Write(unsigned char reg,unsigned char data) 
 0008           ; { 
 0008                   .dbline 21
 0008           ;         unsigned char i; 
 0008           ;      
 0008           ;         mDS1302IO_Out; 
 0008 8C9A              sbi 0x11,4
 000A                   .dbline 22
 000A           ;         mSetDS1302IO;  
 000A 949A              sbi 0x12,4
 000C                   .dbline 23
 000C           ;         mClrDS1302RST;    
 000C 9398              cbi 0x12,3
 000E                   .dbline 24
 000E           ;         wait;
 000E 0000              nop
 0010 0000               nop
 0012                   .dbline 25
 0012           ;           mClrDS1302SCK; 
 0012 9298              cbi 0x12,2
 0014                   .dbline 26
 0014           ;         wait;       
 0014 0000              nop
 0016 0000               nop
 0018                   .dbline 27
 0018           ;         mSetDS1302RST;
 0018 939A              sbi 0x12,3
 001A                   .dbline 28
 001A           ;         wait; 
 001A 0000              nop
 001C 0000               nop
 001E                   .dbline 29
 001E           ;         for(i=0;i<8;i++) 
 001E 4427              clr R20
 0020 13C0              xjmp L5
 0022           L2:
 0022                   .dbline 30
 0022           ;       {  
 0022                   .dbline 31
 0022           ;               if(reg&BIT(i)) 
 0022 01E0              ldi R16,1
 0024 142F              mov R17,R20
 0026 0E940000          xcall lsl8
 002A 2A2C              mov R2,R10
 002C 2022              and R2,R16
 002E 11F0              breq L6
 0030                   .dbline 32
 0030           ;                       mSetDS1302IO; 
 0030 949A              sbi 0x12,4
 0032 01C0              xjmp L7
 0034           L6:
 0034                   .dbline 34
 0034           ;               else           
 0034           ;                       mClrDS1302IO; 
 0034 9498              cbi 0x12,4
 0036           L7:
 0036                   .dbline 35
 0036 0000              nop
 0038 0000               nop
 003A                   .dbline 36
 003A 929A              sbi 0x12,2
 003C                   .dbline 37
 003C 0000              nop
 003E 0000               nop
 0040                   .dbline 38
 0040 9298              cbi 0x12,2
 0042                   .dbline 39
 0042 0000              nop
 0044 0000               nop
 0046                   .dbline 40
 0046           L3:
 0046                   .dbline 29
 0046 4395              inc R20
 0048           L5:
 0048                   .dbline 29
 0048 4830              cpi R20,8
 004A 58F3              brlo L2
 004C                   .dbline 42
 004C           ;               wait; 
 004C           ;               mSetDS1302SCK; 
 004C           ;               wait; 
 004C           ;               mClrDS1302SCK; 
 004C           ;               wait;        
 004C           ;               } 
 004C           ;          
 004C           ;       for(i=0;i<8;i++) 
 004C 4427              clr R20
 004E 13C0              xjmp L11
 0050           L8:
 0050                   .dbline 43
 0050           ;       {  
 0050                   .dbline 44
 0050           ;               if(data&BIT(i))
 0050 01E0              ldi R16,1
 0052 142F              mov R17,R20
 0054 0E940000          xcall lsl8
 0058 262E              mov R2,R22
 005A 2022              and R2,R16
 005C 11F0              breq L12
 005E                   .dbline 45
 005E           ;               mSetDS1302IO; 
 005E 949A              sbi 0x12,4
 0060 01C0              xjmp L13
 0062           L12:
 0062                   .dbline 47
 0062           ;               else 
 0062           ;               mClrDS1302IO; 
 0062 9498              cbi 0x12,4
 0064           L13:
 0064                   .dbline 48
 0064 0000              nop
 0066 0000               nop
 0068                   .dbline 49
 0068 929A              sbi 0x12,2
 006A                   .dbline 50
 006A 0000              nop
 006C 0000               nop
 006E                   .dbline 51
 006E 9298              cbi 0x12,2
 0070                   .dbline 52
 0070 0000              nop
 0072 0000               nop
 0074                   .dbline 53
 0074           L9:
 0074                   .dbline 42
 0074 4395              inc R20
 0076           L11:
 0076                   .dbline 42
 0076 4830              cpi R20,8
 0078 58F3              brlo L8
 007A                   .dbline 55
 007A           ;               wait; 
 007A           ;               mSetDS1302SCK; 
 007A           ;               wait; 
 007A           ;               mClrDS1302SCK; 
 007A           ;               wait;
 007A           ;       } 
 007A           ;      
 007A           ;         wait; 
 007A 0000              nop
 007C 0000               nop
 007E                   .dbline 56
 007E           ;         mClrDS1302RST;
 007E 9398              cbi 0x12,3
 0080                   .dbline 57
 0080           ;         wait;
 0080 0000              nop
 0082 0000               nop
 0084                   .dbline -2
 0084           L1:
 0084 0E940000          xcall pop_gset3
 0088                   .dbline 0 ; func end
 0088 0895              ret
 008A                   .dbsym r i 20 c
 008A                   .dbsym r data 22 c
 008A                   .dbsym r reg 10 c
 008A                   .dbend
 008A                   .dbfunc e pDS1302_Read _pDS1302_Read fc
 008A           ;           data -> R20
 008A           ;              i -> R22
 008A           ;            reg -> R10
                        .even
 008A           _pDS1302_Read::
 008A 0E940000          xcall push_gset3
 008E A02E              mov R10,R16
 0090                   .dbline -1
 0090                   .dbline 61
 0090           ; } 
 0090           ; 
 0090           ; unsigned char pDS1302_Read(unsigned char reg) 
 0090           ; { 
 0090                   .dbline 62
 0090           ;     unsigned char data=0,i; 
 0090 4427              clr R20
 0092                   .dbline 64
 0092           ;          
 0092           ;     mDS1302IO_Out; 
 0092 8C9A              sbi 0x11,4
 0094                   .dbline 65
 0094           ;     reg+=1;//读标志 
 0094 A394              inc R10
 0096                   .dbline 66
 0096           ;     mSetDS1302IO; 
 0096 949A              sbi 0x12,4

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -