ajfan 发表于 2024-3-26 19:17:14

C8051F120 点个灯都不亮,见鬼

本帖最后由 ajfan 于 2024-3-26 19:49 编辑

C8051F120 点个灯(P0.7),无论是用下面的程序还是用configuration wizard生成的代码都运行不了,P0.7一直是高,奇怪的是JTAG可以连接上也可以往芯片里烧程序,尝试换其他口也没用,引脚太多了,又不想贸贸然更换芯片。

连接比较简单,(AV+,MONEN,VDD,VDD接3.3V),(AGND和DGND连一起),RST接RC,其余没有特殊连接,有用过这个芯片的大神解个惑么?

                                               
//---------------------------------------------------------------------------------
#include "C8051F120.h"


#define CLOCK_FREQ 48000000UL

void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++)
      for (j = 0; j < 113; j++);
}


void initClock() {
    OSCXCN = 0x67;// 配置内部振荡器为 24.5MHz
    while(!(OSCXCN & 0x80));// 等待振荡器稳定
    OSCICN = 0x88;// 启用内部振荡器
}

void initPort() {
    // 将 P1.7 设置为输出模式
    P0MDOUT |= (1 << 7);
}


//------------------------------------------------------------------------------------------
//=================================================================================
//                                 主函数定义
//=================================================================================
void main()
{
    unsigned int count = 0;
    initClock();
    initPort();

    while(1)
       {
      delay_ms(500);

      count++;
      if (count == 2)
               {
            P0 ^= (1 << 7);
            count = 0;
         }
    }
}




configuration wizard生成的代码

//---------------------------------------------------------------------------------
#include "C8051F120.h"

void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++)
      for (j = 0; j < 113; j++);
}

void Port_IO_Init()
{
    SFRPAGE   = CONFIG_PAGE;
    P0MDOUT   = 0x80;
    XBR2      = 0x40;
}

void Oscillator_Init()
{
    int i = 0;
    SFRPAGE   = CONFIG_PAGE;
    OSCICN    = 0x83;
    CCH0CN    &= ~0x20;
    SFRPAGE   = LEGACY_PAGE;
    FLSCL   = 0x90;
    SFRPAGE   = CONFIG_PAGE;
    CCH0CN    |= 0x20;
    PLL0CN    |= 0x01;
    PLL0DIV   = 0x01;
    PLL0FLT   = 0x21;
    PLL0MUL   = 0x02;
    for (i = 0; i < 15; i++);// Wait 5us for initialization
    PLL0CN    |= 0x02;
    while ((PLL0CN & 0x10) == 0);
    CLKSEL    = 0x02;
}


//------------------------------------------------------------------------------------------
//=================================================================================
//                                 主函数定义
//=================================================================================
void main()
{
    unsigned int count = 0;

    Port_IO_Init();
    Oscillator_Init();

    while(1)
       {
      delay_ms(500);

      count++;
      if (count == 2)
               {
            P0 ^= (1 << 7);
            count = 0;
         }
    }
}

胖子胖虎 发表于 2024-3-26 20:06:34

看门狗没关

redworlf007 发表于 2024-3-26 20:09:57

这个片子现在啥价格了?

ajfan 发表于 2024-3-26 20:11:10

谢谢楼上,加上看门狗也不行,P0.7持续高电平中,难道真的芯片坏了?但JTAG又是好的

ajfan 发表于 2024-3-26 20:23:31

谢谢楼上,通过增加    WDTCN=0xDE;WDTCN=0xAD; 可以正常输出高低电平了,100汤圆请笑纳。

ajfan 发表于 2024-3-26 20:28:38

redworlf007 发表于 2024-3-26 20:09
这个片子现在啥价格了?
(引用自3楼)

去年买的是30一颗。

redworlf007 发表于 2024-3-26 20:30:45

ajfan 发表于 2024-3-26 20:28
去年买的是30一颗。
(引用自6楼)

居然这么贵

1a2b3c 发表于 2024-3-26 20:37:44

现在新用这个芯片的目的是什么呢?而且楼主都还不会用(甚至可能从来没用过)的情况下还选这个

ajfan 发表于 2024-3-26 20:47:08

1a2b3c 发表于 2024-3-26 20:37
现在新用这个芯片的目的是什么呢?而且楼主都还不会用(甚至可能从来没用过)的情况下还选这个
...
(引用自8楼)

观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所以就用了F120,当然知道STM32更快,不是还不会么{:lol:}

ysu_er 发表于 2024-3-26 21:33:24

C8051F这个单片机在十几年前,我当时觉得好强大{:lol:}

1a2b3c 发表于 2024-3-26 22:44:59

ajfan 发表于 2024-3-26 20:47
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所 ...
(引用自9楼)

奇怪了,你既然都编程了340了,换120不是一回事吗?
甚至几乎不用改程序都可以工作的事情咋换个型号就忘了哈哈😄😄

1a2b3c 发表于 2024-3-26 22:46:46

ysu_er 发表于 2024-3-26 21:33
C8051F这个单片机在十几年前,我当时觉得好强大
(引用自10楼)

100M的51而且海几乎是单周期指令,放在AT89C51来看,已经是神了哈哈😄

redworlf007 发表于 2024-3-26 22:47:15

ajfan 发表于 2024-3-26 20:47
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所 ...
(引用自9楼)

