基于Proteus无实物零基础STM32入门自学教程(八)stm32定时器和串口综合

在之前的两节课我们分别学习了串口和定时器的使用后,我们来综合一下这两个模块来设计一个程序。功能是配合按键,点亮LED灯。按其中一个按键,LED灯按照300ms延时点亮LED灯。按另外一个按键,LED灯按照500ms延时点亮LED灯。并且串口输出对应的延时时间给外部设备。

一、Protues仿真图

 二、MDK代码

	  
	   while(1)                                      //进入死循环
	{ 
	
     t=KEY_Scan(t); 	                            //t赋状态值
     	
		switch(t)                                     //选择状态
		 {
				case KEY1_PRES :                          //PA1按下
			 { TIM_ITConfig(  TIM2, TIM_IT_Update ,DISABLE);//TIM2失能
				 TIM_ITConfig(  TIM3, TIM_IT_Update ,ENABLE); //TIM3使能
				 if(print_con!=t)                             //状态改变
					 {
					   printf("500ms\r\n");                     //输出500ms
					   print_con=t;                             //赋当前状态值
					} 
				 break;                                       //跳出选择
				}
			 case KEY0_PRES :                               //PA2按下
			 { TIM_ITConfig(  TIM3, TIM_IT_Update ,DISABLE); //TIM3失能
				 TIM_ITConfig(  TIM2, TIM_IT_Update ,ENABLE);  //TIM2使能
				  if(print_con!=t)                             //状态改变
						{
					   printf("300ms\r\n");                     //输出300ms
					   print_con=t;                             //赋当前状态值      
				    }  
				
				 break;                                       //跳出选择
			 }
			 case 0 :                                       //该开始没按按键时
			 {
				 LED0=1;                                      //PB0高电平灯灭
				 break;                                       //跳出选择
			 }
			 }
  	
  }

三、仿真效果和源代码资源

基于Proteus无实物零基础STM32入门自学教程(八)stm32定时器和串口综合程序_proteus8.13下载及安装-嵌入式文档类资源-CSDN下载

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远都是新手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值