找回密码
 立即注册
查看: 396|回复: 4

请教PSW寄存器中的F0和F1的作用

[复制链接]
  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 134 天

    [LV.7]常住居民III

    12

    主题

    316

    回帖

    924

    积分

    高级会员

    积分
    924
    发表于 2023-6-9 10:25:09 | 显示全部楼层 |阅读模式
    1.请教给老师,下面代码中红色行语句的作用?删掉可以吗?



    //========================================================================
    // 函数: void EEPROM_Trig(void)
    // 描述: 触发EEPROM操作.
    // 参数: none.
    // 返回: none.
    // 版本: V1.0, 2014-6-30
    //========================================================================
    void EEPROM_Trig(void)
    {
        F0 = EA;    //保存全局中断
        EA = 0;     //禁止中断, 避免触发命令无效
        IAP_TRIG = 0x5A;
        IAP_TRIG = 0xA5;                    //先送5AH,再送A5H到IAP触发寄存器,每次都需要如此
                                            //送完A5H后,IAP命令立即被触发启动
                                            //CPU等待IAP完成后,才会继续执行程序。
        _nop_();
        _nop_();
        EA = F0;    //恢复全局中断
    }



    2. 另外PSW寄存器中的F0和F1的作用?
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 100 天

    [LV.6]常住居民II

    41

    主题

    1012

    回帖

    6959

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6959
    QQ
    发表于 2023-6-9 10:34:15 | 显示全部楼层
    void EEPROM_Trig(void)
    {
        F0 = EA;    //保存全局中断
        EA = 0;     //禁止中断, 避免触发命令无效
        IAP_TRIG = 0x5A;
        IAP_TRIG = 0xA5;                    //先送5AH,再送A5H到IAP触发寄存器,每次都需要如此
                                            //送完A5H后,IAP命令立即被触发启动
                                            //CPU等待IAP完成后,才会继续执行程序。
        _nop_();
        _nop_();
        EA = F0;    //恢复全局中断
    }


    这里其实本质就是广义上的临界值保护,防止在操作E2的时候一个中断导致数据异常,这里因为不知道初始状态的EA到底是打开还是关闭的,所以用了个F0保存原始状态,最后在写入。建议这个可以加上。





    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 134 天

    [LV.7]常住居民III

    12

    主题

    316

    回帖

    924

    积分

    高级会员

    积分
    924
     楼主| 发表于 2024-2-1 08:58:21 | 显示全部楼层
    电子DIY小家 发表于 2023-6-9 10:34
    void EEPROM_Trig(void)
    {
        F0 = EA;    //保存全局中断

    谢谢?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 109 天

    [LV.6]常住居民II

    10

    主题

    580

    回帖

    916

    积分

    高级会员

    积分
    916
    发表于 2024-2-6 11:19:54 | 显示全部楼层
    2. 另外PSW寄存器中的F0和F1的作用?
    STC单片机的头文件中均有定义F0/F1两个位,可以直接给用户使用。标准51单片机只定义了F0位。
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9453

    回帖

    1万

    积分

    管理员

    积分
    14007
    发表于 2024-2-6 11:35:08 | 显示全部楼层
    多余的可以利用的位,不过没必要资源紧张到用PWM里面的多余位
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-16 18:10 , Processed in 0.087068 second(s), 45 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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