| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1266 人关注过本帖
标题:有关51定时器使用的问题
只看楼主 加入收藏
dfxu123
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-4-12
收藏
 问题点数:0 回复次数:3 
有关51定时器使用的问题
#include<reg52.h>
#include<absacc.h>

#define  VALUE  65512        //(65536-24)设定初值.因为走50cm,要产生23个脉冲,因为低电平计数有效,所以顾产生24个时再溢出。
unsigned char jishu_count;   //此为外部脉冲接口,51的T1计数器从p3.5接入?
int t;

    sbit P35 = P3^5;//外部脉冲输入
void timer_init()
{
    TMOD=0xE2;            //设置模式为1110 0010,开定时器0和计数器1//
    TCON=0x00;                                                

    TH1=VALUE;      //计数24后溢出//
    TL1=TH1;              //预置计数器为24
    EA=1;               //全中断允许//
    ET1=1;                //允许计数器中断
    TR1=1;              //启动计数器,等待外部高脉冲到来,启动计数器//
    ET0=1;                 //定时器开中断
    TR0=1;                  //启动定时器//

}

void car_ahead()
{

        PB5=0;
        PB4=1;
        PB3=0;
        PB2=1;     
}


void car_left()
{
        PB5=0;
        PB4=1;
        PB3=1;
        PB2=1;    //原地的左转不行,因为另一轮反转。圆心转可以,但是实际情况时,直线调整时间长。故选用左轮自由,右轮正转。//
                //由于,电机现在为全速状态,所以使用自由时,很容易冲出,所以,仍改回圆心式转弯,既右边刹车。左边正转

}

///--计数器1中断程序--///
void timer1 ()interrupt 0     //不是0,看资料。
{
    TF1=0;                    //要从新置回0,否则中断不知道。
    P35 = jishu_count;    
    if(jishu_count!=0)
    {
            t++;
        if(t<=24)    
         car_left();
    }
    else
        car_ahead;
 
}

void main()

{
        timer_init(); //初始化定时器及计数器
        
    while(1)
    {   
        car_ahead();

    }

}


以上是我写的有外部脉冲输入单片机,计数24后产生中断的程序,无效果,不知道问题出在哪些方面,烦请指教。。。
搜索更多相关主题的帖子: 定时器 
2009-08-15 09:40
飞翔的猪
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-8-18
收藏
得分:0 
新手来顶一下
2010-08-18 16:29
xiaopengwan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-11-16
收藏
得分:0 
TF1是自动置0的, TMOD=0xE2;            //设置模式为1110 0010,开定时器0和计数器1//
                 TCON=0x00;    ----    有误
2010-11-18 19:37
快速回复:有关51定时器使用的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017118 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved