📄 ds1920.lst
字号:
C51 COMPILER V7.06 DS1920 08/04/2008 00:24:31 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DS1920
OBJECT MODULE PLACED IN DS1920.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DS1920.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /**********************************************
2 * File: DS1620.C
3 * Description: Tri-Angle
4 * Created Date: 2007-10-01
5 * Last Modified: 2007-10-01
6 * Author: Jeffrey - Schicksal@126.com
7 * Notes: None
8 **********************************************/
9 //#include "Atmel/AT89X51.h"
10 #include "SST/SST89x5x4.H"
11 #include "INTRINS.H"
12 #include "DS1620.h"
13
14
15 /**********************************************
16 * Function: WR_byte(unsigned char val)
17 * Input Variables: unsigned char val
18 * Return Variables: None
19 * Usage: Write Byte to DS1920
20 **********************************************/
21 void WR_byte(unsigned char val)
22 {
23 1 char i; // 临时变量
24 1 unsigned char b; // 移位变量
25 1 b=1; // 赋初值
26 1 for(i=0;i<8;i++) // 循环发送
27 1 {
28 2 CLK_CONV=0; // CLK_CONV 低
29 2 DQ=(val&b); // 输出数据
30 2 CLK_CONV=1; // CLK_CONV 高
31 2 b<<=1; // 移位
32 2 }
33 1 }
34
35 /**********************************************
36 * Function: RD_byte(void)
37 * Input Variables: void
38 * Return Variables: unsigned char
39 * Usage:Read a Byte from DS1920
40 **********************************************/
41 unsigned char RD_byte(void)
42 {
43 1 unsigned char i; // 临时变量
44 1 unsigned char b; // 移位变量
45 1 unsigned char value; // 返回变量值
46 1 value=0; // 赋初值
47 1 b=1; // 赋初值
48 1 for(i=0;i<8;i++)
49 1 {
50 2 DQ=1; // 置高,准备读取
51 2 CLK_CONV=0; // CLK_CONV 低
52 2 if (DQ) // 读取
53 2 value|=b; // 读取一位
54 2 CLK_CONV=1; // CLK_CONV 高
55 2 b<<=1; // 移位
C51 COMPILER V7.06 DS1920 08/04/2008 00:24:31 PAGE 2
56 2 }
57 1 return(value); // 返回读取值
58 1 }
59
60 /**********************************************
61 * Function: unsigned char DS1620startConv(void)
62 * Input Variables: void
63 * Return Variables: unsigned char
64 * Usage:start conversion
65 **********************************************/
66 unsigned char DS1620startConv(void)
67 {
68 1 RST=1; // RST 高
69 1 WR_byte(0xEE); // 写命令字
70 1 RST=0; // RST低
71 1 return 0x00; // 返回值
72 1 }
73
74 /**********************************************
75 * Function:DS1620ReadConf(void)
76 * Input Variables:
77 * Return Variables: unsigned char
78 * Usage:Read Config Register of DS1620
79 **********************************************/
80 unsigned char DS1620ReadConf(void)
81 {
82 1 unsigned char tmp; // 返回值临时变量
83 1 RST=1; // RST高
84 1 WR_byte(0xAC); // 写命令字
85 1 tmp=RD_byte(); // 读控制寄存器值
86 1 RST=0; // RST低
87 1 return tmp; // 返回值
88 1 }
89
90 /**********************************************
91 * Function: DS1620SetConf(unsigned char val)
92 * Input Variables: unsigned char va
93 * Return Variables: unsigned char
94 * Usage:Setting Config Register of DS1620
95 **********************************************/
96 unsigned char DS1620SetConf(unsigned char val)
97 {
98 1 RST=1; // RST高
99 1 WR_byte(0x0C); // 写命令字
100 1 WR_byte(val); // 写控制寄存器参数
101 1 RST=0; // RST低
102 1 return 1;
103 1 }
104
105 /**********************************************
106 * Function: unsigned int DS1620read(void)
107 * Input Variables: void
108 * Return Variables: unsigned int
109 * Usage:Read temp of DS1620
110 **********************************************/
111 unsigned int DS1620read(void)
112 {
113 1 unsigned char hbyte,lbyte; // 温度值高低字节
114 1 unsigned int temp; // 临时变量
115 1 RST=1; // RST高
116 1 WR_byte(0xAA); // 写命令字
117 1 lbyte=RD_byte(); // 读取温度低字节
C51 COMPILER V7.06 DS1920 08/04/2008 00:24:31 PAGE 3
118 1 hbyte=RD_byte(); // 读取温度高字节
119 1 RST=0; // RST低
120 1 temp=hbyte; // 合成温度值
121 1 temp<<=8;
122 1 temp|=lbyte;
123 1 return temp; // 返回值
124 1 }
125
126 /**********************************************
127 * Function: void InitDS1620(void)
128 * Input Variables: void
129 * Return Variables: void
130 * Usage:InitDS1620
131 **********************************************/
132 void InitDS1620(void)
133 {
134 1 DS1620SetConf(0x8A); // 设置初始化值为0x8A
135 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 122 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -