zengwei 发表于 2011-11-7 22:39:41

C8051F求助 在线等待

#include"c8051F040.h"

void I0_init()       //IO端口初始化配置
{
           //关闭看门狗
        WDTCN=0x07;
        WDTCN=0xde;
        WDTCN=0xad;       
    //交叉开关使能,但没有进行外围设备配置
        SFRPAGE=0x0f;   
        XBR0=0x00;      
        XBR1=0x00;
        XBR2=0x40;
        XBR3=0x00;   
    //引脚输出配置,P4.0-P4.3为推挽输出
        SFRPAGE=0x0f;
    P4MDOUT=0xff;         //P4口设置为推挽输出模式
    //晶振配置,采用外部晶振22.1184MHz
        SFRPAGE=0x0f;
        CLKSEL=0x01;             //系统时钟采用外部时钟
        OSCXCN=0x67;               //外部石英晶振,22.1184MHZ                  01100111               
}

void main()
{
   I0_init();
   P4=0x03;         
   while(1);
}

为什么我用外用表测量的时候 发现P4口全部为高电平不知道是什么原因

yanzeyuan 发表于 2011-11-7 23:01:40

回复【楼主位】zengwei
-----------------------------------------------------------------------

因为你的040都没有工作。

晶振需要这样来初始化:

void Oscillator_Init()
{
    int i = 0;
    SFRPAGE   = 0x0F;
    OSCXCN    = 0x67;
    for (i = 0; i < 3000; i++);// Wait 1ms for initialization
    while ((OSCXCN & 0x80) == 0);
    CLKSEL    = 0x01;
}

使用外部晶振要等待其稳定了以后才能正常工作。

试试吧!

zengwei 发表于 2011-11-7 23:05:58

回复【1楼】yanzeyuan
-----------------------------------------------------------------------

我换成内部晶振也不行,你们都是用什么软件下载程序?

xivisi 发表于 2011-11-7 23:09:37

回复【2楼】zengwei
回复【1楼】yanzeyuan
-----------------------------------------------------------------------
我换成内部晶振也不行,你们都是用什么软件下载程序?
-----------------------------------------------------------------------
UC5 还是六来着 忘了官方有个配置程序自动生成C代码或汇编

zengwei 发表于 2011-11-7 23:13:08

回复【3楼】xivisi LiYong
-----------------------------------------------------------------------

http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692844G19OGK.png
(原文件名:QQ截图20111107231147.png)

是这个软件吗

trent5145 发表于 2011-11-7 23:27:38

程序都不确定是否下载进去了吗

fbp117 发表于 2011-11-7 23:28:10

用官方的配置向导配置一下试试

donglaile 发表于 2011-11-7 23:28:31

我们用的是keil 2,ec3和ec5 都行,直接编译仿真,掉电再上电就可以了,程序就烧进去了

zengwei 发表于 2011-11-7 23:39:16

回复【6楼】trent5145
-----------------------------------------------------------------------

刚用这个片子 不太适应

zengwei 发表于 2011-11-7 23:41:09

回复【8楼】donglaile
-----------------------------------------------------------------------

为什么要掉电 在上电?

zengwei 发表于 2011-11-7 23:52:15

回复【8楼】donglaile
-----------------------------------------------------------------------

复位后 IO口的应该都是低电平吧?

zengwei 发表于 2011-11-7 23:57:46

