51单片机 ADC0809模数转换与显示+Proteus仿真

51单片机 ADC0809模数转换与显示+Proteus仿真


  • Proteus仿真
    在这里插入图片描述

实例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/
#include <reg52.h>
#include <absacc.h>
#define uint unsigned int
#define uchar unsigned char
#define DAC0832 XBYTE[0xfffe]

void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}

void main()
{
uchar i;
while(1)
{
for(i=0;i<256;i++)
DAC0832 = i;
DelayMS(1);
}
}

  • absacc.h文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/\*--------------------------------------------------------------------------
ABSACC.H

Direct access to 8051, extended 8051 and NXP 8051MX memory areas.
Copyright (c) 1988-2010 Keil Elektronik GmbH and ARM Germany GmbH
All rights reserved.
--------------------------------------------------------------------------\*/

#ifndef \_\_ABSACC\_H\_\_
#define \_\_ABSACC\_H\_\_

#define CBYTE ((unsigned char volatile code \*) 0)
#define DBYTE ((unsigned char volatile data \*) 0)
#if !defined (\_\_CX2\_\_)
#define PBYTE ((unsigned char volatile pdata \*) 0)
#endif
#define XBYTE ((unsigned char volatile xdata \*) 0)

#define CWORD ((unsigned int volatile code \*) 0)
#define DWORD ((unsigned int volatile data \*) 0)
#if !defined (\_\_CX2\_\_)
#define PWORD ((unsigned int volatile pdata \*) 0)
#endif
#define XWORD ((unsigned int volatile xdata \*) 0)


#if defined (\_\_CX51\_\_) || defined (\_\_CX2\_\_)
#define FVAR(object, addr) (\*((object volatile far \*) (addr)))
#define FARRAY(object, base) ((object volatile far \*) (base))
#define FCVAR(object, addr) (\*((object const far \*) (addr)))
#define FCARRAY(object, base) ((object const far \*) (base))
#else
#define FVAR(object, addr) (\*((object volatile far \*) ((addr)+0x10000L)))
#define FCVAR(object, addr) (\*((object const far \*) ((addr)+0x810000L)))
#define FARRAY(object, base) ((object volatile far \*) ((base)+0x10000L))
#define FCARRAY(object, base) ((object const far \*) ((base)+0x810000L))
#endif

#if defined (\_\_CX2\_\_)
#define HBYTE ((unsigned char volatile huge \*) 0)
#define HWORD ((unsigned int volatile huge \*) 0)
#define HVAR(object, addr) (\*((object volatile huge \*) (addr)))
#define HARRAY(object, base) ((object volatile huge \*) (base))
#endif

#define CVAR(object, addr) (\*((object volatile code \*) (addr)))
#define CARRAY(object, base) ((object volatile code \*) (base))
#define DVAR(object, addr) (\*((object volatile data \*) (addr)))
#define DARRAY(object, base) ((object volatile data \*) (base))
#define XVAR(object, addr) (\*((object volatile xdata \*) (addr)))
#define XARRAY(object, base) ((object volatile xdata \*) (base))

#endif


程序源码和仿真资源

1
2
3
链接:https://pan.baidu.com/s/1eR_JjlTdg53v0UyBAcRs3Q 
提取码:34f2