📄 dac.lst
字号:
C51 COMPILER V8.08 DAC 10/01/2008 23:53:31 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE DAC
OBJECT MODULE PLACED IN DAC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DAC.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"reg52.h"
2 #include"function.h"
3
4 #define DBUS P0
5 sbit clk_574_1 = P2^3;
6 //sbit clk_574_2 = P1^3;
7 //sbit lcd_rs = P1^4;
8 static uchar data_574; //74574输出数据
9 static uchar data_5741 = 0x10;//------------加了临时保存数据的寄存器才避免了DA操作时干扰背光
10
11 /************************************************************************************
12 DAC输出转换函数
13 ************************************************************************************/
14 void dac(uint c)
15 {
16 1 uint i;
17 1 data_574 = data_5741;
18 1
19 1 data_574 &= 0xfe;
20 1 DBUS = data_574;
21 1 clk_574_1 = 0;
22 1 clk_574_1 = 1;//574输出锁存数据,选通DAC 9月8日加上的,以前忘记了
23 1
24 1 for(i = 0x8000;i > 0;i >>= 1)
25 1 {
26 2 if((c & i) == 0)
27 2 {data_574 &= 0xFB;}//数据输出为0还是1 //0xf7
28 2 else
29 2 {data_574 |= 0x04;}//if和else后的大括号我后加的
30 2 DBUS = data_574;
31 2 clk_574_1 = 0;
32 2 clk_574_1 = 1;
33 2
34 2 data_574 &= 0xFD;
35 2 DBUS = data_574;
36 2 clk_574_1 = 0;
37 2 clk_574_1 = 1;
38 2 data_574 |= 0x02;
39 2 DBUS = data_574;
40 2 clk_574_1 = 0;
41 2 clk_574_1 = 1;
42 2
43 2 }
44 1 data_574 |= 0x01;
45 1 DBUS = data_574;
46 1 clk_574_1 = 0;
47 1 clk_574_1 = 1;//574输出锁存数据,选通DAC
48 1
49 1 if(c <= 0x06c9)
50 1 RL_ONOFF(0); //吸合低压继电器 0 ~ 15
51 1 else
52 1 RL_ONOFF(1); //吸合高压继电器 15 ~ 30
53 1
54 1 }
55
C51 COMPILER V8.08 DAC 10/01/2008 23:53:31 PAGE 2
56 /************************************************************************************
57 继电器切换 1: 高压吸合 0: 低压吸合
58 ************************************************************************************/
59 void RL_ONOFF(bit i)
60 {
61 1 if(i==1)
62 1 {
63 2 data_574 |= 0x20;
64 2 data_574 &= 0xbf;
65 2 DBUS = data_574;
66 2 clk_574_1 = 0;
67 2 clk_574_1 = 1;
68 2 }
69 1 else
70 1 {
71 2 data_574 |= 0x40;
72 2 data_574 &= 0xdf;
73 2 DBUS = data_574;
74 2 clk_574_1 = 0;
75 2 clk_574_1 = 1;
76 2 data_5741 = data_574;
77 2 }
78 1 }
79
80 /************************************************************************************
81 蜂鸣器 1: 开 0: 关
82 ************************************************************************************/
83 void BELL_ONOFF(bit i)
84 {
85 1 if(i == 0)
86 1 {
87 2 data_574 |= 0x10;
88 2 DBUS = data_574;
89 2 clk_574_1 = 0;
90 2 clk_574_1 = 1;
91 2 }
92 1 else
93 1 {
94 2 data_574 &= 0xef;
95 2 DBUS = data_574;
96 2 clk_574_1 = 0;
97 2 clk_574_1 = 1;
98 2 data_5741 = data_574;
99 2 }
100 1 }
101 /************************************************************************************
102 实际输出电压转换成DA输出值 ,返回整形数
103 ************************************************************************************/
104 uint conver(float x)
105 {
106 1 float temp;
107 1 temp = 14.995 / 0x0745;
108 1 temp = x / temp;
109 1 return(uint)temp;
110 1 }
111
112 /************************************************************************************
113 控制背光开关 1:开 0:关
114 ************************************************************************************/
115 void LED_ONOFF(bit i)
116 {
117 1 if(i==1)
C51 COMPILER V8.08 DAC 10/01/2008 23:53:31 PAGE 3
118 1 {
119 2 data_574 |= 0x80;
120 2 DBUS = data_574;
121 2 clk_574_1 = 0;
122 2 clk_574_1 = 1;
123 2 }
124 1 else
125 1 {
126 2 data_574 &= 0x7f;
127 2 DBUS = data_574;
128 2 clk_574_1 = 0;
129 2 clk_574_1 = 1;
130 2 }
131 1 data_5741 = data_574;
132 1 }
133
134 /************************************************************************************
135 输出补偿调整
136 ************************************************************************************/
137 void change(void)
138 {
139 1
140 1 }
141
142
143
144
145
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 239 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 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 + -