📄 dacmax531.lst
字号:
C51 COMPILER V8.08 DACMAX531 11/20/2008 22:02:47 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE DACMAX531
OBJECT MODULE PLACED IN DACMAX531.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DACMAX531.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"reg52.h"
2 #include"IOCfg.c"
3 #include"delay.h"
4 #include"Config.h"
5 #include "intrins.h"
6 #include"DACMAX531.h"
7
8 #define DBUS P0
9
10 static uchar data_574; //74574输出数据
11 //static uchar data_5741 = 0x10;//------------加了临时保存数据的寄存器才避免了DA操作时干扰背光
12
13
14 /************************************************************************************
15
16 刷新574数据(U10)
17
18 ************************************************************************************/
19 void DBUS1(uchar i)
20 {
21 1 DBUS = i;
22 1 clk_574_1 = 0;
23 1 clk_574_1 = 1;
24 1 }
25
26 /************************************************************************************
27 DAC输出转换函数
28 ************************************************************************************/
29 void dac(uint c)
30 {
31 1 uint i;
32 1 RS = 1;
33 1 RW = 0;
34 1
35 1 data_574 &= 0xfe;
36 1 DBUS1(data_574);
37 1 for(i = 0x8000;i > 0;i >>= 1)
38 1 {
39 2 if((c & i) == 0)
40 2 {
41 3 data_574 &= 0xFB;
42 3 }
43 2 else
44 2 {
45 3 data_574 |= 0x04;
46 3 }
47 2 DBUS1(data_574);
48 2
49 2 data_574 &= 0xFD;
50 2 DBUS1(data_574);
51 2 data_574 |= 0x02;
52 2 DBUS1(data_574);
53 2 }
54 1 data_574 |= 0x01;
55 1 DBUS1(data_574);
C51 COMPILER V8.08 DACMAX531 11/20/2008 22:02:47 PAGE 2
56 1 if(c <= 0x06c9)
57 1 {
58 2 RL_ONOFF(0);
59 2 }
60 1 else
61 1 {
62 2 RL_ONOFF(1);
63 2 }
64 1 }
65
66 /************************************************************************************
67 继电器切换 1: 高压吸合 0: 低压吸合
68 ************************************************************************************/
69 void RL_ONOFF(bit i)
70 {
71 1
72 1 RS = 1;
73 1 RW = 0;
74 1
75 1 if(i==1)
76 1 {
77 2 data_574 |= 0x20;
78 2 data_574 &= 0xbf;
79 2 DBUS1(data_574);
80 2 }
81 1 else
82 1 {
83 2 data_574 |= 0x40;
84 2 data_574 &= 0xdf;
85 2 DBUS1(data_574);
86 2 }
87 1 }
88
89 /************************************************************************************
90 蜂鸣器 1: 开 0: 关
91 ************************************************************************************/
92 void BELL_ONOFF(bit i)
93 {
94 1
95 1 RS = 1;
96 1 RW = 0;
97 1
98 1 if(i == 0)
99 1 {
100 2 data_574 |= 0x10;
101 2 DBUS1(data_574);
102 2 }
103 1 else
104 1 {
105 2 data_574 &= 0xef;
106 2 DBUS1(data_574);
107 2 }
108 1 }
109 /************************************************************************************
110 实际输出电压转换成DA输出值 ,返回整形数
111 ************************************************************************************/
112 uint conver(float x)
113 {
114 1 float temp;
115 1 if(x < 7.500)
116 1 {
117 2 x = x + 0.006;
C51 COMPILER V8.08 DACMAX531 11/20/2008 22:02:47 PAGE 3
118 2 }
119 1 temp = 14.975 / 0x0745;
120 1 temp = x / temp;
121 1 return(uint)temp;
122 1 }
123
124 /************************************************************************************
125 控制背光开关 1:开 0:关
126 ************************************************************************************/
127 void LED_ONOFF(bit i)
128 {
129 1 if(i==1)
130 1 {
131 2 data_574 |= 0x80;
132 2 DBUS1(data_574);
133 2 }
134 1 else
135 1 {
136 2 data_574 &= 0x7f;
137 2 DBUS1(data_574);
138 2 }
139 1 }
140
141 /************************************************************************************
142 输出补偿调整
143
144 void change(void)
145 {
146
147 }
148 ************************************************************************************/
149
150
151
152
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 272 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 8
IDATA SIZE = ---- ----
BIT SIZE = ---- 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -