急!c8051f无信号输出

cbyibby 2010-08-25 01:10:34
最近需要用C8051F开发一个SPI从机的应用。在keilc 里安装了Keil μVision Driver.zip。编译好之后用新华龙的flash Utility下载,运行。程序是想试一下c8051f能不能跑起来,但是用逻辑分析仪捕获相应端口没有信号。请大侠帮忙分析下,感激不尽。

下面是代码:(很怕发代码,我自己都不愿意看,但是我也不知道问题出在哪,我尽量多做注释)
#include "C8051F330.h"
#define uchar unsigned char
#define uint unsigned int
uint count; //设置计数变量
uint t,N;
sbit wav0=P0^0;
sbit wav1=P0^1;
sbit wav=P0^2; //设置P0.2,作为信号输出引脚
sbit wav3=P0^3;
sbit wav4=P0^4;

void Port_IO_Init()
{
XBR0 = 0x02;
XBR1 = 0x40;
}

void Oscillator_Init() //初始化时钟,采用的是内部时钟,没有连外部时钟
{
OSCLCN |= 0x80;
while ((OSCLCN & 0x40) == 0);
OSCXCN = 0x20;
OSCICN = 0x83;
}

void Init_Device(void) //总的设备初始化,调用模块初始化

Port_IO_Init();
Oscillator_Init();

}

void Delay(int d) //延时
{
int i;
while(d--)
{
i = 1000;
//i = 60000;
while(i--);
}
}

void main()
{
Init_Device();
while(1) //不断在P0产生电平跳变,用逻辑分析仪捕捉
{
wav0=0;
wav1=1;
wav2=0;
wav3=1;
Delay(1);
wav0=1;
wav1=0;
wav2=1;
wav3=0;
Delay(1);
}
}
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbyibby 2010-08-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bluesea87 的回复:]
延时可能太短了,还有你的delay函数可能被优化掉了,建议不要优化看看
[/Quote]
怎样去掉优化啊,我是用的KEIL C
bluesea87 2010-08-25
  • 打赏
  • 举报
回复
延时可能太短了,还有你的delay函数可能被优化掉了,建议不要优化看看
用户 昵称 2010-08-25
  • 打赏
  • 举报
回复
延时是否太短了?

例程中有delay吧,调用那个看看。

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