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