|
任务要求:调节电位器,8位LED灯显示AD采集结果。
电路原理图如下:
#include <reg52.h> //头文件定义
#include<intrins.h>
#define uchar unsigned char //宏定义
#define uint unsigned int
sbit EOC=P3^3;//EOC转换结束信号,高电平说明转换结束。如果只是P3口,查询编程;如果是INT1,中断编程方法。
sbit CS=P2^0;
sbit AD_WR=P3^6;//控制ST
sbit AD_RD=P3^7;//控制OE
uchar ad_dat,a;
void main()
{
CS=0;//WR=1;RD=1;
while(1)
{
AD_WR=1;//st=1;
_nop_();
_nop_();
_nop_();
AD_WR=0; //上升沿启动A/D转换
_nop_();
_nop_();
_nop_();
AD_WR=1; //下降沿开始A/D转换
while(!EOC);//等待A/D转换结束,当EOC变为1时,A/D转换结束。
P0=0XFF;
AD_RD=0;//输出转换数据给单片机
_nop_();
ad_dat=P0;//发光二极管显示
for(a=10;a>0;a--);
AD_RD=0;//输出数据线为高阻状态 每改变一次电压值,就需要按下仿真器复位按钮,再点击下载,才能显示新的数字量
}
}
|
|