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;
}
}
} 看门狗没关 这个片子现在啥价格了? 谢谢楼上,加上看门狗也不行,P0.7持续高电平中,难道真的芯片坏了?但JTAG又是好的 谢谢楼上,通过增加 WDTCN=0xDE;WDTCN=0xAD; 可以正常输出高低电平了,100汤圆请笑纳。 redworlf007 发表于 2024-3-26 20:09
这个片子现在啥价格了?
(引用自3楼)
去年买的是30一颗。 ajfan 发表于 2024-3-26 20:28
去年买的是30一颗。
(引用自6楼)
居然这么贵 现在新用这个芯片的目的是什么呢?而且楼主都还不会用(甚至可能从来没用过)的情况下还选这个
1a2b3c 发表于 2024-3-26 20:37
现在新用这个芯片的目的是什么呢?而且楼主都还不会用(甚至可能从来没用过)的情况下还选这个
...
(引用自8楼)
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所以就用了F120,当然知道STM32更快,不是还不会么{:lol:} C8051F这个单片机在十几年前,我当时觉得好强大{:lol:} ajfan 发表于 2024-3-26 20:47
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所 ...
(引用自9楼)
奇怪了,你既然都编程了340了,换120不是一回事吗?
甚至几乎不用改程序都可以工作的事情咋换个型号就忘了哈哈😄😄 ysu_er 发表于 2024-3-26 21:33
C8051F这个单片机在十几年前,我当时觉得好强大
(引用自10楼)
100M的51而且海几乎是单周期指令,放在AT89C51来看,已经是神了哈哈😄 ajfan 发表于 2024-3-26 20:47
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所 ...
(引用自9楼)
我也有c8051f开发板,不过我直接上stm32f407了,抄抄开发板程序就好了。 我第一个写的没有while(1)的另类程序就是在C8051F005上写的,当年这款芯片抗干扰很强。
交叉开关当时觉得很厉害,真做项目发现一点也不好用。 十几年前用过,那个时候还觉得挺好。但后来都被stm32干掉了 51的世界里,STC是目前性价比最高的,不接受反驳 MYQQ2021 发表于 2024-3-27 06:39
51的世界里,STC是目前性价比最高的,不接受反驳
(引用自16楼)
芯圣,士兰微 Doding 发表于 2024-3-26 22:47
我第一个写的没有while(1)的另类程序就是在C8051F005上写的,当年这款芯片抗干扰很强。
交叉开关当时觉得很 ...
(引用自14楼)
它的交叉开关必须要按次序排下去,一点也不灵活 F120正经是20年前的东西了,当时还叫Cygnal,后来被收购了。沈阳新华龙代理,翻译了一堆中文手册。 redworlf007 发表于 2024-3-26 22:47
我也有c8051f开发板,不过我直接上stm32f407了,抄抄开发板程序就好了。
(引用自13楼)
哈哈 我也基本上是这样 stm32直接移植资料也多 搞这个的,很多都是涉及到微波射频等模块相关的。。。用这种芯片,完全属于浪费生命。。。 这个交叉开关当时觉得挺好的,可以将外设任意分配到引脚,后来一分析,老外脑袋简直被驴踢了,只能按它定义的顺序,一个一个往下移。任何一个外设动了一只脚,其它外设都要移,我晕~ fcm32 发表于 2024-3-27 09:08
这个交叉开关当时觉得挺好的,可以将外设任意分配到引脚,后来一分析,老外脑袋简直被驴踢了,只能按它定义 ...
(引用自22楼)
当年 也觉的牛逼的不得了 原来里面还有这个大坑{:lol:} 交叉开关用到项目上就会发现,外设没调好之前不敢做PCB,万一外设达不到要求,需要换个接口,或加个接口,PCB得重新画。所有功能都得在面包板上验证好之后再画PCB。 taiyangshendi2 发表于 2024-3-27 08:39
哈哈 我也基本上是这样 stm32直接移植资料也多
(引用自20楼)
我把以前买的安富莱开发板翻出来,标准库的程序抄下,调度器移植上去,外设芯片驱动居然也是搞好的,瞎搞下,完工,哈哈。 ajfan 发表于 2024-3-26 20:47
观察的很对,不是专职做这个的,边学边动手纯爱好,C8051F340做过一些简单的编程,想让MCU跑更快一点,所 ...
(引用自9楼)
大哥你搞反了。STM32更简单,更容易。
不是说先进的东西就更难。其实刚好相反。 各位大神请考虑新手,是否有推荐STM32 的书,视频教程 或 开发板推荐的?最好是你们看过后觉得非常容易入门的,求推荐。
之前买过一块STM32的开发板,感觉和8051差异太大直接怂了,现在东西都找不到了,不过现在STM32的价格确实低,几块钱的硬件资源好硬。 ajfan 发表于 2024-3-27 11:12
各位大神请考虑新手,是否有推荐STM32 的书,视频教程 或 开发板推荐的?最好是你们看过后觉得非常容易入门 ...
(引用自27楼)
可以了解正点原自的,个人觉得不错 ajfan 发表于 2024-3-27 11:12
各位大神请考虑新手,是否有推荐STM32 的书,视频教程 或 开发板推荐的?最好是你们看过后觉得非常容易入门 ...
(引用自27楼)
单片机都一个鸟样的 1a2b3c 发表于 2024-3-26 22:46
100M的51而且海几乎是单周期指令,放在AT89C51来看,已经是神了哈哈😄
(引用自12楼)
现在也很强啊,100M啊,处理实时数据强得不得了。甚至我还在这个芯片上处理过视频{:lol:} ,后来换了stm32,但是在工业场合可能是我电路设计的不好,总死机。目前是两种单片机混着用。 胖子胖虎 发表于 2024-3-28 12:34
现在也很强啊,100M啊,处理实时数据强得不得了。甚至我还在这个芯片上处理过视频 ,后来换了stm3 ...
(引用自30楼)
科普下处理视频是怎么个处理啊,
感觉是啥都做不了呢?
总不可能是类似mpeg编码或者啥H64什么那些嘛,
页:
[1]