📄 cs5522.lst
字号:
C51 COMPILER V6.12 CS5522 12/31/2003 17:28:30 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE CS5522
OBJECT MODULE PLACED IN .\cs5522.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE .\cs5522.c ROM(SMALL) DEBUG OBJECTEXTEND SRC(.\cs5522.SRC)
stmt level source
1 #include<reg52.h>
2 //***********************************
3 #define unch unsigned char
4 //***********************************
5 sbit cs=P2^1; //和cs5522有关的端口
6 sbit sdi=P2^2;
7 sbit sdo=P2^0;
8 sbit sclk=P2^3;
9 //************************************
10 extern unsigned char data t_d[8]; //当前显示数的BCD码。
11 void eight_dis(void);
12 //*************************************
13 extern unsigned char bdata main_temp; //全局缓冲变量
14 extern bit main_temp_7;
15 extern unsigned char dis_data[3]; //cs5522读出数据的暂时存放处
16 //***********************************
17 void eight_dis(void);
18 void bcd_change(void);
19 //***********************************
20 //向CS5522发送一个字节
21 void Se_Cs_W(unsigned char Cs_Word)
22 {
23 1 unsigned char data Cs_i=8;
24 1 main_temp=Cs_Word;
25 1 while(Cs_i)
26 1 {
27 2 sdi=main_temp_7;
28 2 sclk=1;
29 2 main_temp<<=1;
30 2 sclk=0;
31 2 Cs_i--;
32 2
33 2 }
34 1 }
35 //*****************************************
36 //***********************************
37 //向CS5522读一个字节。
38 unsigned char ReadW(void)
39 {
40 1 unsigned char Read_i;
41 1 main_temp=0;
42 1 Read_i=8;
43 1 while(Read_i)
44 1 {
45 2
46 2 main_temp>>=1;
47 2 main_temp_7=sdo;
48 2 sclk=1;
49 2 sclk=0;
50 2 Read_i--;
51 2
52 2 }
53 1 return(main_temp);
54 1
55 1
C51 COMPILER V6.12 CS5522 12/31/2003 17:28:30 PAGE 2
56 1 }
57
58
59 //***********************************
60 //写1字节读3字节。
61 void Sen_Rec(unsigned char Sen_Rec_tem)
62 {
63 1
64 1 cs=0;
65 1 Se_Cs_W(Sen_Rec_tem);
66 1 dis_data[2]=ReadW();
67 1 dis_data[1]=ReadW();
68 1 dis_data[0]=ReadW();
69 1 cs=1;
70 1 }
71 //************************************
72 //直接写4字节。
73 void F_Word(unch temp1,unch temp2,unch temp3,unch temp4)
74 {
75 1 cs=0;
76 1 Se_Cs_W(temp1);
77 1 Se_Cs_W(temp2);
78 1 Se_Cs_W(temp3);
79 1 Se_Cs_W(temp4);
80 1 cs=1;
81 1
82 1 }
83
84
85 //***********************************
86 //起动串口。
87 void initserial(void)
88 {
89 1 unsigned char data Init_Tem=15;
90 1 cs=0;
91 1 while(Init_Tem)
92 1 {
93 2 Se_Cs_W(0xff);
94 2 Init_Tem--;
95 2 }
96 1 Se_Cs_W(0xfe);
97 1 cs=1;
98 1 }
99
100
101
102
103 //***************************************************
104
105 //配置CS5522
106 void InitCs(void)
107 {
108 1 unsigned char i,j;
109 1 //===================设置配置寄存器=======================
110 1 //配置RS位寄存器写一
111 1
112 1 F_Word(0x03,0x00,0x00,0x80); //直接写4字节?
113 1 //读配置寄存器
114 1
115 1 //*************************************
116 1 //判断RV是否为“1若RV为1,向RS写0
117 1 /* do
C51 COMPILER V6.12 CS5522 12/31/2003 17:28:30 PAGE 3
118 1 {
119 1
120 1 // F_Word(0x03,0x00,0x00,0x80); //直接写4字节.
121 1 //读配置寄存器
122 1
123 1 Sen_Rec(0x0b); } //写1字节读3字节。
124 1 while(~dis_data[0]&0x40); */
125 1 //*************************************
126 1 i=0xff;
127 1 while(i)
128 1 {
129 2 j=0xff;
130 2 while(j)
131 2 {j--;}
132 2 i--;
133 2
134 2 }
135 1 Sen_Rec(0x0b);
136 1 bcd_change();
137 1 eight_dis();
138 1 while(1)
139 1 {}
140 1 /* i=0xff;
141 1 while(i)
142 1 {
143 1 j=0xff;
144 1 while(j)
145 1 {j--;}
146 1 i--;
147 1
148 1 }
149 1 Sen_Rec(0x0b); //写1字节读3字节?
150 1 bcd_change();
151 1 eight_dis();
152 1 while(1)
153 1 {} */
154 1 //**************************************
155 1 //写配置寄存器。
156 1 F_Word(0x03,0x00,0x14,0x00); //直接写4字节?
157 1 //****************************************
158 1 //设置通道寄存器
159 1 F_Word(0x05,0x08,0x90,0x89);
160 1 //****************************************
161 1
162 1
163 1
164 1
165 1
166 1 }
167
168
169
170
171
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 130 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
C51 COMPILER V6.12 CS5522 12/31/2003 17:28:30 PAGE 4
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 + -