我也有c8051f开发板,不过我直接上stm32f407了,抄抄开发板程序就好了。

Doding 发表于 2024-3-26 22:47:42

我第一个写的没有while(1)的另类程序就是在C8051F005上写的,当年这款芯片抗干扰很强。
交叉开关当时觉得很厉害,真做项目发现一点也不好用。

ibmx311 发表于 2024-3-27 00:45:24

十几年前用过,那个时候还觉得挺好。但后来都被stm32干掉了

MYQQ2021 发表于 2024-3-27 06:39:16

51的世界里,STC是目前性价比最高的,不接受反驳

442502587 发表于 2024-3-27 07:06:46

MYQQ2021 发表于 2024-3-27 06:39
51的世界里,STC是目前性价比最高的,不接受反驳
(引用自16楼)

芯圣,士兰微

tang_qianfeng 发表于 2024-3-27 07:27:27

Doding 发表于 2024-3-26 22:47
我第一个写的没有while(1)的另类程序就是在C8051F005上写的,当年这款芯片抗干扰很强。
交叉开关当时觉得很 ...
(引用自14楼)

它的交叉开关必须要按次序排下去,一点也不灵活

pulan 发表于 2024-3-27 08:08:14

F120正经是20年前的东西了,当时还叫Cygnal,后来被收购了。沈阳新华龙代理,翻译了一堆中文手册。

taiyangshendi2 发表于 2024-3-27 08:39:00

redworlf007 发表于 2024-3-26 22:47
我也有c8051f开发板,不过我直接上stm32f407了,抄抄开发板程序就好了。
(引用自13楼)

哈哈 我也基本上是这样   stm32直接移植资料也多

阿豪博士 发表于 2024-3-27 08:43:30

搞这个的,很多都是涉及到微波射频等模块相关的。。。用这种芯片,完全属于浪费生命。。。

fcm32 发表于 2024-3-27 09:08:10

这个交叉开关当时觉得挺好的,可以将外设任意分配到引脚,后来一分析,老外脑袋简直被驴踢了,只能按它定义的顺序,一个一个往下移。任何一个外设动了一只脚,其它外设都要移,我晕~

kebaojun305 发表于 2024-3-27 09:17:06

fcm32 发表于 2024-3-27 09:08
这个交叉开关当时觉得挺好的,可以将外设任意分配到引脚,后来一分析,老外脑袋简直被驴踢了,只能按它定义 ...
(引用自22楼)

当年 也觉的牛逼的不得了 原来里面还有这个大坑{:lol:}

Doding 发表于 2024-3-27 09:20:07

交叉开关用到项目上就会发现,外设没调好之前不敢做PCB,万一外设达不到要求,需要换个接口,或加个接口,PCB得重新画。所有功能都得在面包板上验证好之后再画PCB。

redworlf007 发表于 2024-3-27 09:21:31

taiyangshendi2 发表于 2024-3-27 08:39
哈哈 我也基本上是这样   stm32直接移植资料也多
(引用自20楼)

我把以前买的安富莱开发板翻出来,标准库的程序抄下,调度器移植上去,外设芯片驱动居然也是搞好的,瞎搞下,完工,哈哈。

qtechzdh 发表于 2024-3-27 09:24:40

ajfan 发表于 2024-3-26 20:47
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所 ...
(引用自9楼)

大哥你搞反了。STM32更简单,更容易。
不是说先进的东西就更难。其实刚好相反。

ajfan 发表于 2024-3-27 11:12:21

各位大神请考虑新手,是否有推荐STM32 的书,视频教程 或 开发板推荐的?最好是你们看过后觉得非常容易入门的,求推荐。
之前买过一块STM32的开发板,感觉和8051差异太大直接怂了,现在东西都找不到了,不过现在STM32的价格确实低,几块钱的硬件资源好硬。

jbpan852 发表于 2024-3-27 12:10:21

ajfan 发表于 2024-3-27 11:12
各位大神请考虑新手,是否有推荐STM32 的书,视频教程 或 开发板推荐的?最好是你们看过后觉得非常容易入门 ...
(引用自27楼)

可以了解正点原自的,个人觉得不错

lnso 发表于 2024-3-27 12:34:18

ajfan 发表于 2024-3-27 11:12
各位大神请考虑新手,是否有推荐STM32 的书,视频教程 或 开发板推荐的?最好是你们看过后觉得非常容易入门 ...
(引用自27楼)

单片机都一个鸟样的

胖子胖虎 发表于 2024-3-28 12:34:59

1a2b3c 发表于 2024-3-26 22:46
100M的51而且海几乎是单周期指令,放在AT89C51来看,已经是神了哈哈😄
(引用自12楼)

现在也很强啊,100M啊,处理实时数据强得不得了。甚至我还在这个芯片上处理过视频{:lol:} ,后来换了stm32,但是在工业场合可能是我电路设计的不好,总死机。目前是两种单片机混着用。

1a2b3c 发表于 2024-3-28 13:19:11

胖子胖虎 发表于 2024-3-28 12:34
现在也很强啊,100M啊,处理实时数据强得不得了。甚至我还在这个芯片上处理过视频 ,后来换了stm3 ...
(引用自30楼)

科普下处理视频是怎么个处理啊,
感觉是啥都做不了呢?
总不可能是类似mpeg编码或者啥H64什么那些嘛,
页: [1]
查看完整版本: C8051F120 点个灯都不亮,见鬼