📄 ds.lst
字号:
C51 COMPILER V8.05a DS 09/24/2008 22:18:42 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE DS
OBJECT MODULE PLACED IN ds.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE ds.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <at89x51.h>
2 #include "led.h"
3 sbit rst=P2^5;
4 sbit sclk=P2^7;
5 sbit io=P2^6;
6 unsigned int second[2]={0,0},min[2]={0,0},hour[2]={0,0};
7
8 void write_ds1302(unsigned char dat)
9 {
10 1 unsigned char i=0;
11 1 sclk=0;
12 1 for (i=0;i<8;i++)
13 1 {
14 2 if (dat&0x01) io=1;
15 2 else io=0;
16 2 sclk=1;
17 2 sclk=0;
18 2 dat=dat>>1;
19 2 }
20 1 }
21 void write_data(unsigned char address,unsigned char dat)
22 {
23 1 rst=0;
24 1 sclk=0;
25 1 rst=1;
26 1 write_ds1302(address);
27 1 write_ds1302(dat);
28 1 sclk=1;
29 1 rst=0;
30 1 }
31 unsigned char read_ds1302(void)
32 {
33 1 unsigned char receive=0,i=0;
34 1 sclk=0;
35 1 for (i=0;i<8;i++)
36 1 {
37 2 receive=receive>>1;
38 2 if (io==1) receive=receive|0x80;
39 2 sclk=1;
40 2 sclk=0;
41 2 }
42 1 return (receive);
43 1 }
44 unsigned char read_dat(unsigned char address)
45 {
46 1 unsigned char receive1=0,i=0;
47 1 rst=0;
48 1 sclk=0;
49 1 rst=1;
50 1 write_ds1302(address);
51 1 io=1;
52 1 receive1=read_ds1302();
53 1 sclk=1;
54 1 rst=0;
55 1 return (receive1);
C51 COMPILER V8.05a DS 09/24/2008 22:18:42 PAGE 2
56 1 }
57 void ds1302(void)
58 {
59 1 rst=0;
60 1 sclk=0;
61 1 rst=1;
62 1 write_ds1302(0x8e);
63 1 write_ds1302(0);
64 1 //sclk=1;
65 1 rst=0;
66 1 write_ds1302(0x90);
67 1 write_ds1302(0xa5);
68 1 rst=0;
69 1 write_data(0x8e,0);
70 1 write_data(0x80,0);
71 1 write_data(0x82,9);
72 1 write_data(0x84,33);
73 1 write_data(0x86,0x22);
74 1 write_data(0x88,0x07);
75 1 write_data(0x8C,0x08);
76 1 rst=0;
77 1 sclk=0;
78 1 rst=1;
79 1 write_ds1302(0x8e);
80 1 write_ds1302(0x80);
81 1 //sclk=1;
82 1 rst=0;
83 1 }
84 void dsplay_ds1302(void)
85 {
86 1 second[0]=read_dat(0x81);
87 1 second[1]=second[0];
88 1 second[0]=second[0]&0x0f;
89 1 second[1]=second[1]&0x70;
90 1 second[1]=second[1]>>4;
91 1
92 1 min[0]=read_dat(0x83);
93 1 min[1]=min[0];
94 1 min[0]=min[0]&0x0f;
95 1 min[1]=min[1]&0x70;
96 1 min[1]=min[1]>>4;
97 1 hour[1]=hour[0];
98 1 hour[0]=hour[0]&0x0f;
99 1 hour[1]=hour[1]&0x3f;
100 1 hour[1]=hour[1]>>4;
101 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 308 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -