好了,现在得开始更新了,已经落后一大截了,趁最近有时间得赶回来。
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 MCU DIY进程帖(步进电机)
 
					
				关键词: zhuludiqing 进程 步进 电机
 
					
				 
					
				 
					
				 
					
				#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--);
}
 
					
				刚才有事,写的有点仓促,现在补一个
#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);
    } 
 }
}
 
					
				#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;
}
}
}
头文件在下面一
——回复可见内容——

 
					
				 
					
				#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);
     }
    }
   }
} 
头文件在下面
——回复可见内容——
 
					
				只要日夜不停的干活,就能永葆青春?


 
										回复
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |


 
			
			
			
						
			




 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