http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692852M2SJAH.jpg
(原文件名:未命名1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_692853LPELV7.jpg
(原文件名:未命名2.jpg)

我的片子是C8051F020 为什么不是c8051f020
内存区域也小了????求助

zengwei 发表于 2011-11-7 23:58:50

太神奇了

trent5145 发表于 2011-11-8 00:21:54

不神奇

要么仿真器的问题:
打开目录:C:\SiLabs\MCU\Utilities\USB Reset   
双击文件:USB Debug Adapter Firmware Reset.exe
更新usb firmware 试试看

要么就是MCU挂了

zengwei 发表于 2011-11-8 00:23:11

回复【14楼】trent5145
-----------------------------------------------------------------------

#include"c8051F040.h"

void I0_init()       //IO端口初始化配置
{
           unsigned int i;
        //关闭看门狗
        WDTCN=0x07;
        WDTCN=0xde;
        WDTCN=0xad;       
    //交叉开关使能,但没有进行外围设备配置
        SFRPAGE=0x0f;   
        XBR0=0x00;      
        XBR1=0x00;
        XBR2=0x40;
        XBR3=0x00;   
    //引脚输出配置,P4.0-P4.3为推挽输出
        SFRPAGE=0x0f;
    P4MDOUT=0xff;         //P4口设置为推挽输出模式
    //晶振配置,采用外部晶振22.1184MHz
    SFRPAGE   = 0x0F;
    OSCXCN    = 0x67;
    for (i = 0; i < 3000; i++);// Wait 1ms for initialization
    while ((OSCXCN & 0x80) == 0);
    CLKSEL    = 0x01;               //外部石英晶振,22.1184MHZ                  01100111               
}

void main()
{
   I0_init();
   while(1)
   {
   SFRPAGE=0x0f;
   P4=0x00;         
        }
}
为什么我用外用表测量的时候 发现P4口全部为高电平 不知道是什么原因
你帮我看看吧谢谢了!!!

zengwei 发表于 2011-11-8 00:26:06

回复【16楼】renpeng009 老醯儿
-----------------------------------------------------------------------

#include"c8051F040.h"

void I0_init()//IO端口初始化配置
{
    unsigned int i;
//关闭看门狗
WDTCN=0x07;
WDTCN=0xde;
WDTCN=0xad;
    //交叉开关使能,但没有进行外围设备配置
SFRPAGE=0x0f;   
XBR0=0x00;      
XBR1=0x00;
XBR2=0x40;
XBR3=0x00;   
    //引脚输出配置,P4.0-P4.3为推挽输出
SFRPAGE=0x0f;
    P4MDOUT=0xff;         //P4口设置为推挽输出模式
    //晶振配置,采用外部晶振22.1184MHz
    SFRPAGE   = 0x0F;
    OSCXCN    = 0x67;
    for (i = 0; i < 3000; i++);// Wait 1ms for initialization
    while ((OSCXCN & 0x80) == 0);
    CLKSEL    = 0x01;//外部石英晶振,22.1184MHZ   01100111   
}

void main()
{
   I0_init();
   while(1)
   {
   SFRPAGE=0x0f;
   P4=0x00;         
}
}
为什么我用外用表测量的时候 发现P4口全部为高电平 不知道是什么原因
你帮我看看吧谢谢了!!!

fish_tian 发表于 2011-11-8 00:40:30

回复【10楼】zengwei
-----------------------------------------------------------------------

冷启动

liulingo 发表于 2011-11-8 08:07:40

把你的图纸发上来看看

光程序有什么用?你确定你的硬件没问题吗?

zuu0 发表于 2011-11-8 08:13:00

下完程序后要点运行

zengwei 发表于 2011-11-8 09:43:02

回复【19楼】liulingo
-----------------------------------------------------------------------

点击此处下载 ourdev_692935FDFDJW.pdf(文件大小:41K) (原文件名:C8051_SCH.pdf)
麻烦你看一下 谢谢

zengwei 发表于 2011-11-8 09:43:39

回复【20楼】zuu0
-----------------------------------------------------------------------

官方的下载软件很不好用,总是提示找不到设备。

liulingo 发表于 2011-11-8 10:33:32

…………官方的不好用,那它还能用吗??

我们表示,很好用。

个别不好用的,请换一根好点的 USB电缆

liulingo 发表于 2011-11-8 10:40:01

还有,对软件不懂。但是 020,120的 P4口不是那么简单就能用的。得仔细阅读 文档。

liulingo 发表于 2011-11-8 10:40:16

图纸没问题

zengwei 发表于 2011-11-8 10:42:30

回复【24楼】liulingo
-----------------------------------------------------------------------

你觉得我的程序哪里有问题呢?而且官方的软件总是提示找不到设备。

zengwei 发表于 2011-11-8 10:46:54

回复【25楼】liulingo
-----------------------------------------------------------------------

非常感谢

trent5145 发表于 2011-11-8 11:15:20

回复【12楼】zengwei
我的片子是C8051F020 为什么不是c8051f020
内存区域也小了????求助
-----------------------------------------------------------------------

倒。。。你是020呀,那你还 #include"c8051F040.h"
还有020也没有SFRPAGE 。。。。。。

zengwei 发表于 2011-11-8 11:29:32

回复【28楼】trent5145
-----------------------------------------------------------------------

为啥我用的用keil生产hex文件后 用新华龙的下载软件无法下载程序到片子里面。

zengwei 发表于 2011-11-8 12:49:38

回复【30楼】renpeng009 老醯儿
-----------------------------------------------------------------------

keil怎么下载呢?麻烦你教我一下。

fbp117 发表于 2011-11-8 23:09:14

你的型号是020还是040?

avrlv 发表于 2011-11-8 23:48:37

mark

sup999 发表于 2011-11-9 00:06:12

C8051配置很人性化,用这个软件吧Configuration Wizard 2。需要什么点点就可以,搞的我现在都不记寄存器了。
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_693167XT3CR1.jpg
(原文件名:未命名.jpg)

zengwei 发表于 2011-11-9 09:36:47

回复【33楼】fbp117
-----------------------------------------------------------------------

c8051f020
页: [1]
查看完整版本: C8051F求助 在线等待