?? de1302_rw.lst
字號:
C51 COMPILER V7.06 DE1302_RW 12/17/2007 21:48:35 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DE1302_RW
OBJECT MODULE PLACED IN de1302_RW.OBJ
COMPILER INVOKED BY: D:\keil評估版\keil C51完全破解版\anzhuang\C51\BIN\C51.EXE de1302_RW.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 uchar sec,min,hr;
5 sbit clk=P1^0;
6 sbit dat=P1^1;
7 sbit rst=P1^2;
8 sbit A0=ACC^0;
9 sbit A1=ACC^1;
10 sbit A2=ACC^2;
11 sbit A3=ACC^3;
12 sbit A4=ACC^4;
13 sbit A5=ACC^5;
14 sbit A6=ACC^6;
15 sbit A7=ACC^7;
16 sbit blue=P1^5;
17 sbit green=P1^6;
18 sbit red=P1^7;
19 void InputByte(uchar dd)//mcu to ds1302
20 {
21 1 uchar i;
22 1 ACC=dd;
23 1 for(i=8;i>0;i--)
24 1 {
25 2 dat=A0;
26 2 clk=1;
27 2 clk=0;
28 2 ACC=ACC>>=1;
29 2 }
30 1 }
31 //-------------------------------------------------------
32 uchar OutputByte(void) //ds1302 to mcu
33 {
34 1 uchar i;
35 1 dat=1;
36 1 for(i=8;i>0;i--)
37 1 {
38 2 ACC=ACC>>1;
39 2 A7=dat;
40 2 clk=1;
41 2 clk=0;
42 2 }
43 1 return(ACC);
44 1 }
45 //--------------------------------------------------
46 void Write(uchar addr,uchar num)
47 {
48 1 rst=0;
49 1 clk=0;
50 1 rst=1;
51 1 InputByte(addr); // address
52 1 InputByte(num); //data
53 1 clk=1;
54 1 rst=0;
55 1 }
C51 COMPILER V7.06 DE1302_RW 12/17/2007 21:48:35 PAGE 2
56 //-------------------------------------------------
57 uchar Read(uchar addr)
58 {
59 1 uchar dd=0;
60 1 rst=0;
61 1 clk=0;
62 1 rst=1;
63 1 InputByte(addr);
64 1 dd=OutputByte();
65 1 clk=1;
66 1 rst=0;
67 1 return(dd);
68 1 }
69 //--------------------------------------------------------------
70 uchar ReadSec()
71 {
72 1 uchar dd;
73 1 dd=Read(0x81);
74 1 return(dd);
75 1 }
76 //--------------------------------------------------------------
77 uchar ReadMin()
78 {
79 1 uchar dd;
80 1 dd=Read(0x83);
81 1 return(dd);
82 1 }
83 //--------------------------------------------------------------
84 uchar ReadHr()
85 {
86 1 uchar dd;
87 1 dd=Read(0x85);
88 1 return(dd);
89 1 }
90 //------------------------------------------------------------
91 uchar ReadWe()
92 {
93 1 uchar dd;
94 1 dd=Read(0x8b);
95 1 return(dd);
96 1 }
97 //------------------------------------------------------------
98 uchar ReadDay()
99 {
100 1 uchar dd;
101 1 dd=Read(0x87);
102 1 return(dd);
103 1 }
104 //------------------------------------------------------------
105 uchar ReadMn()
106 {
107 1 uchar dd;
108 1 dd=Read(0x89);
109 1 return(dd);
110 1 }
111 //------------------------------------------------------------
112 uchar ReadYs()
113 {
114 1 uchar dd;
115 1 dd=Read(0x8d);
116 1 return(dd);
117 1 }
C51 COMPILER V7.06 DE1302_RW 12/17/2007 21:48:35 PAGE 3
118 //------------------------------------------------------------
119 void WriteSec(uchar num)
120 {
121 1 Write(0x80,num);
122 1 }
123 //-----------------------------------------------------------
124 void WriteMin(uchar num)
125 {
126 1 Write(0x82,num);
127 1 }
128 //-----------------------------------------------------------
129 void WriteHr(uchar num)
130 {
131 1 Write(0x84,num);
132 1 }
133 //-----------------------------------------------------------
134 void WriteDay(uchar num)
135 {
136 1 Write(0x86,num);
137 1 }
138 //-----------------------------------------------------------
139 void WriteMn(uchar num)
140 {
141 1 Write(0x88,num);
142 1 }
143 //-----------------------------------------------------------
144 void WriteWe(uchar num)
145 {
146 1 Write(0x8a,num);
147 1 }
148 //-----------------------------------------------------------
149 void WriteYs(uchar num)
150 {
151 1 Write(0x8c,num);
152 1 }
153 //-----------------------------------------------------------
154 void DisableWP(void) //write data,read 0
155 {
156 1 Write(0x8e,0x00);
157 1 }
158 //----------------------------------------------------------
159 void EnableWP(void) //can''d write,read data
160 {
161 1 Write(0x85,0x80);
162 1 }
163 void delay()
164 {uint i,j;
165 1 for(i=0;i<1000;i++)
166 1 {
167 2 for(j=0;j<40;j++){}
168 2 }
169 1 }
170
171 void main(void)
172 {
173 1
174 1 DisableWP();
175 1 WriteSec(0x00);
176 1 WriteMin(0x57);
177 1 WriteHr(0x10);
178 1 WriteDay(0x07);
179 1 WriteMn(0x06);
C51 COMPILER V7.06 DE1302_RW 12/17/2007 21:48:35 PAGE 4
180 1 WriteWe(0x02);
181 1 WriteYs(0x05);
182 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 250 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
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 + -