社区导航

 

搜索
查看: 1507|回复: 6

[求助] 单片机误差问题 新人急求解决方案!!谢谢!

[复制链接]

8

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2015-8-10 17:44 | 显示全部楼层 |阅读模式
Rt 问题是同样一个程序 连接实物示波器实验时结果不稳定 一个程序能跑出四 五个结果 希望大侠解释下 马上附程序


此帖出自单片机论坛

回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2015-8-10 18:08 | 显示全部楼层
#include                  一
sbit output=P2^4;
int flag=0;
void delay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
for(j=0;j<125;j++)
{;}
}
void Outside_Int(void) interrupt 0 //ía2¿0ÖD¶Ïoˉ
{  
  TH0=0xee;//¸ø¶¨ê±Æ÷μĸß8λ¸33õÖμ
  TL0=0x00;//¸ø¶¨ê±Æ÷μÄμí8λ¸33õÖμ  
  TR0= 1;
}
void T0_time() interrupt 1 //¶¨ê±Æ÷0μÄÖD¶Ï′|àíoˉêy
{  
        TR0=0;
         flag=1;
                output=0;
}
void main()
{
delay(2000);
TMOD=0x01;//16붨ê±Æ÷
EA=1;//¿a×üÖD¶Ï
PT0=0;//¼ÆêyÆ÷0¶¨òåÎa¸ßóÅÏ輶ÖD¶Ï
IT0=1;//2éóñßÑØ′¥·¢
        EX0=1;//¿aía2¿ÖD¶Ï0
ET0=1;//¿a¼ÆêyÆ÷ÖD¶Ï0
        if(flag==1)
                output=0;
   else
                 output=1;
}



想实现的功能:输入的是50HZ方波 外部中断输入 当单片机检测到下降沿时计数器启动 计到制定的数后溢出 输出端口p2.4实现从1到0的跳变 程序结束
理想的状况是多次实验 输出波形跳变的位置每次都对应于输入波形一个周期内固定的一点 然而同样的程序 多次上电后发现位置并不固定 差不多实验10次 7 8次是正确结果 剩下几次错误 波形都会有跳变 只是位置不对
我最不能理解的是单片机同样一个程序执行多次为什么会有不同的结果呢??请大家给个意见 谢谢大家了

回复

使用道具 举报

368

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-8-10 19:12 | 显示全部楼层
我觉得你可以写成while(1)output=0;

回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2015-8-10 19:25 | 显示全部楼层
飞翔荷兰人号 发表于 2015-8-10 19:12
我觉得你可以写成while(1)output=0;

您好 这样的做法我试过 但是好像没有多大的用处。。。能给解释下为什么要这样吗?谢谢!

回复

使用道具 举报

368

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2015-8-10 22:13 | 显示全部楼层
你用的是keil吧,keil会自动给你整个程序加上while(1),如果你 程序里面没有while(1),每次都会重新配置中断和定时器,会有影响。但是while(1)不要多用啊 有一个就够了。至于你这个的问题在哪我看不出来,才疏学浅,抱歉

回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2015-8-11 15:37 | 显示全部楼层
回楼上 没有多大的帮助。。。不过还是谢谢了

回复

使用道具 举报

1299

TA的帖子

4

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2015-10-3 10:20 | 显示全部楼层
程序很混乱,编程思想有严重问题,可以看得出你对单片机怎么工作的还不透彻,仅仅是对输入方波计数处理,两种方法,一个是外部中断,让后变量自加1,一个是定时器选择计数功能,溢出会中断,看了你的程序,我滴天啊,一进来就延时,还有一个很大的问题,程序不能停!哪怕是while(1);做结尾都可以,在看看你的中断,说是外部中断,可你用的是定时中断,你啊,还需努力啊,磨刀不误砍柴工,别急
天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友

回复

使用道具 举报

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

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-26 14:08 , Processed in 0.242341 second(s), 26 queries , Gzip On, MemCache On.

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