求助:stc15f60s2 与12位 ad574调试问题!

2019-03-24 17:52发布

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

                 
#include<STC15F2K60S2.h>
#include <intrins.h>
#include <absacc.h>
#include <stdio.h>

#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 ",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
}

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
吴下阿蒙
1楼-- · 2019-03-25 23:50
stc15上电后是高阻态的,需要设置
zhou792008
2楼-- · 2019-03-26 02:25
 精彩回答 2  元偷偷看……

一周热门 更多>