共3条
1/1 1 跳转至页
天祥电子技术协助电子大赛编写正确MMC SPI驱动步进电机程序
天祥电子技术协助电子大赛选手编写正确MMC-1 SPI驱动步进电机程序
www.txmcu.com
硬件连接注意事项:
1. 第1、29、30脚必须通过10K电阻接地。
2. 第8脚必须接地。
3. 11、12或27、18任意接一组电源就可以。
4. 驱动步进电机的L298的相线必须接正确,否则电机肯定不转
5. 其它没说明的引脚不用管。
6. 在连接、测试时千万不要用手去接触MMC芯片的任何引脚,否则输出不了信号。
7. 一旦过流保护被启动,芯片必须重新上电后才可恢复正常工作,如果用手去碰MMC的第1、29、30脚则过流保护立即启动。
8. 强烈建议先不要直接接L298,先用示波器查看MMC信号输出的波形,然后再接L298,如果波形都没,那什么也出不来。
#include <reg52.h>
sbit SPI_DI =P0^1; //MMC数据输入
sbit SPI_DO =P0^0;//MMC数据输出,可不接
sbit SPI_SCL=P0^2;//时钟线
void delay(unsigned int time)
{
while(time--);
}
void Write_Byte(unsigned char value)
//**********************************************************
******************
{
unsigned char i;
for (i=0;i<8;i++)
{
if (((value>>(7-i))&0x01)==0x01)
SPI_DI=1;
else SPI_DI=0;
SPI_SCL=0;
delay(5); //必须要加延时,否则会因为操作太快而不响应。
SPI_SCL=1;
delay(5); //必须要加延时,否则会因为操作太快而不响应。
}
}
//以下为读数据函数,不用读MMC,所以不用管,供参考用
unsigned char Read_Byte()
{
unsigned char temp=0;
unsigned char i;
for (i=0;i<8;i++)
{
SPI_DO=1;
SPI_SCL=0;
delay(5);
temp=(temp<<1)+(unsigned char)SPI_DO;
SPI_SCL=1;
delay(5);
}
return (temp);
}
void main()
{
delay(50);//首次上电先延时一会儿
Write_Byte(0x50);//设置第一通道配置寄存器
Write_Byte(0x80);//配置第一通道
/*
一定要先设计配置字,再设计频率字,否则不出来,不要看管方资料。
*/
delay(5);
Write_Byte(0x51);// 设置第一通道频率寄存器
Write_Byte(49); //送入频率字,49为20hz.
/*
频率字的计算方法如下,不要看管方给的资料,否则计算错误:
设你想要的频率为F,频率字为FC则用以下公式计算
F*4=4000/(FC+1)
如:我想要20Hz,则20*4=4000/(FC+1)
求得:FC=49,
*/
Write_Byte(0x54);//设置第二通道
Write_Byte(0x80);
delay(5);
Write_Byte(0x55);
Write_Byte(24);
/* 第三通道固定为1Khz,怎么设置都改不过来,大家不要用第三通道了,就用第一二通道就足够了。*/
delay(50);
while(1);
}
关键词: 天祥 电子技术 协助 电子 大赛 编写 正确 驱动
共3条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |