![](https://csdnimg.cn/release/download_crawler_static/85999826/bg1.jpg)
九.数摸转换 ADC0804 的应用
[实验任务]
从 ADC0804 的通道 IN+输入 0-5V 之间的模拟量,通过 ADC0804 转换成数
字
量在数码管上以十进制形成显示出来。
[硬件电路图]
注意:上图未显示全的是四个共阴极数码管。
[实验原理]
ADC0804 是 8 位全 MOS 中速 A/D 转换器、它是逐次逼近式 A/D 转换器,
片内有三态数据输出锁存器,可以和单片机直接接口。单通道输入,转换时间大
约为 100us。ADC0804 转换时序是:当 CS=0 许可进行 A/D 转换。WR 由低到
高时,A/D 开始转换,一次转换一共需要 66-73 个时钟周期。CS 与 WR 同时有
效时启动 A/D 转换,转换结束产生 INTR 信号(低电平有效),可供查询或者中
断信号。在 CS 和 RD 的控制下可以读取数据结果。
[C 语言源程序]
#include <reg52.h>
code unsigned char seg7code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90
}; //显示段码
sbit int1=P3^3; //定义管脚功能
sbit cs=P3^2;
sbit wr=P3^6;
sbit rd=P3^7;
void Delay(unsigned int tc) //显示延时程序
{while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}