-
MS51PC0AE中使用LDRAM启动 sos
[table] [tr][td]最近一个项目,用到MS51PC0AE,想做成有ISP功能,可以通过网络升级软件的。但习惯C语言编程了,不清楚怎么将代码放到指定的存储位置,不清楚是要单独编写编译还是可以和应用代码一起编译下载,也不清楚用keil5怎么下载调试。有大侠指点一下吗?[/td][/tr] [/table] [align=left][float=right][color=rgb(68, 68, 68)][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=12px][color=rgb(51, 51, 51)][url=]使用特权[/url][/color][/size][/font][/backcolor][/color][/float][/align][float=right][color=rgb(102, 102, 102)][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=12px][color=rgb(51, 51, 51)][size=14px][url=]更多操作[/url][/size][/color][/size][/font][/backcolor][/color][/float]
2051浏览量 0回复量 关注量 -
这个新塘单片机MS51的IO中断为什么不能用呢
这个就是P05接受一个上升沿或者下降沿之后P04输出一个高电平。功能很简单但是一直这个不能实现功能,也没有报错。 #include "MS51_16K.H" #include "Function_Define_MS51_16K.H" #include "delay.h" /* 名称:时控开关 功能:P05接收到上升沿或者下降沿,P04输出一个下降沿在输出高电平 时间:2021.5.26 版本号:V0.0(最初版) 备注:无干扰处理,总线广播,无串口校准验证 */ #define ENABLE_BIT5_EDGE_TRIG PICON|=0x40;PINEN|=0x20;PIPEN|=0x20//使能并设置P05端口为(PINEN)上升沿和(PIPEN)下降沿都触发中断 #define INDEPENDENTFALG 1 //1为独立模式,即总线广播(不区分设备地址) #if INDEPENDENTFALG void EdgeTriggerInit(void) { P04_PUSHPULL_MODE; P05_INPUT_MODE; set_P0S_5;//待修改,我也没懂这个时效保护在干撒 P04 = 0; P05 = 0; ENABLE_INT_PORT0;//选择P0口 ENABLE_BIT5_EDGE_TRIG;//选择5引脚 set_EPI;//引脚中断使能 set_EA; set_EX0; } void main(void) { EdgeTriggerInit(); while(1); } void PinInterrupt_ISR(void) interrupt 7 { EA = 0;//中断保护 if (PIF == 0X20) { P04 = 1; Delay_us(100); P04 = 0;//单纯的高电平不足以判断情况,为了证明正确性 Delay_us(100); P04 = 1; PIF = 0X00; } EA = 1; } #endif 各位大佬帮忙看一下,感谢。想了好几天没懂这个为啥不能用。
1701浏览量 1回复量 关注量 -
新塘MS51FC0AE 烧写程序后没反应
使用官方 NuMicro ICP Programming Tool 3.06 烧录软件,与官方 Nu-Link-Pro烧录器。Keil4编程软件编译好程序后直接通过烧录器下载到单片机,没问题,单片机正常执行程序。 Keil4编程软件编译好程序后,使用ICP烧录软件通过烧录器下载程序到单片机,单片机无任何反应,重新给单片机上电也无反应。 求教各位会是什么原因呢?
6455浏览量 11回复量 关注量 -
N76E003AT20 & MS51FB91E DID 问题
[i=s] 本帖最后由 lpx280666373 于 2021-1-28 15:31 编辑 [/i] N76E003AT20 DID:0x3650 MS51FB91E DID:0x3650 (手册),实际:0x4B21(Bu-Link -> Debug -> Setting获得),哪个是正确的(详见截图)? 实际我想通过读取 DID 来判断是 N76E003AT20还是MS51FB91E ,这个方法可行吗(同一型号的芯片DID是一直不变的吗?)? 求解答。 [url=home.php?mod=space&uid=1082860]@奔跑的牛[/url] [url=home.php?mod=space&uid=1095000]@clyu[/url] [url=home.php?mod=space&uid=1517336]@Risn[/url]
4775浏览量 7回复量 关注量 -
谁能给解释下MS51FB9AE官方给提供的修改24M主频的函数?
[i=s] 本帖最后由 taobaofarmer 于 2020-9-12 15:35 编辑 [/i] 官方给提供的例程,在Sample_Code->RegBased->Fsys_MoidfyHIRC->FSYS_MHIRC.C->MODIFY_HIRC(HIRC_24);函数里,该函数我给整理了下,只保留调整主频位24M的功能,代码如下: void Make_HIRC_24MHz(void) { u8 idata hirc_map0, hirc_map1; //Check if power on reset, modify HIRC SFRS = 0; //?1处 IAPAL = 0x38; set_IAPEN; { IAPAH = 0x00; IAPCN = READ_UID; //?2处 set_IAPGO; hirc_map0 = IAPFD; IAPAL++; set_IAPGO; hirc_map1 = IAPFD; } clr_IAPEN; TA = 0xAA; TA = 0x55; { RCTRIM0 = hirc_map0; } TA = 0xAA; TA = 0x55; { RCTRIM1 = hirc_map1; } //禁止低功耗模式 PCON &= CLR_BIT4; } 首先说明这个函数在MS51FB9AE上执行是失败的,大体过程我知道,是从系统默认的配置里读出24M主频的高低字节配置信息,然后写入RCTRIM0和RCTRIM1里,但是在?2处,为何IAPCN的指令是READ_UID呢?这个指令不是读芯片内部96位unique id吗? 另外?1处 SFRS = 0;啥意思,难道是翻到SFR页0的意思吗?如果这是这样的话,SFRS寄存器是有TA保护的,单单SFRS = 0;是不行的呀?
2348浏览量 22回复量 关注量