资源简介
嵌入式课设做的设计,用的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个文件信息
- 上一篇:智能驾驶进程与毫米波雷达技术动态
- 下一篇:MicroHard P900 应用手册
相关资源
- 基于stm32语音识别与RFID技术智能分类
- stm32+mpu6050+QMC5883L
- STM32温控风扇
- STM32F413原理图
- Si7021温湿度STM32F1读取程序
- 基于stm32的电子密码锁
- 基于stm32的电子秤
- 现代控制理论——俞立(课件
- STM32 Stop模式低功耗及唤醒RTC+中断
- NI,labview的CRIO控制手册
- 基于单片机的灯光自动控制系统
- 中科院自动化所自动控制理论考博真
- 毕设题目:嵌入式数字示波器设计
- 西门子DDC控制调试必备
- ES8266 stm32
- 编码器接口模式程序 STM32F103
- SMT32F4函数固件库手册——新库
- STM32关于GPIO的控制程序
- STM32贪吃蛇游戏源代码
- STM32F103 读取SD卡中的图片TFT彩屏显示
-
基于Tli
nk云智能检测系统 - STM32频率计
- CanFestival移植至战舰STM32F1开发板
- 三电平逆变器的电机控制3M的经典硕士
- ADS1256资料大集合
- STM32F103的DS1820温度测量工程代码包+
- STM32F4系列 不同定时器的PWM输出多达
- STM32,超声波测距模块HC_SR04,1602显示
- STM32平衡车代码
- 开关磁阻电动机驱动系统建模及其控
评论
共有 条评论