C51 玄学问题,magic
0x00 问题代码
void int0_isr(void) interrupt 0
{
num++;
if (num%2 == 1)
{
uint k;
for(k=0;k<3;k++)
{
P1=0x0f;
delay(500);
P1=0xf0;
delay(500);
}
}
else if (num%2 == 0)
{
uint m;
uint n;
temp=0xfe;
P1=temp; //IO口无法直接参与运算,先赋值给字符串再用cror进行二进制移位运算
for (n=0;n<2;n++)
{
for (m=0;m<7;m++)
{
delay(300);
temp = _crol_(temp,1);
P1=temp;
}
for (m=0;m<7;m++)
{
delay(300);
temp = _cror_(temp,1);
P1=temp;
}
}
}
}
void int1_isr (void) interrupt 2
{
P1=0xff;
delay(3000);
}
0x01 问题剖析
手动分配using 0,using 1导致无法退出中断
手动分配using 1,using 2正常退出并返回主函数
自动分配正常退出并返回主函数
以下纯属猜测,毕竟跟使用哪组寄存器没啥关系
代码中使用电平中断(可能也和使用全局变量有关系?)
在没有清中断标志位的情况下,开启中断后,会产生多个中断信号
每个中断程序都在把他们清零,相互影响,导致很难达到计数终点,程序难以终止
又发现一个问题:using 0,using 1是手动分配中断使用哪组寄存器
但缺省情况下系统自动分配寄存器也是using 0,using 1,正常退出中断
using 0使用第0组寄存器(RS1=0,RS0=0),实际地址R0(00H) - R7(07H)
using 1使用第1组寄存器(RS1=0,RS0=1),实际地址R0(08H) - R7(0FH)
C51 玄学问题,magic的更多相关文章
- Magic Line
Magic Line 玄学过题系列,随机选在所有点左下方的点,然后对其他点斜率排序,取斜率在中间两个点之间 比赛时,左下方点不够随机==,导致没卡过去 #include<bits/stdc++. ...
- Codeforces CF#628 Education 8 D. Magic Numbers
D. Magic Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- [8.3] Magic Index
A magic index in an array A[0...n-1] is defined to be an index such that A[i] = i. Given a sorted ar ...
- Python魔术方法-Magic Method
介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...
- 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律
F. Heroes of Making Magic III time limit per test:3 seconds memory limit per test:256 megabytes inpu ...
- 2016中国大学生程序设计竞赛 - 网络选拔赛 C. Magic boy Bi Luo with his excited tree
Magic boy Bi Luo with his excited tree Problem Description Bi Luo is a magic boy, he also has a migi ...
- 一个快速double转int的方法(利用magic number)
代码: int i = *reinterpret_cast<int*>(&(d += 6755399441055744.0)); 知识点: 1.reinterpret_cast&l ...
- MAGIC XPA最新版本Magic xpa 2.4c Release Notes
New Features, Feature Enhancements and Behavior ChangesSubforms – Behavior Change for Unsupported Ta ...
- Magic xpa 2.5发布 Magic xpa 2.5 Release Notes
Magic xpa 2.5發佈 Magic xpa 2.5 Release Notes Magic xpa 2.5 Release NotesNew Features, Feature Enhance ...
随机推荐
- 【转载】重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...
- 【转载】通过sql server 连接mysql
http://www.cnblogs.com/goole/p/5291286.html 1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql ...
- The best way to use Xtool X100 PAD2 for FEM programming
Look here: XTOOL X100 PAD2 is new FEM programming. Possible to use Xtool X100 PAD2 for FEM programmi ...
- 批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量 大概的思路是利用sh,从日志中提取出来对应的IP地址,然后再交由python进行对比,判断,最终将需要添加至iptables列表中的IP写入到 ...
- Shell 脚本获取当前目录 和 获得 文件夹名
#!/bin/bash project_path=$(cd ``; pwd) project_name="${project_path##*/}" echo $project_pa ...
- sublime text 换行与不换行设置
# 修改添加如下图右侧红框内容即可- 打开文件不换行
- 2019.02.17 spoj Query on a tree V(链分治)
传送门 题意简述: 给你一棵nnn个黑白点的树,初始全是黑点. 现在支持给一个点换颜色或者求整颗树中离某个点最近的白点跟这个点的距离. 思路: 考虑链分治维护答案,每个链顶用一个堆来维护答案,然后对于 ...
- 叙述 activemq 与spring 主题实现 小功能实现
在上一篇文章里 我说到了 maven的配置 我现在直接说 xml配置 首先我先描述 生产者的信息 <?xml version="1.0" encoding="UT ...
- Python设计模式运用
1 面向对象 2 创建型模式 3 结构型模式 4 行为型模式
- Makefile基础学习
Makefile基础学习 理论知识 makefile关系到了整个工程的编译规则.一个工程中的源文件不计其数,并且按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文 ...