打印
[STC单片机]

请大家帮忙纠错,keil程序

[复制链接]
2787|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
danlv|  楼主 | 2014-8-10 12:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
普中单片机开发板HC6800EM3-V22,用杜邦线把JP3与JP10、J12和JP11连接;下载程序后D17和D18LED灯不规律闪亮!!!
#include <reg51.h>
void delay(unsigned int i);  
  unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,
~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
main()
{  
  unsigned int LedNumVal ;  
  EA=1;
  EX0=1;
  while(1)
  {         
                LedNumVal++;         
                P2=0x00;
                P0 = LED7Code[LedNumVal%16]&0x7f;
                   delay(62000);
  }   
}
void inte () interrupt 0
{
    P2=0x03;
}
void delay(unsigned int i)
{
    char j;
    for(i; i > 0; i--)          
        for(j = 200; j > 0; j--);
}
普中单片机开发板HC6800EM3-V22,用杜邦线把JP3与JP10、J12和JP11连接;下载程序后D17和D18LED灯不规律闪亮!!!本想尝试一下中断程序,可是发现LED灯不规律闪动,头疼ing
请问这是什么原因呢?

相关帖子

沙发
wangch_sh| | 2014-8-10 13:24 | 只看该作者
没用过普中单片机。

使用特权

评论回复
板凳
ningling_21| | 2014-8-10 15:25 | 只看该作者
要实现什么功能?
电路图是怎样的?

使用特权

评论回复
地板
danlv|  楼主 | 2014-8-10 15:55 | 只看该作者
ningling_21 发表于 2014-8-10 15:25
要实现什么功能?
电路图是怎样的?



型号:普中单片机开发板HC6800EM3-V22,用杜邦线把JP3与JP10、J12和JP11连接
目的:想练习下单片机的中断功能,在一个数码管数字滚动显示程序的基础上,加了中断程序。
问题:下载程序后,还没有中断的时候D17和D18LED灯不规律闪亮
#include <reg51.h>
void delay(unsigned int i);  
  unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,
~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71};
main()
{  
  unsigned int LedNumVal ;  
  EA=1;
  EX0=1;
  while(1)
  {         
                LedNumVal++;         
                P2=0x00; //没有中断时LED不亮
                P0 = LED7Code[LedNumVal%16]&0x7f;
                   delay(62000);
  }   
}
void inte () interrupt 0
{
    P2=0x03;//中断时D17和D18两个LED亮
}
void delay(unsigned int i)
{
    char j;
    for(i; i > 0; i--)           
        for(j = 200; j > 0; j--);
}

使用特权

评论回复
5
danlv|  楼主 | 2014-8-10 15:58 | 只看该作者
ningling_21 发表于 2014-8-10 15:25
要实现什么功能?
电路图是怎样的?

https://bbs.21ic.com/forum.php?mod=attachment&aid=MzI5NDM4fDI4MGFkMTgwMGY3MTBjODNhYzcwZmRiN2FlZmVhM2IzfDE3MzIzMzUzMDk%3D&request=yes&_f=.pdf

这是pdf版的电路图,更清楚。提前谢谢了:)

使用特权

评论回复
6
天风立马| | 2014-8-10 16:10 | 只看该作者
把你qq留下。

使用特权

评论回复
7
ningling_21| | 2014-8-10 16:17 | 只看该作者
danlv 发表于 2014-8-10 15:58
https://bbs.21ic.com/forum.php?mod=attachment&aid=MzI5NDM4fDI4MGFkMTgwMGY3MTBjODNhYzcwZmRiN2FlZmVhM2IzfDE3MzIzMzUzMDk%3D&request=yes&_f=.pdf

这是pdf版的电路图,更清楚。提前谢谢了

是练习红外遥控产生中断吗?

外部中断也许是红外接收头产生的...

使用特权

评论回复
8
shcshc1234| | 2014-8-10 20:15 | 只看该作者
看看 外设的那些跳线帽
有个不拔掉1.7始终为高电平

使用特权

评论回复
9
李冬发| | 2014-8-11 01:52 | 只看该作者
你的主循环与中断时间间隔不同,当然就出来“没规律”的闪了。你要是认真观察,还是能发现出规律来的:闪的是2个频率的差频。

使用特权

评论回复
10
cd666| | 2014-8-11 09:18 | 只看该作者
你把主程改下;
不要P2=0x00,那句,
把中断程序里  改成 P2 ^= 0x03;
这样方便观察,按次 灯亮 再按灯灭

使用特权

评论回复
11
danlv|  楼主 | 2014-8-12 19:46 | 只看该作者
李冬发 发表于 2014-8-11 01:52
你的主循环与中断时间间隔不同,当然就出来“没规律”的闪了。你要是认真观察,还是能发现出规律来的:闪的 ...

我打算用“手动把INT0与MCU的20#针脚接地连接”当成中断信号,可是还没等接地呢就频闪了,请问这是什么原因呢?

使用特权

评论回复
12
danlv|  楼主 | 2014-8-12 19:47 | 只看该作者
cd666 发表于 2014-8-11 09:18
你把主程改下;
不要P2=0x00,那句,
把中断程序里  改成 P2 ^= 0x03;

请问其中的奥妙和原因是什么呢?为什么改成P2^ 呢?

使用特权

评论回复
13
danlv|  楼主 | 2014-8-12 20:00 | 只看该作者
shcshc1234 发表于 2014-8-10 20:15
看看 外设的那些跳线帽
有个不拔掉1.7始终为高电平

请问是哪一个呀??

使用特权

评论回复
14
danlv|  楼主 | 2014-8-12 20:02 | 只看该作者
ningling_21 发表于 2014-8-10 16:17
是练习红外遥控产生中断吗?

外部中断也许是红外接收头产生的...

我打算用“手动把INT0与MCU的20#针脚接地连接”当成中断信号,可是还没等接地呢就频闪了,,,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

12

帖子

0

粉丝