控制工程师论坛

工业以太网

关于MC35I无法启动问题

olysa
olysa

2006-12-27

知道这里能不能把电路简图传上来 

信号流向是:

CPU的P0.0 I/O端口——5V转3.3V电平转换器件——MC35I的IGT引脚


上面是我关于MC35I的设计部分,因为只涉及CSD问题,所以关于串口只连接了RXD/TXD部分,,电源由AS2815电源转换模块提供。CPU的P0口已经做了上拉电阻。现在调试过程和状况如下,烦请大家帮忙查找不能启动的原因:

1、首先上电后测试各点电压:
VBATT=3.36V;IGT=3.36V;EMERGOFF=3.12V;SYNC=3.3V;RXD=3.3V,TXD=3.3V。
2、编写单片机测试程序如下:(AT89C51,11.0592MHz,现在MC35I工作在4800bps下)

#include<reg51.h>

#define DELAY_TIME 60000//延时时间,可变


//LD定义
sbit ld1=P2^3;
sbit ld2=P2^2;
sbit ld3=P2^1;
sbit ld4=P2^0;

//MC35I引脚定义
sbit IGT=P0^5;
sbit PD=P0^1;
sbit SYNC=P0^2;

//存放初始化数据^SYSSTART,判断是否正常初始化
unsigned char initread[12]

void delay(unsigned int m)//延时程序
{unsigned int n=0;
while(n<m)
n++;
return;
}

void main(void)
{
init_dog();//初始化看门狗

SCON=0x40;//串口工作在方式1下
TMOD=0x20;//定时器1工作在方式2下,8位重装,计数

EA=1;ES=1;//开中断
TH1=0xf4;//计数初值,波特率4800bps
TL1=0xf4;
TCON=0x60;//启动T1工作
PCON=0x80;//

ld1=SYNC;//注意看灯闪烁看模块状态

REN=1;//允许接收数据

IGT=0;

if(IGT==0) ld2=0;//测试IGT是否被置为低电平
delay(DELAY_TIME);//延时

IGT=1;//延时后启动位为1


if(IGT==1) ld3=0;//测试用灯



while(1)
{
feed_dog();
}

}

void serial_data(void) interrupt 4 using 3//串口中断,接收初始化数据
{
if(RI)
{
transdata=SBUF;
initread[j]=transdata;
if(initread[j]==0x0A);
REN=0;
RI=0;
j++;
if(j==3) ld1=0;//判断是不是接收到数据
}
}
注明:关于看门狗程序部分没在这里发,但程序没问题。

3、在执行过程中,先单步执行的,LD2/LD3都亮,同时执行完IGT=0这句后测试了一下IGT的引脚电压,为0V。但没有接到串口初始化数据,LD1不亮。同时测试SIM卡供电电压也是为0的,说明模块没启动。

现在不知道问题出在哪里了,烦请大侠们指点指点
回帖

评论1

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China