📄 ds1302.lst
字号:
C51 COMPILER V8.02 DS1302 06/25/2008 15:41:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DS1302
OBJECT MODULE PLACED IN DS1302.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DS1302.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <5410AD.H>
2 #include "DS1302.h"
3 #define DataPort P2
4 #define Busy 0x80
5 sbit RSPIN=P3^4;
6 sbit RWPIN=P3^5;
7 sbit LCDEN=P3^7;
8 void DelayMs(unsigned int number);
9 void WaitForEnable(void);
10 void Lcdclsp(void);
11 void WriteCommand(unsigned char c);
12 void WriteData(unsigned char c);
13 void ShowChar(unsigned char pos,unsigned char c);
14 void ShowString(unsigned char line,char *prt);
15 void InitLcd();
16 void Delay1ms(unsigned int count)
17 {
18 1 unsigned int i,j;
19 1 for(i=0;i<count;i++)
20 1 for(j=0;j<120;j++);
21 1 }
22 main(void)
23 {
24 1 SYSTEMTIME CurrentTime;
25 1 DelayMs(2000);
26 1 InitLcd();
27 1 Initial_DS1302();
28 1 while(1){
29 2 DS1302_GetTime(&CurrentTime);
30 2 DateToStr(&CurrentTime);
31 2 TimeToStr(&CurrentTime);
32 2 ShowString(0,CurrentTime.DateString);
33 2 ShowString(1,CurrentTime.TimeString);
34 2 Delay1ms(300);
35 2
36 2 }
37 1 }
38 /***************************************************************/
39 void DelayMs(unsigned int number)
40 {
41 1 unsigned char temp;
42 1 for(;number!=0;number--) {
43 2 for(temp=112;temp!=0;temp--) {
44 3 }
45 2 }
46 1 }
47 /*****************************************************************/
48 void InitLcd()
49 { DelayMs(10);
50 1 WriteCommand(0x38);
51 1 DelayMs(10);
52 1 WriteCommand(0x38);
53 1 DelayMs(10);
54 1 WriteCommand(0x08);
55 1 WriteCommand(0x01);
C51 COMPILER V8.02 DS1302 06/25/2008 15:41:46 PAGE 2
56 1 WriteCommand(0x06);
57 1 WriteCommand(0x0E);
58 1 }
59 /*****************************************************************/
60 void WriteCommand(unsigned char c)
61 {
62 1 WaitForEnable();
63 1 RSPIN=0;
64 1 RWPIN=0;
65 1 LCDEN=1;
66 1 DataPort=c;
67 1 LCDEN=0;
68 1 }
69 /*****************************************************************/
70 void WriteData(unsigned char c)
71 {
72 1 WaitForEnable();
73 1 RSPIN=1;
74 1 RWPIN=0;
75 1 LCDEN=1;
76 1 DataPort=c;
77 1 LCDEN=0;
78 1 }
79 /*****************************************************************/
80 void ShowChar(unsigned char pos,unsigned char c)
81 { unsigned char p;
82 1 if (pos<0x10)
83 1 p=pos+0x80;
84 1 else
85 1 p=pos+0xB0;
86 1 WriteCommand(p);
87 1 WriteData(c);
88 1 }
89 /*****************************************************************/
90 void ShowString(unsigned char line,char *prt)
91 { unsigned char L,i;
92 1 L=line*0x10;
93 1 for(i=0;i<13;i++)
94 1 ShowChar(L++,*(prt+i));
95 1 }
96 /*****************************************************************/
97 void WaitForEnable(void)
98 { DataPort = 0xff;
99 1 RWPIN=1;
100 1 RSPIN=0;
101 1 LCDEN=1;
102 1 while(DataPort & Busy );
103 1 LCDEN=0;
104 1 }
105 /*****************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 930 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 45
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -