QQ登录

只需一步,快速开始

[DIY咨询] 学到定时器和中断系统后又出51

  [复制链接]
liwenbao 发表于 2016-2-24 21:43 | 显示全部楼层 |阅读模式 来自: 天津

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?加入牧夫(请注明天文爱好者,否则无法通过审核,请勿使用gmail/outlook/aol/icloud邮箱注册)

×
学到定时器 和   中断系统了   于是乎 又编了 一个   能调速的啊大神给看看 这样   能行不。4个中断全用上了!赤纬 正反转只能直接控制驱动板了!还有导星赤经  赤纬同时需要调整  怎么弄好像弄不了啊?只能先调整赤经在调整赤纬了!  
#include <reg52.h>
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit DIR = P1^3;
unsigned int a;
unsigned int d;
void delay(int z)
{
   unsigned int b,c;
   for(b=z;b>0;b--)
   for(c=20;c>0;c--);                                                                          
}

void main()
{
        TMOD = 0X11; //定时器0,1。16位定时器
        TH0 = 0X45;
        TL0 = 0X96;         //装载初值17814.
        TR0 = 1;        //启动定时器0
        ET0 = 1;        //启动定时器0中断
        


        TH1 = 0X45;
        TL1 = 0X96;         //装载初值17814.
        TR1 = 1;        //启动定时器1
        ET1 = 1;        //启动定时器1中断

    IT0 = 0;  //低电平触发
    EX0 = 1;  //外部中断0允许
    IT1 = 0;  //低电平触发
    EX1 = 1;  //外部中断1允许
        EA = 1;                //开总中断
        while(1);        // 等待中断
        
}
void waizhong0() interrupt 0 //开外部中断0加速
{
LED1 = ~LED1;
delay(5);
LED1 =~LED1;
}
void waizhong1() interrupt 2 //开外部中断1减速
{
delay(1000);
LED1 =~LED1;
}                 

void timer0() interrupt 1         //定时器0中断服务程序
{
LED1 = ~LED1;                                 //电机脉冲
}
void timer1() interrupt 3         //定时器1中断服务程序
{
LED2 = ~LED2;                                 //电机脉冲
}
xiaoguilink 发表于 2016-2-24 22:22 | 显示全部楼层 来自: 广东
学得挺快嘛,加油啊

点评

嘿嘿 没事的时候 一边学一边调试着玩 还挺好玩!  详情 回复 发表于 2016-2-24 22:25
回复 顶~ 砸~

使用道具 举报

 楼主| liwenbao 发表于 2016-2-24 22:25 | 显示全部楼层 来自: 天津
xiaoguilink 发表于 2016-2-24 22:22
学得挺快嘛,加油啊

嘿嘿 没事的时候 一边学一边调试着玩  还挺好玩!
回复 顶~ 砸~

使用道具 举报

optical 发表于 2016-2-24 22:30 | 显示全部楼层 来自: 河南郑州
本帖最后由 optical 于 2016-2-24 22:36 编辑

不用软件延时加减速,直接在中断里改变定时器的装载值速度就变了,还占用CPU少,
回复 顶~ 砸~

使用道具 举报

xiaoguilink 发表于 2016-2-24 22:32 | 显示全部楼层 来自: 广东
印象中在中断程序里面要给定时器重新赋值
回复 顶~ 1 砸~ 0

使用道具 举报

optical 发表于 2016-2-24 22:40 | 显示全部楼层 来自: 河南郑州
另外楼主需要的话,我去年自己做的有AVR主控的带导星和USB转232的电跟控制器还有几套,主板是4层PCB,驱动32细分。原理图源代码都有你可以看我以前发过的帖子,目前只有跟踪功能,再多的功能没时间写了,你可以继续在这个基础上发挥。

点评

本人 对于编程是个菜啊!!刚开始自学51 这 AVR 不懂啊  详情 回复 发表于 2016-2-25 08:30
回复 顶~ 砸~

使用道具 举报

 楼主| liwenbao 发表于 2016-2-25 08:30 | 显示全部楼层 来自: 天津
optical 发表于 2016-2-24 22:40
另外楼主需要的话,我去年自己做的有AVR主控的带导星和USB转232的电跟控制器还有几套,主板是4层PCB,驱动3 ...

本人 对于编程是个菜啊!!刚开始自学51  这 AVR   不懂啊  
回复 顶~ 砸~

使用道具 举报

本版积分规则

APP下載|手机版|爱牧夫天文淘宝店|牧夫天文网 ( 公安备案号21021102000967 )|网站地图|辽ICP备19018387号

GMT+8, 2024-10-2 06:49 , Processed in 0.119886 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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