?? main.lst
字號:
C51 COMPILER V8.05a MAIN 05/08/2009 21:03:45 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************
2 PCF8653實驗程序
3 程序說明:向PCF8653中寫入初始時間值:2008年1月5日,星期三,15點18分56
4 秒后,在從其中讀出數據后通過串口通信發送到顯示裝置進行顯示
5 *******************************************************************/
6 #include <INIF.h>
7 #include <I2C.h>
8 #include <lcd1602.h>
9 uchar xdata Time_Data[16]={0};
10 void JDQ1();
11 void JDQ2();
12 long jj;
13 main()
14 {
15 1 uchar p[7]={0x56,0x18,0x15,0x05,0x02,0x01,0x08};
16 1 //2008 年1 月5 日星期三 15 點 18 分56 秒<倒序>
17 1 //uchar m[3]={0x19,0x15,0x05};
18 1 uchar m[1]={0x19};
19 1 uchar n[2]={0x80,60};
20 1 uchar afing;
21 1 uchar clear=0x00;
22 1 uchar kaizhong=0x03;
23 1 uchar q[7];
24 1 uchar i;
25 1
26 1 bit bp;
27 1 for(i=0;i<7;i++)
28 1 {
29 2 bp=ISendStr(PCF8563,SUBADDR+i,p+i,1); //向PCF8563各時鐘寄存器寫入初始數據
30 2 }
31 1 ISendStr(PCF8563,SUBADDRb,m,1);
32 1 IRcvStr(PCF8563,SUBADDRc,&kaizhong,1);
33 1 lcd1602init(); //液晶初始化
34 1 SDA = 1;
35 1 SCL = 1;
36 1 PORT = 0x03; //8155的A,B口作為輸出,C為輸入口
37 1 lcd_clear( ); //液晶清屏
38 1 while(1)
39 1 {
40 2 //讀PCF8563各時鐘寄存器
41 2 for(i=0;i<7;i++)
42 2 {
43 3 bp=IRcvStr(PCF8563,SUBADDR+i,q+i,1);
44 3 }
45 2 //屏蔽無效位
46 2 q[0]&=0x7F;//second
47 2 q[1]&=0x7F;//minute
48 2 q[2]&=0x3F;//hour
49 2 q[3]&=0x3F;//day
50 2 q[4]&=0x07;//week
51 2 q[5]&=0x1F;//month
52 2 q[6]&=0xFF;//year
53 2 //送顯示器顯示
54 2 Time_Data[0] = q[6]/16+'0';
55 2 Time_Data[1] = q[6]%16+'0';
C51 COMPILER V8.05a MAIN 05/08/2009 21:03:45 PAGE 2
56 2 Time_Data[2] = q[5]/16+'0';
57 2 Time_Data[3] = q[5]%16+'0';
58 2 Time_Data[4] = q[3]/16+'0';
59 2 Time_Data[5] = q[3]%16+'0';
60 2 Time_Data[6] = ' ';
61 2 Time_Data[7] = q[4]%16+'1';
62 2 Time_Data[8] = ' ';
63 2 Time_Data[9] = q[2]/16+'0';
64 2 Time_Data[10] = q[2]%16+'0';
65 2 Time_Data[11] = q[1]/16+'0';
66 2 Time_Data[12] = q[1]%16+'0';
67 2 Time_Data[13] = q[0]/16+'0';
68 2 Time_Data[14] = q[0]%16+'0';
69 2 IRcvStr(PCF8563,SUBADDRc,&afing,1);
70 2 if(afing&0x08)
71 2 {
72 3 //lcd_string(Time_Data,1);
73 3 JDQ1();
74 3 ISendStr(PCF8563,SUBADDRc,&clear,1);
75 3 ISendStr(PCF8563,SUBADDRd,n,2);
76 3 }
77 2 if(afing&0x04)
78 2 {
79 3 //lcd_string(Time_Data,1);
80 3 JDQ2();
81 3 ISendStr(PCF8563,SUBADDRc,&clear,1);
82 3 ISendStr(PCF8563,SUBADDRd,n,2);
83 3 }
84 2 lcd_string(Time_Data,2);
85 2 }
86 1 }
87 void JDQ1()
88 {
89 1 P1_4=0; //繼電器導通
90 1
91 1 }
92 void JDQ2()
93 {
94 1 P1_4=1;
95 1 for(jj=0;jj<10000;jj++);
96 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 491 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = 16 ----
PDATA SIZE = ---- ----
DATA SIZE = 4 21
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 + -