大三課程設計,電磁傳感器是自己設計制作的,只需根據自己測得的電磁強度改一下參數即可使用
STM32單片機源程序如下:
- #include "stm32f10x.h"
- #include "adc.h"
- #include "lcd.h"
- #include "delay.h"
- #include "usart.h"
- #include "pwm.h"
- #include "key.h"
- #include "math.h"
- u16 adc0=0,adc1=0,adca=0,adcb=0, adc3=0;
- float cha1=0,cha2=0;
- double v0,v1;
- extern u32 s1,s2,s3,s4;
- int main (void)
- {
-
- s1=s3=5,s2=s4=5;
- delay_init();
- uart_init(115200);
- LCD_Init();
- adc_init();
- POINT_COLOR=RED;
- LCD_Clear(GRAY);
- POINT_COLOR=RED;
-
- key();
-
- LCD_ShowString(60,50,200,16,16,"ADC_Right:");
- LCD_ShowString(60,70,200,16,16,"w1:");
- LCD_ShowString(60,90,200,16,16,"ADC_Left:");
- LCD_ShowString(60,110,200,16,16,"w3:");
- LCD_ShowString(60,130,200,16,16,"cha1:");
- LCD_ShowString(60,150,200,16,16,"cha2:");
-
- while(1)
- {
- adca=get_adc(ADC_Channel_0);
- adcb=get_adc(ADC_Channel_1);
- if(adca>adcb)
- {
- cha1=adca-adcb;
- if(200>cha1)
- {
- s1=999;
- s2=999;
- s3=999;
- s4=999;
- }
- if(200<cha1)
- {
- if(cha1<600)
- {
- s1=700;
- s2=700;
- s3=600;
- s4=600;
- }
- if(cha1>=600)
- {
- if(cha1<800)
- {
- s1=800;
- s2=800;
- s3=400;
- s4=400;
- }
- if(cha1>=800)
- {
- s1=999;
- s2=999;
- s3=200;
- s4=200;
- }
- }
- }
- }
- else
- {
- if(adcb>=adca)
- {
- cha2=adcb-adca;
- if(300>=cha2)
- {
- s1=999;
- s2=999;
- s3=999;
- s4=999;
- }
- if(300<cha2)
- {
- if(cha2<1000)
- {
- s1=500;
- s2=500;
- s3=700;
- s4=700;
- }
- if(cha2>=1000)
- {
- if(cha2<1500)
- {
- s3=800;
- s4=800;
- s1=400;
- s2=400;
- }
- if(cha2>=1500)
- {
- s3=900;
- s4=900;
- s1=300;
- s2=300;
- }
- }
- }
- }
- }
- LCD_ShowxNum(156,50,adca,4,16,0);//顯示ADC的值
-
- LCD_ShowxNum(156,90,adcb,4,16,0);//顯示ADC的值
-
- LCD_ShowxNum(156,130,cha1,4,16,0);
- LCD_ShowxNum(156,150,cha2,4,16,0);
- LCD_ShowxNum(156,70,s1,4,16,0);
- LCD_ShowxNum(156,110,s3,4,16,0);
- GPIO_ResetBits(GPIOB,GPIO_Pin_5);
- pwm_init();
-
- }
- }
復制代碼
所有資料51hei提供下載:
智能尋跡小車.速度999 1.0炒雞穩版.rar
(339.15 KB, 下載次數: 101)
2018-4-30 15:58 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|