搜索
bottom↓
回复: 30

C8051F120 点个灯都不亮,见鬼

[复制链接]

出340入0汤圆

发表于 2024-3-26 19:17:14 | 显示全部楼层 |阅读模式
本帖最后由 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;
         }
    }
}

出0入90汤圆

发表于 2024-3-26 20:06:34 来自手机 | 显示全部楼层
看门狗没关

出0入36汤圆

发表于 2024-3-26 20:09:57 来自手机 | 显示全部楼层
这个片子现在啥价格了?

出340入0汤圆

 楼主| 发表于 2024-3-26 20:11:10 | 显示全部楼层
谢谢楼上,加上看门狗也不行,P0.7持续高电平中,难道真的芯片坏了?但JTAG又是好的

出340入0汤圆

 楼主| 发表于 2024-3-26 20:23:31 | 显示全部楼层
谢谢楼上,通过增加    WDTCN=0xDE;  WDTCN=0xAD; 可以正常输出高低电平了,100汤圆请笑纳。

出340入0汤圆

 楼主| 发表于 2024-3-26 20:28:38 | 显示全部楼层
redworlf007 发表于 2024-3-26 20:09
这个片子现在啥价格了?
(引用自3楼)

去年买的是30一颗。

出0入36汤圆

发表于 2024-3-26 20:30:45 来自手机 | 显示全部楼层
ajfan 发表于 2024-3-26 20:28
去年买的是30一颗。
(引用自6楼)

居然这么贵

出0入475汤圆

发表于 2024-3-26 20:37:44 来自手机 | 显示全部楼层
现在新用这个芯片的目的是什么呢?而且楼主都还不会用(甚至可能从来没用过)的情况下还选这个

出340入0汤圆

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

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

出0入0汤圆

发表于 2024-3-26 21:33:24 | 显示全部楼层
C8051F这个单片机在十几年前,我当时觉得好强大

出0入475汤圆

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

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

出0入475汤圆

发表于 2024-3-26 22:46:46 来自手机 | 显示全部楼层
ysu_er 发表于 2024-3-26 21:33
C8051F这个单片机在十几年前,我当时觉得好强大
(引用自10楼)

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

出0入36汤圆

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

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

出0入75汤圆

发表于 2024-3-26 22:47:42 来自手机 | 显示全部楼层
我第一个写的没有while(1)的另类程序就是在C8051F005上写的,当年这款芯片抗干扰很强。
交叉开关当时觉得很厉害,真做项目发现一点也不好用。

出0入300汤圆

发表于 2024-3-27 00:45:24 | 显示全部楼层
十几年前用过,那个时候还觉得挺好。但后来都被stm32干掉了

出0入17汤圆

发表于 2024-3-27 06:39:16 来自手机 | 显示全部楼层
51的世界里,STC是目前性价比最高的,不接受反驳

出10入12汤圆

发表于 2024-3-27 07:06:46 来自手机 | 显示全部楼层
MYQQ2021 发表于 2024-3-27 06:39
51的世界里,STC是目前性价比最高的,不接受反驳
(引用自16楼)

芯圣,士兰微

出0入18汤圆

发表于 2024-3-27 07:27:27 来自手机 | 显示全部楼层
Doding 发表于 2024-3-26 22:47
我第一个写的没有while(1)的另类程序就是在C8051F005上写的,当年这款芯片抗干扰很强。
交叉开关当时觉得很 ...

(引用自14楼)

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

出0入137汤圆

发表于 2024-3-27 08:08:14 | 显示全部楼层
F120正经是20年前的东西了,当时还叫Cygnal,后来被收购了。沈阳新华龙代理,翻译了一堆中文手册。

出0入0汤圆

发表于 2024-3-27 08:39:00 | 显示全部楼层
redworlf007 发表于 2024-3-26 22:47
我也有c8051f开发板,不过我直接上stm32f407了,抄抄开发板程序就好了。
(引用自13楼)

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

出0入0汤圆

发表于 2024-3-27 08:43:30 | 显示全部楼层
搞这个的,很多都是涉及到微波射频等模块相关的。。。用这种芯片,完全属于浪费生命。。。

出0入18汤圆

发表于 2024-3-27 09:08:10 | 显示全部楼层
这个交叉开关当时觉得挺好的,可以将外设任意分配到引脚,后来一分析,老外脑袋简直被驴踢了,只能按它定义的顺序,一个一个往下移。任何一个外设动了一只脚,其它外设都要移,我晕~

出0入8汤圆

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

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

出0入75汤圆

发表于 2024-3-27 09:20:07 | 显示全部楼层
交叉开关用到项目上就会发现,外设没调好之前不敢做PCB,万一外设达不到要求,需要换个接口,或加个接口,PCB得重新画。所有功能都得在面包板上验证好之后再画PCB。

出0入36汤圆

发表于 2024-3-27 09:21:31 来自手机 | 显示全部楼层
taiyangshendi2 发表于 2024-3-27 08:39
哈哈 我也基本上是这样   stm32直接移植  资料也多
(引用自20楼)

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

出10入18汤圆

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

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

出340入0汤圆

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

出0入0汤圆

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

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

出0入0汤圆

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

单片机都一个鸟样的

出0入90汤圆

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

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

出0入475汤圆

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

科普下处理视频是怎么个处理啊,
感觉是啥都做不了呢?
总不可能是类似mpeg编码或者啥H64什么那些嘛,
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 12:56

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表