標(biāo)題: 51單片機(jī)實(shí)現(xiàn)對(duì)電機(jī)的調(diào)速 [打印本頁(yè)]

作者: fuyunzaihefang    時(shí)間: 2017-6-1 16:45
標(biāo)題: 51單片機(jī)實(shí)現(xiàn)對(duì)電機(jī)的調(diào)速
#i#include<reg52.h>
#define uint unsigned int /*宏定義*/
#define uchar unsigned char /*宏定義*/
sbit P2_0=P2^0;
sbit S1=P0^0;
sbit S2=P0^1;
sbit S3=P0^2;
bdata flag=0x20^0;
uint nmuber0,nmuber1,count0,count1;
uint th0_h,th0_l,th1_h,th1_l;
void delay(uint z);
void time_initial();
void main()
{
time_initial();
while(1);
}
void time_initial() //定時(shí)器初始化
{
  TMOD=0X11;
  TH0=0x0D8;//5ms
  TL0=0x0F0;//5ms
  TH1=0x0D8;//5ms
  TL1=0x0F0;//5ms
  TH0=0xf0; //2ms
  TL0=0x60; //2ms
  TH0=0xfc; //0.5ms
  TL0=0x18; //0.5ms
  TH0=0x0F8; // 1ms
  TL0=0x30; // 1ms
  TH1=0x0F8; // 1ms
  TL1=0x30; // 1ms
  TH0=0x0FF;// 0.1ms
  TL0=0x38; // 0.1ms
  TH1=0x0FF; // 0.1ms
  TL1=0x38; // 0.1ms
  ET0=1; //定時(shí)器0的中斷控制位
  ET1=1; //定時(shí)器1的中斷控制位
  EX0=1; //外部的中斷0控制位
  IT0=1; //外部中斷0為下降沿觸發(fā)方式
  ES=1;
  REN=1;
  TR0=1;
  EA=1;
  count0=1;
  count1=1;
}
void Time0() interrupt 1 //定時(shí)器0的中斷函數(shù)?
{
  TH0=0xd8;//5ms
  TL0=0x0f0;//5ms
  nmuber0++;
  if(nmuber0==count0)
{
  nmuber0=0;
  TH1=0xd8;//5ms
  TL1=0xf0;//5ms
  P2_0=1;
  TR1=1;
  TR0=0;
  }
}
void Time1() interrupt 3 //定時(shí)器0的中斷函數(shù)?
{
  TH1=0x0D8;//5ms
  TL1=0x0F0;//5ms
  nmuber1++;
  if(nmuber1==count1)
{
  nmuber1=0;
  P2_0=0;
  TR1=0;
  TR0=1;
  }
}
void int0() interrupt 0// 外部的中斷函數(shù)
{
  P2_0=0;
  TH0=0xd8;//5ms
  TL0=0xf0;//5ms
  delay(15);
  TR0=1;
}
void delay(uint z)
{
  uint x,y;
  for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}


作者: qjyjack612510    時(shí)間: 2017-6-5 14:02
正在學(xué),先收下,謝謝樓主分享。!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1