|
0.png (34.94 KB, 下載次數: 141)
下載附件
2016-4-14 19:13 上傳
主程序:
- # include "stm32f10x.h"
- # include "stm32f10x_tim.h"
- #include <stm32f10x_gpio.h>
- #include <key.h>
- #include <delay.h>
- #include <TIM.h>
- #include <5110.h>
- #include <dht11.h>
- #include <SYS.h>
- #include <led.h>
- #include <yab.h>
- //初始化IO端口
- void GPIO_Configuart(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|
- GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|
- GPIO_Pin_3|GPIO_Pin_10|GPIO_Pin_11;
- GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
- GPIO_Init(GPIOB,&GPIO_InitStructure);
-
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_15;
- GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
- GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
- GPIO_Init(GPIOA,&GPIO_InitStructure);
- }
- //復位和系統時鐘控制
- void RCC_Configuare(void)
- {
- SystemInit();
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//開端口A時鐘
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//開端口B時鐘
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG,ENABLE);//使能PG端口時鐘
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//使能或者失能 APB1 外設時鐘
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);//使能或者失能 APB1 外設時鐘
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);//使能或者失能 APB1 外設時鐘
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
-
- }
- void chuanganqi(void)
- {
- u8 temp;
- u8 humi;
- while(DHT11_Init()) //DHT11初始化
- {
- led(1);
- LCD_WriteString_en(0,0,"----------");
- LCD_WriteString_en(0,1,"----------");
- }
- led(2);
- LCD_Clear();
- delay_ms(1000);
- LCD_WriteString_en(0,0,"temp:");
- LCD_WriteString_en(1,1,"humi:");
- LCD_WriteString_en(43,0,"*");
- LCD_WriteString_en(43,1,"%");
- DHT11_Read_Data(&temp,&humi);//讀取溫濕度
- LCD_WriteNumber(30,0,temp);
- LCD_WriteNumber(30,1,humi);
- delay_ms(1000);
- }
- int main(void)
- {
-
- LCD_Configuart();//顯示屏初始化
- LED_Configuare();//閃光燈初始化
- RCC_Configuare();
- GPIO_Configuart();
- TIM2_Configuare();
- TIM3_Configuare();
- TIM4_Configuare();
- robot_ready();
- LCD_Init(); LCD_Clear();
- robot_key();
- while(1) {
- unsigned int i;
- {
- delay_us(500);
- if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_8)==0) {i=1;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_9)==0) {i=2;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_10)==0){i=3;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_11)==0){i=4;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_12)==0){i=5;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_13)==0){i=6;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_14)==0){i=7;}
- else if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_15)==0){i=8;}
- else { i=1;}
- switch(i)
- {
- case 1:{
- ////////////////////
- //模式1
- led(2);
- LCD_WriteString_en(1,4,"1");
- robot_ready();
- chuanganqi();
- led(3);
- break;}
- case 2:{
- ////////////////////
- //模式2
- led(2);
- LCD_WriteString_en(1,4,"2");
- chuanganqi(); zoulu();zoulu(); robot_ready();
- led(5);
- ////////////////////
- break;}
- case 3:{
- ////////////////////
- led(0);
- LCD_WriteString_en(1,4,"3");
- zoulu();
- robot_ready();
- zoulu();
- robot_ready();
- zoulu();
- robot_ready();
- zoulu();
- robot_ready();
- zoulu();
- robot_ready();
- led(1);
-
- ////////////////////
- break;}
- case 4:{
- ////////////////////
- led(1);
- LCD_WriteString_en(1,4,"4");
- baidong(0); baidong(1); baidong(2); baidong(3);
- delay_ms(1000); robot_ready();
- baidong(0); baidong(1); baidong(2); baidong(3);
- delay_ms(1000);
- shoubiguidong();
- baidong(0); baidong(1); baidong(2); baidong(3);
- delay_ms(1000); robot_ready();
-
- ////////////////////
- break;
- }
- case 5:{
- ////////////////////
- led(2);
- LCD_WriteString_en(1,4,"5");
- baobao();
- robot_ready();
- baobao();
- robot_ready();
-
- ////////////////////
- break;}
- case 6:{
- ////////////////////
- led(5);
- LCD_WriteString_en(1,4,"6");
- shoubiguidong();
- delay_ms(1000);
- robot_ready();
- ////////////////////
- break;}
- case 7:{
- led(3);
- LCD_WriteString_en(1,4,"7");
- shuaitui01();
- robot_ready();
- ////////////////////
- break;}
- case 8:{
- ////////////////////
- led(2);
- LCD_WriteString_en(1,4,"8");
- shuaitui01();
- robot_ready();
- ////////////////////
- break;}
- }
- }
- }
- }
復制代碼
|
-
-
stm32工程模板 -機械臂.zip
2016-4-14 18:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
7.28 MB, 下載次數: 107, 下載積分: 黑幣 -5
評分
-
查看全部評分
|