callds05.lst
来自「单片机C语言教程」· LST 代码 · 共 119 行
LST
119 行
C51 COMPILER V8.02 CALLDS05 08/10/2007 21:17:26 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE CALLDS05
OBJECT MODULE PLACED IN CALLDS05.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CALLDS05.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************/
2 /* 这是调用DS1305汇编程序(DS1305B.ASM)的C51程序, */
3 /* 文件名CALLDS05.c */
4 /* 功能: 运行此程序,可将DS1305的时钟日历(7 bytes) 和RAM(96 bytes) */
5 /* 读出并将新的时钟日历值和RAM值置入。本程序只可从RAM读出16个字节或 */
6 /* 写入16个字节 */
7 /**********************************************************************/
8
9 #include <reg52.h> //单片机头文件
10 #include <stdio.h>
11 #include <math.h>
12 #include <absacc.h>
13
14 #define uchar unsigned char //简化定义
15 #define uint unsigned int
16 void delay1(uint x);
17 void fill60(void);
18 void fill67(void);
19 extern uchar chai5; //把全局变量chai5声明为外部变量
20 extern uchar a_func3(uchar,uchar);//把a_func3 声明为外部函数
21 uchar idata w1,w2,w3,w4,w5,w6,w7,w8,w9,wa,wb,wc,wd,we,wf,wg;
22
23 void delay1(uint x) //延时程序
24 {
25 1 uchar tw;
26 1 while (x-->0){
27 2 for (tw=0;tw<125;tw++){;}
28 2 }
29 1 }
30 void fill60(void) /* 准备初始日历时钟值*/
31 {
32 1 DBYTE[0x60]=0x00;
33 1 DBYTE[0x61]=0x15;
34 1 DBYTE[0x62]=0x10;
35 1 DBYTE[0x63]=0x31;
36 1 DBYTE[0x64]=0x12;
37 1 DBYTE[0x65]=0x05;
38 1 DBYTE[0x66]=0x01;
39 1 }
40 void fill67(void) /* 准备初始RAM值*/
41 { DBYTE[0x60]=0x10;
42 1 DBYTE[0x61]=0x12;
43 1 DBYTE[0x62]=0x13;
44 1 DBYTE[0x63]=0x14;
45 1 DBYTE[0x64]=0x15;
46 1 DBYTE[0x65]=0x16;
47 1 DBYTE[0x66]=0x17;
48 1 DBYTE[0x67]=0x18;
49 1 DBYTE[0x68]=0x19;
50 1 DBYTE[0x69]=0x22;
51 1 DBYTE[0x6a]=0x33;
52 1 DBYTE[0x6b]=0x44;
53 1 DBYTE[0x6c]=0x55;
54 1 DBYTE[0x6d]=0x66;
55 1 DBYTE[0x6e]=0x88;
C51 COMPILER V8.02 CALLDS05 08/10/2007 21:17:26 PAGE 2
56 1 DBYTE[0x6f]=0x77;
57 1 }
58 void main() //主程序
59 {
60 1 SP=0xdf;
61 1 delay1(1);
62 1 EA=0;
63 1 chai5=a_func3(0x00,0x00); /* 读DS1305日历时钟值 */
64 1 w1=DBYTE[0x60];
65 1 w2=DBYTE[0x61];
66 1 w3=DBYTE[0x62];
67 1 w4=DBYTE[0x63];
68 1 w5=DBYTE[0x64];
69 1 w6=DBYTE[0x66];
70 1 chai5=a_func3(0x00,0xFF); /*读DS1305 RAM值 */
71 1 w1=DBYTE[0x60];
72 1 w2=DBYTE[0x61];
73 1 w3=DBYTE[0x62];
74 1 w4=DBYTE[0x63];
75 1 w5=DBYTE[0x64];
76 1 w6=DBYTE[0x65];
77 1 w7=DBYTE[0x66];
78 1 w8=DBYTE[0x67];
79 1 w9=DBYTE[0x68];
80 1 wa=DBYTE[0x69];
81 1 wb=DBYTE[0x6a];
82 1 wc=DBYTE[0x6b];
83 1 wd=DBYTE[0x6c];
84 1 we=DBYTE[0x6d];
85 1 wf=DBYTE[0x6e];
86 1 wg=DBYTE[0x6f];
87 1 fill60(); /* 输入初始日历时钟值 */
88 1 chai5=a_func3(0xFF,0x00); /* 写DS1305日历时钟值*/
89 1 fill67(); /* 输入初始RAM值 */
90 1 chai5=a_func3(0xFF,0xFF); /* 写DS1305 RAM值 */
91 1 while(1);
92 1 }
93
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 287 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = 16 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?