这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » zhuludiqing MCU DIY进程帖(步进电机)

共15条 1/2 1 2 跳转至

zhuludiqing MCU DIY进程帖(步进电机)

助工
2011-11-08 16:59:24     打赏

好了,现在得开始更新了,已经落后一大截了,趁最近有时间得赶回来。
1、板子靓照..........................................................................6楼
2、简单的流水灯..................................................................7楼
3、数码管显示加定时器秒表...............................................9楼(2011/12/13更新)
4、lcd显示,定时器实现时钟............................................10楼(2011/12/15更新)
5、DS18B20的LED显示...................................................14楼(2011/12/18更新)
6、DS1302时钟,星期自动转换,闰年识别(视频).......15、16楼(2011/12/23更新)
7、定时器模拟PWM电机控制(温控风扇).......................17楼(2011/12/27更新)
8、步进电机资料....................................................................18楼




关键词: zhuludiqing     进程     步进     电机    

助工
2011-11-26 17:35:57     打赏
2楼

今天收到板子了,下一步该焊接了,不过最近考试较多,可能更新会有些慢!


助工
2011-12-07 22:52:42     打赏
3楼
明天后天考试,等考完了就该更新进程了!

助工
2011-12-12 13:42:51     打赏
4楼
传个靓照先

昨天晚上焊好之后,晶振不能起振,估计是焊接温度过高,导致晶振损坏,现在换了个晶振,工作正常。

助工
2011-12-12 14:15:51     打赏
5楼
流水灯小程序
#include<reg52.h>
#include<intrins.h>
void Delay(unsigned int);
void main() 
{
  int i=0;
  unsigned char temp=0x01;
  while(1)
 {
      
          for(i=0;i<7;i++)
    {
     temp=_crol_(temp,1);
        P1=temp;
        Delay(300);
    }
 }
}
延迟程序我给写到reg52.h里了。像这种短而常用的,我一般喜欢写到reg52.h里。像显示键盘扫描等大一点的程序,一般写自己建的头文件里,方便调用改错。
这个是写在reg52.h里的延迟程序
void Delay(unsigned int z)
{
    unsigned int  x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

助工
2011-12-12 23:05:00     打赏
6楼

刚才有事,写的有点仓促,现在补一个
#include<reg52.h>
#include<intrins.h>
void main() 
{
  int i=0;
  unsigned char temp;
  while(1)
 {
       temp=0xfe;
          for(i=0;i<7;i++)
    {
     temp=_crol_(temp,1);//循环左移1位
        P1=temp;   
        Delay(300);   //适当延迟(晶振频率(24M、Delay(1)=0.5ms)
    }
       temp=0xfc;
    for(i=0;i<7;i++)
    {
       temp=_crol_(temp,1);
        P1=temp;
        Delay(300);
    }
    temp=0x08;
    for(i=0;i<7;i++)
    {
       temp=_crol_(temp,1);
        P1=temp;
        Delay(300);
    } 

 }
}


助工
2011-12-13 16:04:40     打赏
7楼
#include<reg52.h>
#include"DISPLAY.h"
#include"INIT.h"
uchar flag;
char sec=0;
void main()

 init();
 while(1)
 {
     Display_show(sec);
     TR0=1; 
 }
 
}
void time0() interrupt 1
{
 TH0=(65536-20000)/256;//10us延迟,晶振24M
 TL0=(65536-20000)%256;
 flag++;
 if(flag==100)//1s延迟
 {
  flag=0;
  Display_show(sec);
  flag++;
  if(sec==60)
  {
   sec=0;
  }
 }
}
头文件在下面一
——回复可见内容——


助工
2011-12-15 23:50:12     打赏
8楼

秒调节:

分调节:

时调节:


助工
2011-12-15 23:55:14     打赏
9楼

#include <reg52.h>
#include"LCD.h"
#include"INIT.h"
sbit s2=P3^1;
sbit s3=P3^2;
uchar flag,sun;
char hour,minu,sec;
void keyscan();
void write_time(uchar add,uchar time)//写时间函数
{
 uchar ge,shi;
 write_com(0x80+0x40+add);
 shi=time/10;
 ge=time%10;
 write_date(0x30+shi);
 write_date(0x30+ge);

}
void main()

 LCDinit();
 init();
 TR0=1;
 while(1)
 {
  keyscan();
 }
 
}
void time0() interrupt 1
{
 TH0=(65536-20000)/256;
 TL0=(65536-20000)%256;
    flag++;
 if(flag==100)
 {
  flag=0;
  sec++;
  if(sec==60)
  {
   sec=0;
   minu++;
   if(minu==60)
   {
    minu=0;
    hour++;
    if(hour==24)
    {
     hour=0;
    }
    write_time(3,hour)  ;
   }
   write_time(6,minu) ;
  }    
  write_time(9,sec) ;
 }
}
 void keyscan()
{
  if(s1==0)
  {
   Delay(5);
   if(s1==0)
   {
    while(!s1);
    TR0=0;
    sun++;
    if(sun==4)
    {
     sun=0;
     TR0=1;
    write_com(0x0c);
    }
   }
  }
   if(sun!=0)
   {
    if(sun==1)
    {
     write_com(0x80+0x40+10);
     write_com(0x0f);
     if(s2==0)
     Delay(5);
     if(s2==0)
     {
      while(!s2);
       sec++;
       if(sec==60)
       sec=0;
       write_time(9,sec);
     }
     if(s3==0)
     Delay(5);
     if(s3==0)
     {
      while(!s3);
      sec--;
      if(sec==-1)
      sec=59;
      write_time(9,sec);
     }
    }
    if(sun==2)
    {
     write_com(0x80+0x40+7);
     if(s2==0)
     Delay(5);
     if(s2==0)
     {
       while(!s2);
       minu++;
       if(minu==60)
       minu=0;
        write_time(6,minu);
     }
     if(s3==0)
     Delay(5);
     if(s3==0)
     {
      while(!s3);
      minu--;
      if(minu==-1)
      minu=59;
        write_time(6,minu);
     }
    }
    if(sun==3)
    {
     write_com(0x80+0x40+4);
     if(s2==0)
     Delay(5);
     if(s2==0)
     {
       while(!s2);
       hour++;
       if(hour==24)
       hour=0;
       write_time(3,hour);
     }
     if(s3==0)
     Delay(5);
     if(s3==0)
     {
      while(!s3);
      hour--;
      if(hour==-1)
      hour=23;
      write_time(3,hour);
     }
    }
   }


头文件在下面
——回复可见内容——


助工
2011-12-17 11:53:18     打赏
10楼
寒风中,彻夜通明的路灯下面,那一小撮树叶依然坚挺着绿色。是不是在想我们昭示,
只要日夜不停的干活,就能永葆青春?



共15条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]