资源简介

嵌入式课设做的设计,用的STM32F103ZET6,使用按键控制步进电机状态,包括加速减速停止正反转等,带LCD显示。

资源截图

代码片段和文件信息

#include “zihanshu.h“
#include “delay.h“
u8 Disp[]=“Speed:“;
u8 Disp2[]={0x300x310x320x330x340x350x360x370x380x39};//0-9的地址码
u8 Disp3[]=“foreward“;//正转的英文????
u8 Disp4[]=“reversal“;//反转的英文????
u8 Disp5[]=“ static “;//静止
u8 Disp6[]=“XZIT 15DX2“;
int keyflag;
int keyflag2;
int mn;
int i=18;

/*对io口进行配置*/
void shuchu_Init(void)
{
/*使能时钟*/
RCC->APB2ENR|=1<<3;         
RCC->APB2ENR|=1<<6;    
RCC->APB2ENR|=1<<5; 
  RCC->APB2ENR|=1<<7; 
/*设置端口状态*/
GPIOB->CRL&=0XFF0FFFFF; //清除其他位并保证要设置的位不变
GPIOB->CRL|=0X00300000;//PB.5 推挽输出     
    GPIOB->ODR=0x0;      //PB.5 输出低

GPIOB->CRH&=0XFFFFFFF0;    
GPIOB->CRH|=0X00000003;//PB.8 推挽输出 
GPIOB->ODR=0x0;    //输出为低

GPIOE->CRL&=0XFF000000;
GPIOE->CRL|=0X00388888;//PE.5推挽输出PE1234输入
GPIOE->ODR=0x1f;      //PE.5输出低 1234输入高

GPIOD->CRL&=0X00000000; 
GPIOD->CRL|=0X11111111;  //PD推挽输出最大频率10mhz   
    GPIOD->ODR=0x00; 

GPIOF->CRL&=0XFFFF000F; 
GPIOF->CRL|=0X00003330;   //PF推挽输出  
    GPIOF->ODR=0xff;     
}

/*向LCD写入一个字节的命令*/
void LcdWriteCom(u8 com)   //写入命令
{
LCD1602_E = 0;     //使能
LCD1602_RS = 0;    //选择发送命令
LCD1602_RW = 0;    //选择写入

LCD1602_DATAPINS = com; 

delay_ms(1);

LCD1602_E = 1;           //写入时序
delay_ms(5);   //保持时间
LCD1602_E = 0;
}



/*向LCD写入一个字节的数据*/    
void LcdWriteData(u8 dat) //写入数据
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 1; //选择输入数据
LCD1602_RW = 0; //选择写入

LCD1602_DATAPINS = dat; //写入数据
delay_ms(1);

LCD1602_E = 1;   //写入时序
delay_ms(5);  //保持时间
LCD1602_E = 0;
}
   
/*显示speedis的部分  初始化有清屏*/
void LcdInit()   
{
  LcdWriteCom(0x38);  //开显示
LcdWriteCom(0x0c);  //开显示不显示光标
LcdWriteCom(0x06);  //写一个指针加1
LcdWriteCom(0x01);  //清屏
LcdWriteCom(0x80);  //设置数据指针起点 1 0000000
}

/*显示速度的部分   初始化不能清屏*/
void LcdInit2()   
{
  LcdWriteCom(0x38);  //开显示
LcdWriteCom(0x0c);  //开显示不显示光标
LcdWriteCom(0x06);  //写一个指针加1
//LcdWriteCom(0x01);  //清屏
LcdWriteCom(0x86);  //设置数据指针起点 1 0000110
}

