怪异的switch语句,请大侠瞄一眼!

[复制链接]
 楼主| 发表于 2015-10-10 11:39 | 显示全部楼层 |阅读模式
本帖最后由 hetiandemeng017 于 2015-10-10 14:01 编辑

        谢谢诸位,解决了!是stc15的单片机的问题,很怪异,很难解释。合理的解释应该是:每一次重新赋值TH0和TL0,并不是立刻改变寄存器的值,而是缓存在另一个地方(叫什么RL_TH0什么的同名地址),待这一次中断结束后,下一次才重新装进去。当然是用TR0,也就是T0计时器的关闭,可以避免这一过程,即立马改变TH0和TL0的值。额,真尼玛累。另外,便宜没好货,不要钱的更加要谨慎。我自制的示波器真心伤不起啊!
感谢等等兄弟的关注!给了我很大的启发,至少让我明白问题不是出在哪里,这样排查范围就缩小了!

好了,说这么多的目的还有就是告诫后人 stc15 16位自动重装的机制有什么不一样的地方,免得大家摸不着头脑,至少你若搜索到我这篇帖子,就可以省去很多时间。
当然有耐心看stc的说明书就好,但是此书太厚了,我没那个耐心,大家不要学我!

发表于 2015-10-10 11:46 | 显示全部楼层
本帖最后由 ayb_ice 于 2015-10-10 11:48 编辑

感觉也是有些不可能,是不是示波器反相了
修改下吧

void T0() interrupt 1   
{
        switch(num)           
        {
                case 0: LED=1;  break;
                case 1: LED=0;  break;                  
                case 2: LED=1;  break;
                case 3: LED=0;  break;
                case 4: num=0;  break;
                default:break;
        }
        if(++num >= 5){
                num = 0;
        }
}   

评分

参与人数 1威望 +3 收起 理由
hetiandemeng017 + 3 赞一个!

查看全部评分

 楼主| 发表于 2015-10-10 11:47 | 显示全部楼层
这样就将问题简单化了,诸位畅所欲言! 自己先顶一个!
发表于 2015-10-10 11:50 | 显示全部楼层
本帖最后由 ayb_ice 于 2015-10-10 11:51 编辑
hetiandemeng017 发表于 2015-10-10 11:47
这样就将问题简单化了,诸位畅所欲言! 自己先顶一个!

同时测试另外的引脚试试

另外要看实际硬件的情况
还可以用万用表测试一下,PWM信号不同的占空比是可以通过直流电压反应出来的

评分

参与人数 1威望 +3 收起 理由
hetiandemeng017 + 3 赞一个!

查看全部评分

发表于 2015-10-10 11:59 | 显示全部楼层
语言不简洁,所以在程序执行上有时间差。
 楼主| 发表于 2015-10-10 12:02 | 显示全部楼层
ayb_ice 发表于 2015-10-10 11:46
感觉也是有些不可能,是不是示波器反相了
修改下吧

无效果,刚刚试,就不贴图出来了!
发表于 2015-10-10 12:35 | 显示全部楼层
哎,从你图里面看的出来,程序是没问题的,一般直观的看法是1对应高,0对应低,而你的是1对应低,0对应高,很奇怪吗,有的LED还是用低电平驱动的,出现这种情况还是看看硬件上地方,别纠结程序的问题。

评分

参与人数 1威望 +3 收起 理由
hetiandemeng017 + 3

查看全部评分

发表于 2015-10-10 13:34 | 显示全部楼层
搞定就好
我开始都准备下个手册看一下的,结果半天没有下下来
 楼主| 发表于 2015-10-10 14:03 | 显示全部楼层
ayb_ice 发表于 2015-10-10 13:34
搞定就好
我开始都准备下个手册看一下的,结果半天没有下下来

嘻嘻,是不是官网下啊?我这个可修改版本200多M,想传给你的,怕更慢,嘻嘻!
发表于 2015-10-10 14:33 | 显示全部楼层
hetiandemeng017 发表于 2015-10-10 14:03
嘻嘻,是不是官网下啊?我这个可修改版本200多M,想传给你的,怕更慢,嘻嘻! ...

是官网下的,半天没有动静,其它的地方又没有发现有下的
发表于 2015-10-11 12:49 | 显示全部楼层
感谢楼主分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:那个我是新手,胡言乱语还请包涵一下哦哦!

4

主题

99

帖子

1

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