找回密码
 立即注册
查看: 612|回复: 21

定时器问题?

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:17:23 | 显示全部楼层 |阅读模式



if (weight > g_w)        
      { P20 = 0 ;         }  //低电平输出
if(weight < g_w)

    P20=1; //高电平输出


            这样 程序可以正常工作                     
                                                                                                       

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:22:04 | 显示全部楼层
                                          if (weight > g_w)               
                                       { P20 = 0 ; }                 //这里可以工作   
                                 
                                 if(weight < g_w)
                                        Timer0_Init();
                                {  if(B_2ms == 1)        { B_2ms = 0;        zt++;}       
                                               if(zt==5)  P20=1;                                                      
                                   }
这样  P20=1始终不能动作。那位大佬。看一看什么问题?感觉定时器怎么也没有打开。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:23:10 | 显示全部楼层
void Timer0_Init(void)                                //2毫秒@24.000MHz
{
        AUXR |= 0x80;                                                                //定时器时钟1T模式
        TMOD &= 0xF0;                                                                //设置定时器模式
        TL0 = 0x80;                                                                        //设置定时初始值
        TH0 = 0x44;                                                                        //设置定时初始值
        TF0 = 0;                                                                                //清除TF0标志
        TR0 = 1;                                                                                //定时器0开始计数
        ET0 = 1;                                                                                //使能定时器0中断
        EA = 1;
      //IP=0X02;
        //IPH=0X02;
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:24:13 | 显示全部楼层
这个问题稿了几天了。哪位大佬帮忙分析下。32g12k128的U
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-9-24 21:27:47 | 显示全部楼层
你就说想实现什么功能吧,而且你的C语言语法不过关,代码比较乱,从下面方框最后的分号,这个if语句就结束了。

QQ20240924-212526.png
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:39:35 | 显示全部楼层
可以编过

点评

编译正确≠逻辑正确 你的初始化看样子是每次都在执行,这样是无法做到定时功能的。 定时器初始化执行一次就够了  详情 回复 发表于 2024-9-24 21:42
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-9-24 21:42:23 | 显示全部楼层

编译正确≠逻辑正确
你的初始化看样子是每次都在执行,这样是无法做到定时功能的。
定时器初始化执行一次就够了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:44:57 | 显示全部楼层
if (weight > g_w)                       
{ P20 = 0 ; }                 
  Timer0_Init();
if(weight < g_w)
   {if(B_2ms == 1) { B_2ms = 0;        zt++;}       
    if(zt==5)  P20=1; }
                                 // delayms(10);
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:45:32 | 显示全部楼层
DHBT*** 发表于 2024-9-24 21:44
if (weight > g_w)                       
{ P20 = 0 ; }                 
  Timer0_Init();

这个语法没有问题。还是不能动
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-04 11:33:11

12

主题

124

回帖

521

积分

高级会员

积分
521
发表于 2024-9-24 21:46:14 | 显示全部楼层
我刚刚放了delayms(10);在里面。动作了。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 08:46 , Processed in 0.240753 second(s), 105 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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