找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1283|回复: 4
收起左侧

做一个小车 实现避障 距离用数码管显示 pwm调速 程序贴完之后要么数码管显示乱...

[复制链接]
ID:872872 发表于 2021-5-23 14:33 | 显示全部楼层 |阅读模式
问题 做一个小车  实现避障 距离用数码管显示 pwm调速   程序贴完之后要么数码管显示乱的不行   要变速有问题 想用t1中断扫描动态数码管  和产生pwm信号
void zd3() interrupt 3                    {
TH1 =0xf8;      
TL1 =0x30;
Display();               
MA++;
if(MA < SpeedA)  
{   
ENA = 1;  
}  
else
  ENA = 0;  
if(MA == 10)
{   
  MA = 0;  
}  
MB++;         
if(MB < SpeedB)  
{   
ENB = 1;  
}  
else
  ENB = 0;  
if(MB == 10)
{   
  MB = 0;  
}

MC++;         
if(MC < SpeedC)  
{   
ENC = 1;  
}  
else
  ENC = 0;  
if(MC == 10)
{   
  MC = 0;  
}

MD++;         
if(MD < SpeedD)  
{   
END = 1;  
}  
else
  END = 0;  
if(MD == 10)
{   
  MD = 0;  
}
TR0 = 1;
}




回复

使用道具 举报

ID:844772 发表于 2021-5-23 22:49 | 显示全部楼层
中斷寫得夠長的啊,特別是把顯示函數都寫到中斷

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:883031 发表于 2021-5-24 16:06 | 显示全部楼层
你用的是定时中断1,如果在中断程序中处理逻辑的话,建议先停掉定时器1,TR1=0;处理完后,赋初值,再开定时器1,TR1=1;你程序中最后开的是定时器0,TR0=1。搞错了吧?前边也没有关定时器的指令。
回复

使用道具 举报

ID:883031 发表于 2021-5-24 16:06 | 显示全部楼层
不关的话,定时器1在不停的中断,形成嵌套了,
回复

使用道具 举报

ID:872872 发表于 2021-6-4 02:31 | 显示全部楼层
cn_zhx 发表于 2021-5-24 16:06
不关的话,定时器1在不停的中断,形成嵌套了,

懂了懂了   搞定了 感谢大佬 大佬万岁
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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