一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2182|回复: 5
收起左侧

[其他综合] 求助各位单片机高手!!

[复制链接]
发表于 2011-3-5 12:00 | 显示全部楼层 |阅读模式
本人 想用STC12C5410AD做AD采集的东西,但是采集的AD结果总是不对,可能是寄存器的配置有问题,请各位高手帮忙看一下!!!
 楼主| 发表于 2011-3-5 12:00 | 显示全部楼层
#include <reg52.H>
#include "AD.h"
#define uchar unsigned char
#define uint unsigned int
uchar play[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0123456789共阴
uchar a,b,c,d;
// 延时函数
void delay(uchar delay_time)
{
uchar n,m;
for(n=0;n<delay_time;n++)
for(m=0;m<1000;m++)
;
}
//延时函数111
void Delay11(int x)
{
unsigned char i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++)//120
;
}

//获得AD采集结果
uchar get_AD_result(uchar channel)
{
uchar AD_finished = 0; // 存储 A/D 转换标志

ADC_DATA = 0;  //预置高八位
ADC_CONTR = channel; // 选择 A/D 当前通道
delay(1);           //使输入电压达到稳定

ADC_CONTR |= 0x80;              //1000,0000 打开 A/D 转换电源


ADC_CONTR |= 0x08; //0000,1000 令 ADC_START = 1, 启动A/D 转换
AD_finished = 0;

while ( AD_finished == 0 ) // 等待A/D 转换结束
{


AD_finished = (ADC_CONTR & 0x10); //0001,0000, ADC_FLAG ==1测试A/D转换结束否


}
ADC_CONTR &= 0xF7; //1111,0111 令 ADC_START = 0, 关闭A/D 转换
return ADC_DATA; //返回 A/D 转换结果高8位结果
}
//显示函数
void Display()
{
P1=0x01;//0x70;
P2=play[a];
Delay11(4);
//P1=0x00;

P1=0x02;//0xb0;
P2=play[b];
Delay11(4);
//P1=0x00;

P1=0x04;//0xd0;
P2=play[c];
Delay11(4);
//P1=0x00;

P1=0x08;//0xe0;
P2=play[d];
Delay11(4);
//P1=0x00;  

}

//主函数入口
void main()
{
uchar RES=0,VIN=0;
P1M0=0x01;
P1M1=0x00;//I/O口处于AD状态(开漏)
while(1)
{
RES=get_AD_result(0xe7);        //选择通道        P1.7


VIN=RES/255*1000*5;

a=VIN%10;        //个位
b=VIN/10%10;
c=VIN/100%10;
d=VIN/1000;//千位
Display();
//delay(200);
}
}
 楼主| 发表于 2011-3-5 12:02 | 显示全部楼层
这是程序帮忙看一下,蜗牛我先谢谢各位了!!!
 楼主| 发表于 2011-3-5 12:02 | 显示全部楼层
sfr ADC_CONTR = 0xC5; //A/D转换控制寄存器
sfr ADC_DATA = 0xC6; //A/D转换结果寄存器
sfr P1M0=0x91;
sfr P1M1=0x92;
发表于 2011-3-5 12:24 | 显示全部楼层
c 的看不懂,

P1M0=0x01
P1M1=0x00;//I/O口处于AD状态(开漏)

这两句没问题吗?
 楼主| 发表于 2011-3-5 13:24 | 显示全部楼层
回复 5# 老弹弓

这两句是PDF中的资料,应该没错,主要是寄存器配置问题,不太明白

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-2 23:59 , Processed in 0.066856 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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