5461|10

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

C51计数器的使用问题 [复制链接]

本人最近在学习单片机,用C写了个单片机计数器的小程序,如下:
#include < reg52.h >
sbit P1_1=P1^1;
void main()
{
TMOD=0x05;
P1_1=1;
while(1)
{
TR0=1;
TH0=0xff;
TL0=0xfb;
if(TF0)
P1_1=!P1_1;
TF0=0;
TR0=0;
}
}
本意是想当记数到5时让P0_1口翻转。程序在Keil里debug正常,但却不能在Multisim里模拟出来。请高手帮忙。

最新回复

TMOD=0x05;这个有问题  详情 回复 发表于 2009-9-7 10:15
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不知道怎样将电路图上传上来。
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
貌似程序没有什么问题
 
 
 

回复

88

帖子

0

TA的资源

一粒金砂(高级)

4
 
在Multisim里8052的T0口我接了个Agilent的波形发生器,频率为0.5hz,电压为4.5v,在P1_1口接了个示波器,没观察到电压有翻转。
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
while(1)  // 你这是个循环
{
TR0=1;    // 启动T0
TH0=0xff;   // 置初值.....实际上你的循环速度要远高于T0计数的速度, T0的计数值一直都是0XFFFB
TL0=0xfb;   // ...
if(TF0)     // 检测 TF0为1则翻转 P1_1
P1_1=!P1_1; // 这一行其实永远不会被执行
TF0=0;      // 清除 TF0
TR0=0;      // 停止T0运行
}
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
那有什么解决方法吗?是不是一定要用到中断啊!
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(中级)

7
 
// 改一下....不过时间并不精确...
void main()
{
  TMOD=0x05;
  P1_1=1;
  while(1)
  {
    if(TF0)
    {
       P1_1=!P1_1;
       TF0=0;
       TR0=0;
       TH0=0xff;
       TL0=0xfb;
       TR0=1;
    }
  }
}
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

8
 
void main()
{
  TMOD=0x05;
  TH0=0xff; // 刚才不小心剪跑了.....
  TL0=0xfb;
  TR0=1;
  P1_1=1;
  while(1)
  {
    if(TF0)
    {
      P1_1=!P1_1;
      TF0=0;
      TR0=0;
      TH0=0xff;
      TL0=0xfb;
      TR0=1;
    }
  }
}
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

9
 
学习了,还不会用Multisim
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

10
 
谢谢Great_Bug,已经搞定了,我把代码改成如下就可以实现了,不过你的这段代码我还没试过。
while(1)
{
TR0=1;
TH0=0xff;
TL0=0xfb;
while(1)
{
if(TF0)
{
P1_1=!P1_1;
break;
}
}
TF0=0;
TR0=0;
}
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

11
 
TMOD=0x05;这个有问题
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表