#include <REG52.H>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit PUL = P1^0; //脉冲输入端
sbit DIR = P1^1; //方向控制端
sbit ENBL = P1^2; //使能端
uint num;
/*xms*1ms毫秒延时函数*/
void delay(uint xms)
{ uint a,b;
香菇炖鸡肉
for(a=xms;a>0;a--)
形容速度快的句子 for(b=110;b>0;b--);
}
void init()
{
TMOD|= 0x01; //设置定时器0为工作方式1,16为定时器/计数器
伶俐的读音 TL0 = (65535-10)%256; //设置定时初值
TH0 = (65535-10)/256; //设置定时初值
ET0 = 1; //开启定时器0中断
TR0 = 1; //关闭定时器0
EA = 1;
}
常德战役void main()
{
init();
DIR = 1;
ENBL = 1;
while(1)
{if(num==12800)
{
DIR=~DIR;
新疆旅游必去十大景点 num=0;
TR0=0;
东毒西邪 delay(1000);
TR0=1;
}
}
}
/*定时器0中断服务函数 */
void T0_timer() interrupt 1
{
TL0 = (65535-10)%256; //设置定时初值
TH0 = (65535-10)/256; //设置定时初值
孔雀开屏鲈鱼// TL0 = 0xEE; //设置定时初值
// TH0 = 0xFF;
PUL = ~PUL;
num++;
}
使能端打开,电机处于工作状态
输出的脉冲数计数
//使能端关闭,电机处于停止工作状态
初始化定时器1
禁止所有中断
投影法
预加时间timer
256分频
启用定时器溢出中断
允许所有中断
常规中断服务
预加载timer
异或运算
计算方式65536-16000000/256/20HZ=62411