/*显示正反转和静止的部分 初始化不能清屏*/
void LcdInit3()   
{
  LcdWriteCom(0x38);  //开显示
LcdWriteCom(0x0c);  //开显示不显示光标
LcdWriteCom(0x06);  //写一个指针加1
//LcdWriteCom(0x01);  //不清屏
LcdWriteCom(0x88);  //设置数据指针起点
}
void LcdInit4()   
{
  LcdWriteCom(0x38);  //开显示
LcdWriteCom(0x0c);  //开显示不显示光标
LcdWriteCom(0x06);  //写一个指针加1
//LcdWriteCom(0x01);  //不清屏
LcdWriteCom(0xc3);  //设置数据指针起点
}

/*****************************************************************/
/*显示speed is*/
void xianshi()
{ u8 i;
u8 k=6;
LcdInit();       //初始化对应
for(i=0;i {
LcdWriteData(Disp[i]);
}
}

/*********************************************************************/
/*****************显示数字  显示速度用***********************************/
void xianshi2(u8 n)
{
LcdInit2();
LcdWriteData(n); //发送数字的码
}

/******显示字符动态显示状态*********/
void xianshi3(u8 m[])
{
u8 i;

LcdInit3();     //对应的初始化,不清屏否则speedis被清除
for(i=0;i<8;i++)
{
LcdWriteData(m[i]);
}
}

void

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-14 21:23  ARM课设\
     目录           0  2018-07-11 10:32  ARM课设\OBJ\
     文件      224879  2018-07-11 10:32  ARM课设\OBJ\delay.crf
     文件         312  2018-07-11 10:32  ARM课设\OBJ\delay.d
     文件      238940  2018-07-11 10:32  ARM课设\OBJ\delay.o
     文件      236636  2018-07-11 10:32  ARM课设\OBJ\dianji.axf
     文件        1807  2018-07-11 10:32  ARM课设\OBJ\dianji.build_log.htm
     文件      225543  2018-07-11 10:32  ARM课设\OBJ\dianji.crf
     文件         349  2018-07-11 10:32  ARM课设\OBJ\dianji.d
     文件        7161  2018-07-11 10:32  ARM课设\OBJ\dianji.hex
     文件       47968  2018-07-11 10:32  ARM课设\OBJ\dianji.htm
     文件         362  2018-07-11 10:32  ARM课设\OBJ\dianji.lnp
     文件       66638  2018-07-11 10:32  ARM课设\OBJ\dianji.map
     文件      238036  2018-07-11 10:32  ARM课设\OBJ\dianji.o
     文件         479  2018-07-08 14:51  ARM课设\OBJ\dianji.sct
     文件        3177  2018-07-11 10:32  ARM课设\OBJ\dianji_Target 1.dep
     文件          55  2018-07-11 10:32  ARM课设\OBJ\startup_stm32f10x_hd.d
     文件       49300  2018-07-11 10:32  ARM课设\OBJ\startup_stm32f10x_hd.lst
     文件        6712  2018-07-11 10:32  ARM课设\OBJ\startup_stm32f10x_hd.o
     文件      226200  2018-07-11 10:32  ARM课设\OBJ\sys.crf
     文件         255  2018-07-11 10:32  ARM课设\OBJ\sys.d
     文件      251804  2018-07-11 10:32  ARM课设\OBJ\sys.o
     文件      228347  2018-07-11 10:32  ARM课设\OBJ\zihanshu.crf
     文件         383  2018-07-11 10:32  ARM课设\OBJ\zihanshu.d
     文件      257856  2018-07-11 10:32  ARM课设\OBJ\zihanshu.o
     目录           0  2018-07-08 14:37  ARM课设\SYSTEM\
     目录           0  2018-07-08 14:37  ARM课设\SYSTEM\delay\
     文件        5968  2018-06-30 20:02  ARM课设\SYSTEM\delay\delay.c
     文件        1995  2015-05-19 13:12  ARM课设\SYSTEM\delay\delay.h
     目录           0  2018-07-08 14:37  ARM课设\SYSTEM\sys\
     文件       85714  2011-02-09 14:59  ARM课设\SYSTEM\sys\core_cm3.h
............此处省略18个文件信息

评论

共有 条评论