2823|8

30

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求助:stc15f60s2 与12位 ad574调试问题! [复制链接]

小弟做一个12位的ad采样实验,很奇怪的是在stc90上调试成功,但偏偏在15系列上用不起,绞尽脑汁一周了还没解决,悲哀,求助各位大哥,到底是哪出问题了 ,小弟先谢谢了 !

                 
#include
#include
#include
#include

#define SPI_S0 0x40              //P_SW P3.0 RXD P3.1 TXD
#define SPI_S1 0x80
#define EXTRAM 0X02
#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long
#define _AD_COM XBYTE[0x8fff]   //启动   A0_P24=0,CS_P26=0,RC_P25=0,CE_P27=1
#define _AD_MSB XBYTE[0xafff]   //读高8位 A0=0,CS=0,RC=1,CE=1
#define _AD_LSB XBYTE[0xbfff]   //读低4位 A0=1,CS=0,RC=1,CE=1
sbit _AD_STS=P5^5;            //转化结束查询位
void UartInit();           //串口初始化        频率为11.0592MHz
uint AD_RESULT_MSB,        AD_RESULT_LSB,AD_RESULT;
void main()
{
  UartInit();
  while(1){
          XBYTE[0x8fff]=0;
        while(_AD_STS==1);
        P0=XBYTE[0xafff];
        AD_RESULT_MSB=P0;
          P0=XBYTE[0xbfff];
        AD_RESULT_LSB=P0;
          AD_RESULT=(AD_RESULT_MSB<<4)+(AD_RESULT_LSB>>4);
        TI=1;
        printf("0X%X\n",AD_RESULT);
  }
}

void UartInit(void)                //9600bps@22.1184MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器1时钟为Fosc,即1T
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //设定定时器1为16位自动重装方式
        TL1 = 0xC0;                //设定定时初值
        TH1 = 0xFD;                //设定定时初值
        ET1 = 0;                //禁止定时器1中断
        TR1 = 1;                //启动定时器1
}

此帖出自51单片机论坛

最新回复

stc15上电后是高阻态的,需要设置  详情 回复 发表于 2015-8-30 08:42
点赞 关注
 

回复
举报

30

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

此帖出自51单片机论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
   ad574 2脚接地为12位转换,当cs=0,ce=1,R/C为0,A0为0时启动12位转换;当cs=0,ce=1,R/C为1,A0为0时读高8位;当cs=0,ce=1,R/C为1,A0为1时读低4位。
   我的接线是P27—ce,P26_cs,P25—rc,P24—a0 转换结束查询位sts=P55
   让我头疼STC90采集很准确,偏偏stc15不行 ,要说不行 都不行吧!高8位偏偏还行!!就是低4位始终不对,低四位不管有没有输入都是0xf0,这个数字真奇葩!到底是哪出问题了,很过位置我都加了_nop_() 或者延时5um 都起不到作用!
此帖出自51单片机论坛
 
 
 

回复

927

帖子

0

TA的资源

纯净的硅(中级)

4
 
stc15系统的IO口需要初始化设置的,上面的好象没有看到相应的代码。
此帖出自51单片机论坛

点评

没有初始化设置的 ,datasheet上说 默认复位时弱上拉 就是51的传统模式 ,所以就没有,我昨天也试验设置为强上拉 好像没作用  详情 回复 发表于 2015-8-30 02:23
 
 
 

回复

216

帖子

0

TA的资源

一粒金砂(中级)

5
 
你低4位有接到mcu嗎?
此帖出自51单片机论坛

点评

接了的 ,这个板子以前是成色的接线 原来用汇编 都一直好的, 我用stc90也调试成功了  详情 回复 发表于 2015-8-30 02:24
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

6
 
吴下阿蒙 发表于 2015-8-29 08:58
stc15系统的IO口需要初始化设置的,上面的好象没有看到相应的代码。

没有初始化设置的 ,datasheet上说 默认复位时弱上拉 就是51的传统模式 ,所以就没有,我昨天也试验设置为强上拉 好像没作用
此帖出自51单片机论坛
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

7
 
philipchiu 发表于 2015-8-29 15:21
你低4位有接到mcu嗎?

接了的 ,这个板子以前是成色的接线 原来用汇编 都一直好的, 我用stc90也调试成功了
此帖出自51单片机论坛
 
 
 

回复

927

帖子

0

TA的资源

纯净的硅(中级)

8
 
stc15上电后是高阻态的,需要设置
此帖出自51单片机论坛

点评

问题解决 ,线接错了 !谢谢回复!  详情 回复 发表于 2015-9-3 23:41
 
 
 

回复

30

帖子

0

TA的资源

一粒金砂(中级)

9
 
吴下阿蒙 发表于 2015-8-30 08:42
stc15上电后是高阻态的,需要设置

问题解决 ,线接错了 !谢谢回复!
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表