在下新手,如有错误,请大佬批评指正
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "usart.h"
- #include "timer.h"
- #include "wave.h"
- #include "sys.h"
- #include "pwm.h"
- #include "oled.h"
- int main(void)
- {
- u8 s=0;
- u16 led0pwmval=0;
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- uart_init(115200); //串口初始化为115200
- delay_init(); //延时函数初始化
- LED_Init(); //初始化与LED连接的硬件接口
- TIM1_PWM_Init(1439,999);//不分频。PWM频率=72000/(899+1)=80Khz
- Timer_SRD_Init(5000,7199);
- UltrasonicWave_Configuration();
- OLED_Init();
- while(1)
- {
- switch (s)
- {
- case 0: UltrasonicWave_StartMeasure_0();
- delay_ms(100);s=1;break;
- case 1: UltrasonicWave_StartMeasure_1();
- delay_ms(100);s=2;break;
- case 2: UltrasonicWave_StartMeasure_2();
- delay_ms(100);s=0;break;
- default: s=0; break;
- }
-
-
- if(a==1)
- {
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);//"哥"
- OLED_ShowCHinese(0,3,1);//"这"
- OLED_ShowCHinese(18,3,2);//"有"
- OLED_ShowCHinese(36,3,3);//'人"
- OLED_ShowString(72,3,"->");//"->"
- OLED_ShowNum(88,3,1,3,16);
-
- LED1=!LED1;
- led0pwmval=37;
- TIM_SetCompare1(TIM1,led0pwmval); //90度
- a=0;
- }
- else if(b==1)
- {
-
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);//"哥"
- OLED_ShowCHinese(0,3,1);//"这"
- OLED_ShowCHinese(18,3,2);//"有"
- OLED_ShowCHinese(36,3,3);//'人"
- OLED_ShowString(72,3,"->");//"->"
- OLED_ShowNum(88,3,2,3,16);
-
- led0pwmval=180;
- TIM_SetCompare1(TIM1,led0pwmval);
- b=0;
- LED0=!LED0;
- }
- else if(c==1)
- {
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);//"哥"
- OLED_ShowCHinese(0,3,1);//"这"
- OLED_ShowCHinese(18,3,2);//"有"
- OLED_ShowCHinese(36,3,3);//'人"
- OLED_ShowString(72,3,"->");//"->"
- OLED_ShowNum(88,3,3,3,16);
-
-
- LED0=1;
- LED1=1;
- delay_ms(500);
- LED0=0;
- LED1=0;
- c=0;
- }
- else if((a!=1)&&(b!=1)&&(c!=1))
- {
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);//"哥"
- OLED_ShowCHinese(0,3,1);//"这"
- OLED_ShowCHinese(18,3,4);//"没"
- OLED_ShowCHinese(36,3,3);//'人"
-
- led0pwmval=93;
- TIM_SetCompare1(TIM1,led0pwmval); //0度,延时1s
- }
- }
- }
复制代码
所有资料51hei提供下载:
超声波模块程序外中断3路 终极版.rar
(334.27 KB, 下载次数: 73)
|