问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - s51
  • MS51FB9AE I2c驱动tm1650 程序

    哪位大神能给个MS51FB9AE I2c驱动tm1650 程序 参考例程?

    s51 tm1650 I2c 参考例程

    1361浏览量 1回复量 关注量
  • 这个新塘单片机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 各位大佬帮忙看一下,感谢。想了好几天没懂这个为啥不能用。

    技术交流 s51 IO 新塘单片机 pi ge

    1440浏览量 1回复量 关注量
  • 新塘MS51FC0AE 烧写程序后没反应

    使用官方 NuMicro ICP Programming Tool 3.06 烧录软件,与官方 Nu-Link-Pro烧录器。Keil4编程软件编译好程序后直接通过烧录器下载到单片机,没问题,单片机正常执行程序。 Keil4编程软件编译好程序后,使用ICP烧录软件通过烧录器下载程序到单片机,单片机无任何反应,重新给单片机上电也无反应。 求教各位会是什么原因呢?

    嵌入式 技术交流 s51 烧写程序 新塘 烧录

    5987浏览量 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]

    s51 n76e003at20 BUG link Setting

    4418浏览量 7回复量 关注量
  • MS51FB9AE 这个代替003的 KEIL驱动包哪里有

    KEIL上找不到这个料 无法编译

    keil s51 编译

    1004浏览量 1回复量 关注量
  • 谁能给解释下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;是不行的呀?

    s51 函数 rc iap se

    1970浏览量 22回复量 关注量