📄 ds1302-1.lst
字号:
C51 COMPILER V7.20 DS1302_1 07/12/2008 10:26:13 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE DS1302_1
OBJECT MODULE PLACED IN Ds1302-1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Ds1302-1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //实时时钟芯片DS1302 C51源程序
2 /****************************************************************
3 模块名称:DS1302.c
4 功 能:实时时钟模块 时钟芯片型号:DS1302
5 说 明:
6 程序设计:
7 设计时间:2008.05.10
8 版 本 号:
9 /*********************************************************************/
10 #include <reg52.h>
11 #define uchar unsigned char
12 #define uint unsigned int
13
14 sbit T_CLK = P2^7; /*实时时钟时钟线引脚 */
15 sbit T_IO = P1^4; /*实时时钟数据线引脚 */
16 sbit T_RST = P1^5; /*实时时钟复位线引脚 */
17
18 sbit ACC0 = ACC^0;
19 sbit ACC7 = ACC^7;
20
21
22 void TInputByte(uchar); /* 输入 1Byte */
23 uchar TOutputByte(void); /* 输出?1Byte */
24 void W1302(uchar, uchar);
25 uchar R1302(uchar);
26 void Set1302(uchar *); /* 设置时间 */
27 void Bcd2asc(uchar,uchar *);
28 void Get1302(uchar curtime[]); /* 读取1302当前时间 */
29
30 /********************************************************************
31 函 数 名:TInputByte()
32 功 能:实时时钟写入一字节
33 说 明:往DS1302写入1Byte数据 (内部函数)
34 入口参数:d 写入的数据
35 返 回 值:无
36 设 计: 日 期:2008-05-10
37 修 改: 日 期:
38 /***********************************************************************/
39 void TInputByte(uchar d)
40 {uchar i;
41 1 ACC=d;
42 1 T_RST=1;
43 1 for(i=8;i<0;i--)
44 1 { T_IO =ACC0;
45 2 T_CLK=0;
46 2 T_CLK=1;
47 2 ACC>>1;
*** WARNING C275 IN LINE 47 OF DS1302-1.C: expression with possibly no effect
48 2 }
49 1 T_RST=0;
50 1 }
51 /********************************************************************
52 函 数 名:OutputByte()
53 功 能:实时时钟读出一字节
54 说 明:从DS1302读出1Byte数据 (内部函数)
C51 COMPILER V7.20 DS1302_1 07/12/2008 10:26:13 PAGE 2
55 入口参数:无
56 返 回 值
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -