打印

高手们帮我这新手看看这个小程序哪里有错吧.在线等..

[复制链接]
1612|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tktcy|  楼主 | 2009-11-30 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//"bmp.c"
#include<c8051F310.h>
#include<STRING.H>
/*#include "reg51.h"  //头文件包含
#include<stdio.h>
        */
//宏定义
sbit LED0 = P1^6;
void delay(int);
void main (void)
{
int i=0;
OSCICN = 0xc0;  /*8分频*/
OSCXCN = 0x07;        /*选用外部晶振参数*/
CLKSEL = 0x00;  /*选取用内部晶振*/
RSTSRC = 0x02;  /*上电复位*/
XBR0 = 0x00;
XBR1 = 0x70;   /*交叉开关1*/
P1SKIP = 0x00;  /*1为跳,0为数字口*/
P1MDIN =0xFF;  /*0为模拟输入,1为数字输入*/
P1MDOUT = 0xFF;  /*0为漏极开路输出,1为推挽式输出.*/
EA = 0;
P1 = 0xFF;   /*P1初始化*/
for(i=0;i<=100;i++)
   {
    delay(100);
    LED0 = ~ LED0;
//    i++;
//    goto loop;
   }
}
void delay(int ms)
{
int ti,i;
if(ms<=0)return;
if(ms>0)
for(i=0;i<ms;i++)
{
  for(ti=0;ti<255;ti++);
}
return;
}



//单步运行能出结果,但一RUN就不出效果,我想通过P1.6脚来控制输出高低电平.周期无所谓.看不出哪里来错了,调好几天了就不行.高手帮帮忙喽.谢谢.

相关帖子

沙发
5880527| | 2009-11-30 10:10 | 只看该作者
好像是被狗咬死了,你去找新华龙那个叉叉配置软件

使用特权

评论回复
板凳
tktcy|  楼主 | 2009-11-30 10:13 | 只看该作者
你是说要我把看门狗禁了?我没给予配置,那我把它禁了试试看.

使用特权

评论回复
地板
tktcy|  楼主 | 2009-11-30 10:25 | 只看该作者
好了,是被狗咬了,谢谢,解决了.

使用特权

评论回复
5
阿多| | 2009-12-4 16:46 | 只看该作者
C8051F单片机的看门狗在默认情况下是开启的

使用特权

评论回复
6
tktcy|  楼主 | 2009-12-18 15:27 | 只看该作者
没有,默认下是关的,但是先前写过程序,那里是开启的,后来我改了其它程序以后,可能因为先前程序运行后的一些影响导致的狗狗开启了.

使用特权

评论回复
7
jerkoh| | 2009-12-18 20:16 | 只看该作者
while(1)
{
...
}

使用特权

评论回复
8
tktcy|  楼主 | 2009-12-24 12:02 | 只看该作者
呵呵..楼上好主意,我已经有七年多没摸过C了,都不熟悉了...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

17

帖子

1

粉丝