📄 dac_adc.lst
字号:
C51 COMPILER V7.50 DAC_ADC 08/06/2007 16:37:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DAC_ADC
OBJECT MODULE PLACED IN dac_adc.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE dac_adc.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //DAC转换 输出0~5伏 步进0.1伏
2 //系统时钟 22.1184MHz
3 //T3自动重装产生方波
4
5 #include "ms_c.h"
6 #include "key.h"
7
8 sfr16 ADC0 =0xbe;
9
10 uchar voltage=0; //输出电压值 0.0~5.0
11 uchar test_vol=0; //ADC0检测的电压
12
13
14 void DAC0_Init(void)
15 {
16 1 DAC0CN=0x80; //允许DAC0 在写DAC0H时更新 数据格式:高四位在DAC0H[3~0] 低八位在DAC0L
17 1 REF0CN=0x03; //允许偏压发生器和电压基准缓冲器
18 1 }
19
20
21
22 void ADC0_Init (void)
23 {
24 1 //REF0CN=0x07; //允许温度传感器 偏压发生器和基准电压发生器
25 1
26 1 AMX0CF=0x00; //所有的输入均为单端输入
27 1 AMX0SL=0x00; //AIN0//温度传感器
28 1 ADC0CF=0x50; //增益 1
29 1 ADC0CN=0x80; //一直跟踪 写ADC0BUSY启动转换 数据右对齐
30 1
31 1 }
32
33
34 void set(void)
35 {
36 1 voltage=LED_BUF[1]+LED_BUF[2]*10+(LED_BUF[3]&0x0f)*100;
37 1 DAC0L=17*voltage%256;
38 1 DAC0H=17*voltage/256;
39 1
40 1 }
41
42 void main(void)
43 {
44 1 voltage=0;
45 1
46 1 SYSCLK_Init ();
47 1 PORT_Init ();
48 1 UART0_Init ();
49 1 DAC0_Init ();
50 1 ADC0_Init ();
51 1
52 1 /* LED_BUF[8]=0x0f;
53 1 LED_BUF[7]=0x0f;
54 1 LED_BUF[6]=0x0f;*/
55 1 LED_BUF[5]=0x0f;
C51 COMPILER V7.50 DAC_ADC 08/06/2007 16:37:09 PAGE 2
56 1 LED_BUF[4]=0x0f;
57 1
58 1 LED_BUF[3]=voltage/100+0x80;
59 1 LED_BUF[2]=voltage%100/10;
60 1 LED_BUF[1]=voltage%10;
61 1
62 1
63 1 send_led ();
64 1
65 1 while(1)
66 1 {
67 2 send_led ();
68 2 chk_key();
69 2
70 2 {
71 3 AD0BUSY=1;
72 3 test_vol=ADC0/17;
73 3 LED_BUF[8]=test_vol/100+0x80;
74 3 LED_BUF[7]=test_vol%100/10;
75 3 LED_BUF[6]=test_vol%10;
76 3
77 3 }
78 2 if(SET_FLAG)
79 2 { set();
80 3 SET_FLAG=0;
81 3 }
82 2 }
83 1 }
84
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 437 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 13 ----
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 + -