专栏中心

EEPW首页 > 专栏 > 步进电动机程序

步进电动机程序

发布人:mayer 时间:2009-08-04 来源:工程师 发布文章
步进电动机程序

#include <c8051F020.h>//1s25000 个脉冲,频率输出方式(行走1 米)
#define SYSCLK 2000000
#define Motol_Run PCA0CN=0x40 // :允许PCA0 计数器/定时器
#define Motol_stop PCA0CN=0x00
//sbit Motol_dir=P3^0;
void PORT_Init(void)
{
//P0MDOUT&=0xfe;
P0MDOUT=0x00; // 端口引脚的输出方式为漏极开路
XBR0=0x08; // CEX0 连到端口引脚。
XBR2|=0x40;
}
void SYSCLK_Init(void)
{
// unsigned char i;
WDTCN=0xde;
WDTCN=0xad; //关看门狗,默认使能默认内部时钟2M
/* OSCXCN="0x67"; //
for(i=0;i<255;i++);
while(!(OSCXCN&0x80));
OSCICN=0x88; //22.1184Mhz */
}
void PCA_Init(unsigned char fre)
{
PCA0CN=0x00;
PCA0MD=0x82; //系统时钟的4 分频,空闲方式时,PCA0 停止工作
PCA0CPM0&=0xc7; //16 位PWM 11000111
PCA0CPM0|=0x4e; //频率输出方式01001110 x100111x
PCA0CPL0=fre;
PCA0CPH0=fre;
PCA0L=0x00;
//PCA0CN|=0x40;
}
main()
{
unsigned int i="0";
SYSCLK_Init();
PORT_Init();
PCA_Init(SYSCLK/4/2/2000);
Motol_Run;
while(1)
{
// Motol_dir=0;
if(CCF0==1)
{i++;
CCF0=0;
}
if(i==200)
Motol_stop;
}
}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

小信号二极管:从器件结构到典型应用的系统解析

EDA/PCB 2025-11-19

功率二极管与整流:从器件到半波整流电路的完整解析

EDA/PCB 2025-11-19

自制PIC实验板.rar

“智行万象 生态共生” 第三届英飞凌汽车创新峰会举行

自制AVRISP下载型烧录器.rar

2026年广州国际智能制造技术与装备展览会,大湾区智能制造年度盛

2025-11-19

了解低功耗蓝牙协议栈的架构

红色飓风FPGA普及行动 第四讲:Verilog HDL中的组合逻辑设计方法

视频 2010-01-21

Solidigm,为AI打造高性能、高能效的存储底座

为什么越小的去耦电容越靠近电源管脚放置?

无人机是用四旋翼好还是六旋翼好

quartusII 7.2 sp1全整合licen se

quartusII 7.2 sp1全整合licen se

红色飓风FPGA普及行动 第五讲:ModelSim软件使用方法和技巧

视频 2010-01-21

内阻很小的MOS管为什么会发热?

网口为什么需要有一个变压器?

quartusII 7.2 sp1全整合licen se

更多 培训课堂
更多 焦点
更多 视频

技术专区