📄 h21.c
字号:
// DC motor
// C for MCS51
#include <reg52.h>
#define mode 0x82
xdata unsigned char CTL _at_ 0x8003;
xdata unsigned char status _at_ 0x8001;
xdata unsigned char CS0832 _at_ 0x9000;
unsigned int count;
#define DC_P 1
void delay()
{
unsigned int ddd;
ddd = 50000; // 在6MHz约延时1秒
while(ddd--);
}
unsigned int read()
{
TMOD = 1; // 16位计时
TR0 = 0;
TH0 = 0;
TL0 = 0;
while(!(status & DC_P)); // 等待低电平完
while(status & DC_P); // 等待高电平完
TR0 = 1;
while(!(status & DC_P)); // 等待低电平完
while(status & DC_P); // 等待高电平完
TR0 = 0;
return (TH0*0x100+TL0);
}
void main()
{
CTL = mode;
CS0832 = 0xff; // 产生电压控制电机
delay(); // 等待电机运转稳定
count = read(); // 读取时间
CS0832 = 0xc0; // 产生电压控制电机
delay(); // 等待电机运转稳定
count = read(); // 读取时间
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -