?? dd.lst
字號:
C51 COMPILER V8.08 DD 04/20/2009 20:03:18 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE DD
OBJECT MODULE PLACED IN DD.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE DD.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "c8051f340.h"
2 #include "intrins.h"
3 #define NOP _nop_()
4 #define uchar unsigned char
5 sbit SCLK=P2^2;
6 sbit IO=P2^1;
7 sbit RSTB=P2^0;
8
9
10
11 void delay(uchar i)
12 {
13 1
14 1 while (i--);
15 1 }
16
17 //*****************************RESET FUNCTION///////////////
18 void reset()
19 {
20 1 SCLK=0;
21 1 RSTB=0;
22 1 NOP;
23 1 NOP;
24 1 NOP;
25 1 RSTB=1;
26 1 }
27 //***************************BYTE WRITE************//
28 void wbyte(uchar w_byte)
29 {
30 1 uchar i;
31 1 for(i=0;i<8;++i)
32 1 {
33 2 IO=0;
34 2 if(w_byte&0x01) IO=1;
35 2 SCLK=0;
36 2 delay(10);
37 2 SCLK=1;
38 2 delay(10);
39 2 w_byte>>=1;
40 2 }
41 1 }
42 //*********************** BYTE READ******************//
43 uchar rbyte()
44 {
45 1 uchar i;
46 1 uchar R_BYTE;
47 1 uchar TMPBYTE;
48 1 R_BYTE=0X00;
49 1 IO=1;
50 1 for(i=0;i<8;++i)
51 1 {
52 2 SCLK=1;
53 2 delay(10);
54 2 TMPBYTE=(uchar)IO;
55 2 SCLK=0;
C51 COMPILER V8.08 DD 04/20/2009 20:03:18 PAGE 2
56 2 TMPBYTE<<=7;
57 2 R_BYTE>>=1;
58 2 R_BYTE|=TMPBYTE;
59 2 }
60 1 return(R_BYTE);
61 1 }
62
63 uchar time_data[8]={0,0,0,0,0,0,0,0};//sec,min,hrs,dte,mon,day,yr
64 uchar time_diplay[14]={0x31,0x35,0x38,0x32,0x39,0x33,0x34,0x33,0x32,0x37,0x31};
65
66 //*********************時間初始校準與初始化**************************************
67 void time_int_DS1302() //24小時模式
68 {
69 1 uchar time[8]={0,0,0x12,1,1,1,0,0};//sec,min,hrs,dte,mon,day,yr
70 1 uchar i;
71 1 reset();
72 1 wbyte(0x8e);//寫保護控制寄存器
73 1 wbyte(0);//允許寫入
74 1 reset();
75 1 wbyte(0x90); //涓流充電控制寄存器
76 1 wbyte(0); //禁止充電
77 1 reset();
78 1 wbyte(0xbe); //2000年1月1日12點0分0秒 星期一
79 1 for(i=0;i<8;i++) wbyte(time[i]);
80 1 reset();
81 1 }
82
83
84 //****************************************************************************
85 //****************DS1302顯示數據 ASCII碼數字轉化 ***********************/
86 //******************************************************************************
87
88 void display_xlat()
89 {
90 1 uchar i,j=0,num1,num2;
91 1 for(i=0;i<7;i++)
92 1 {
93 2 num1=time_data[i]&0x0F;
94 2 num2=time_data[i];
95 2 num2>>=4;
96 2 time_diplay[j]=num1+0x30;
97 2 time_diplay[j+1]=num2+0x30;
98 2 j+=2;
99 2 }
100 1
101 1 }
102
103 //**********************時間顯示***************************************
104 void time_display_DS1302()
105 { uchar i;
106 1 reset();
107 1 wbyte(0xbf); //burst read
108 1 for(i=0;i<8;i++) time_data[i]=rbyte();
109 1
110 1 reset();
111 1 display_xlat();
112 1 }
113
114
115
116
117
C51 COMPILER V8.08 DD 04/20/2009 20:03:18 PAGE 3
118
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 227 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 22 8
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 + -