📄 生日提醒.lst.svn-base
字号:
C51 COMPILER V8.08 蒧日提醒 10/25/2011 08:42:07 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE 蒧日提醒
OBJECT MODULE PLACED IN 生日提醒.OBJ
COMPILER INVOKED BY: D:\工作相关软件\KEIL3.8\C51\BIN\C51.EXE 生日提醒.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*****************************************************
2 4字LED点阵屏+DS1302万年历电子钟 C 程序
3
4 *******************************************************
5
6 DS1302 接线图
7
8 Vcc2 CLK I/O /RST
9
10 | | | |
11 -------------------
12 | 8 7 6 5 |
13 | DS1302 |
14 | |
15 | 1 2 3 4 |
16 -------------------
17 | | | |
18 VCC1 GND
19
20 1 脚接+5V 2,3脚32768HZ晶振 4脚接地 5脚接S51的P02 6脚接S51的P01 7接S51的P00
21 8脚接后备电源,可以接老计算机主板上的3.6V电池,也可以通过二级管隔离接一个大容量电解电容
22 电压在2.5V以上即可维持
23
24
25 595连级输出数据,138行驱动。*/
26
27
28 //(本程序引用网上程序,有点BUG经过修改后可以使用,经过修改调整加上了温度显示功能,节日提醒功能和家人生日提醒
-功能。
29 //程序没有有效简化)07电气工程,付春平!
30
31 #include"stc89c51rc.h"
32 #include <intrins.h>
33 #define uchar unsigned char
34 #define uint unsigned int
35
36
37 unsigned char irtime;//红外用全局变量
38
39 bit irokk;
40 unsigned char IRcord[2];
41 unsigned char irdata[17];
42 unsigned char data temp_data[2] = {0x00,0x00} ;
43 void Ircordpro(void);
44
45
46 uchar code hanzi[]; //汉字字模
47 uchar code hanzi1[]; //汉字字模
48 uchar code timer[18][16]; //0~9数字
49 uchar code sw[]; //138驱动数据
50
51 void Show_word(); //待机显示按三秒间隔分别显示年、月日、星期、时分秒。
52 void Show_pass(); //不显示一个字
53 void Show_pass1(); //不显示一个字
54 void Send_data(unsigned char *d,unsigned char *b); /*串口发送一行*/
C51 COMPILER V8.08 蒧日提醒 10/25/2011 08:42:07 PAGE 2
55 void Send_data1(unsigned char *d,unsigned char *b);
56 void Send_data2(unsigned char *d,unsigned char *b);
57 void Send_data6(unsigned char *d,unsigned char *b);
58 void Send_data7(unsigned char *d,unsigned char *b);
59 void Send_data8(unsigned char *d,unsigned char *b);
60 void Send_data9(unsigned char *d,unsigned char *b);
61
62 void Send_data3(unsigned char *d); /*串口发送一行*/
63 void Send_data4(unsigned char *d);
64 void Send_data5(unsigned char *d);
65
66 /******************************************/
67 sbit resget=P0^0; //时钟复位
68 sbit key_moda=P0^1; //模式转换
69 sbit key_up=P0^2; //时钟加
70 sbit key_Down=P0^3; //时钟减
71
72 sbit T_CLK=P2^1; //DS1302引脚连接
73 sbit T_IO =P2^2;
74 sbit T_RST=P2^3;
75
76 sbit ACC0=ACC^0; //1bit数据存储位
77 sbit ACC7=ACC^7;
78
79 sbit STR=P3^0; //锁存
80 sbit SCK=P3^1; //时钟
81 sbit SERr= P1^7; //数据
82 sbit SERg= P1^6;
83
84
85 sbit SERr1= P1^4;
86 sbit SERg1= P1^5;
87 sbit E=P3^7;
88 sbit P36= P2^0 ;
89 sbit P37= P3^7 ;
90 //sbit DQ= P2 ^ 0;//(单总线DHT11温湿度传感器)
91
92
93 bit c_moon,ri,r,zz,rr,nn,w;
94 data uchar nian_moon,yue_moon,ri_moon,xingqi;
95 uchar c_sun,nian_sun,yue_sun,ri_sun;
96 typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */
97 typedef signed char S8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */
98 typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */
99 typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */
100 typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */
101 typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */
102 typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长
-度) */
103 typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长
-度) */
104 //----------------------------------------------//
105 //----------------定义区--------------------//
106 //----------------------------------------------//
107 U8 U8FLAG,k;
108 U8 U8count,U8temp;
109 U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
110 U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
111 U8 U8comdata;
112
113
114 uchar starts_time[7]={0x00,0x10,0x22,0x20,0x05,0x04,0x10}; //初始化后设置
C51 COMPILER V8.08 蒧日提醒 10/25/2011 08:42:07 PAGE 3
115 uchar Move,Speed,Flicker,line,Sec,Cent,Hour,Year,Month,Day,Week; //时间温度变量
116 uchar a,b,f,ha,msec,id,x,y,h,p,n,q,l,yy,mm,ping; //标志计数器 a为自动转换显示时间,b为手动与自动
-标志
117 uint zimuo; //字模计数器
118 //uchar BUFF[10]; //缓存
119 //uchar BUFF1[10];
120
121
122 void RTInputByte(uchar); //* 输入 1Byte */
123 uchar RTOutputByte(void); //* 输出 1Byte */
124 void W1302(uchar, uchar); // 向DS1302写入一个字节
125 uchar R1302(uchar); // 从DS1302读出一个字节
126 void Set1302(uchar *); // 写DS1302时间
127 void du1302(); // 读时间
128 void DelayMs(void); // 延时
129 void Set(uchar,uchar ); // 变量调整
130 void in_data(); // 调整移动数据
131 void rxd_data(); // 串口发送移动数据
132
133 code uchar nian_code[597] = {
134 0x04,0xAe,0x53, //1901 0
135 0x0A,0x57,0x48, //1902 3
136 0x55,0x26,0xBd, //1903 6
137 0x0d,0x26,0x50, //1904 9
138 0x0d,0x95,0x44, //1905 12
139 0x46,0xAA,0xB9, //1906 15
140 0x05,0x6A,0x4d, //1907 18
141 0x09,0xAd,0x42, //1908 21
142 0x24,0xAe,0xB6, //1909
143 0x04,0xAe,0x4A, //1910
144 0x6A,0x4d,0xBe, //1911
145 0x0A,0x4d,0x52, //1912
146 0x0d,0x25,0x46, //1913
147 0x5d,0x52,0xBA, //1914
148 0x0B,0x54,0x4e, //1915
149 0x0d,0x6A,0x43, //1916
150 0x29,0x6d,0x37, //1917
151 0x09,0x5B,0x4B, //1918
152 0x74,0x9B,0xC1, //1919
153 0x04,0x97,0x54, //1920
154 0x0A,0x4B,0x48, //1921
155 0x5B,0x25,0xBC, //1922
156 0x06,0xA5,0x50, //1923
157 0x06,0xd4,0x45, //1924
158 0x4A,0xdA,0xB8, //1925
159 0x02,0xB6,0x4d, //1926
160 0x09,0x57,0x42, //1927
161 0x24,0x97,0xB7, //1928
162 0x04,0x97,0x4A, //1929
163 0x66,0x4B,0x3e, //1930
164 0x0d,0x4A,0x51, //1931
165 0x0e,0xA5,0x46, //1932
166 0x56,0xd4,0xBA, //1933
167 0x05,0xAd,0x4e, //1934
168 0x02,0xB6,0x44, //1935
169 0x39,0x37,0x38, //1936
170 0x09,0x2e,0x4B, //1937
171 0x7C,0x96,0xBf, //1938
172 0x0C,0x95,0x53, //1939
173 0x0d,0x4A,0x48, //1940
174 0x6d,0xA5,0x3B, //1941
175 0x0B,0x55,0x4f, //1942
C51 COMPILER V8.08 蒧日提醒 10/25/2011 08:42:07 PAGE 4
176 0x05,0x6A,0x45, //1943
177 0x4A,0xAd,0xB9, //1944
178 0x02,0x5d,0x4d, //1945
179 0x09,0x2d,0x42, //1946
180 0x2C,0x95,0xB6, //1947
181 0x0A,0x95,0x4A, //1948
182 0x7B,0x4A,0xBd, //1949
183 0x06,0xCA,0x51, //1950
184 0x0B,0x55,0x46, //1951
185 0x55,0x5A,0xBB, //1952
186 0x04,0xdA,0x4e, //1953
187 0x0A,0x5B,0x43, //1954
188 0x35,0x2B,0xB8, //1955
189 0x05,0x2B,0x4C, //1956
190 0x8A,0x95,0x3f, //1957
191 0x0e,0x95,0x52, //1958
192 0x06,0xAA,0x48, //1959
193 0x7A,0xd5,0x3C, //1960
194 0x0A,0xB5,0x4f, //1961
195 0x04,0xB6,0x45, //1962
196 0x4A,0x57,0x39, //1963
197 0x0A,0x57,0x4d, //1964
198 0x05,0x26,0x42, //1965
199 0x3e,0x93,0x35, //1966
200 0x0d,0x95,0x49, //1967
201 0x75,0xAA,0xBe, //1968
202 0x05,0x6A,0x51, //1969
203 0x09,0x6d,0x46, //1970
204 0x54,0xAe,0xBB, //1971
205 0x04,0xAd,0x4f, //1972
206 0x0A,0x4d,0x43, //1973
207 0x4d,0x26,0xB7, //1974
208 0x0d,0x25,0x4B, //1975
209 0x8d,0x52,0xBf, //1976
210 0x0B,0x54,0x52, //1977
211 0x0B,0x6A,0x47, //1978
212 0x69,0x6d,0x3C, //1979
213 0x09,0x5B,0x50, //1980
214 0x04,0x9B,0x45, //1981
215 0x4A,0x4B,0xB9, //1982
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -