標(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 |