找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

新手求助,51单片机的AD转换有点问题,大家帮我看看,谢谢大家了

[复制链接]
gesang 发表于 2013-3-31 16:05:34 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
液晶能显示,但是增加或者减小变阻器阻值大小时,显示的值不是跟着相应的增大或减小,而是没有规律的变化。在网上也看了很多相关的例子,也借鉴了他们的程序,不知道问题出在哪里。下面贴出程序源码以及电路图
#include<reg52.h>
#include "1602.h"
sbit ST=P1^2; //start信号
sbit EOC=P1^3;//EOC转换结束信号
sbit OE=P1^4; //
sbit ALE=P1^5;

uchar temp;//存放转换结束输出的数据
uchar th,tl;
void main()
{
        init_1602();
        while(1)
        {
                ALE=1;
                ST=0;
                delay(1);
                ST=1;
                delay(1);
                ST=0;
                ALE=0;//关闭地址选址
                while(EOC==0);
                OE=1;
                temp=P2; //读出数据
                OE=0;
                th=temp>>4;          //高四位
                tl=temp&0x0f; //低四位
                write_com(0x80);
                if(th<9)
                        write_data(th+0x30);
                else
                        write_data(th+0x37);
       
                if(tl<9)
                        write_data(tl+0x30);
                else
                        write_data(tl+0x37);               
        }               
}

AD转换电路图

AD转换电路图
 楼主| gesang 发表于 2013-3-31 18:05:04 | 显示全部楼层
上图少了一个电阻,补上

新图

新图
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 19:12 , Processed in 0.062781 second(s), 13 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表