综合编程题
1.编写一个密码器,示意图如下所示:
要求如下:
1.串口使用重映射后的 USART2。
2.串口数据使用中断接收。
3.回车之前的数据全部显示“*” 4.收到回车后,将之前输入的密码打印。
5.回车符号为“0x0d”。
6.如果输出中文,则需要使用超级终端,如果没有中文,可用超级串口。
1.读取 stm32f107 内部温度传感器温度并通过串口显示,示意图如下所示:
要求如下:
1.参考教材 198 页,stm32f107 内部有一个温度传感器,接在 ad1 的 16 通道。
2.初始化并使能该通道。
3.将使用重映射后的 USART2 将原始数值和电压值输出,并计算温度数值。
4.计算公式为 温度=(V25-Vad)/Vavg+25,其中 V25 为 25 度时电压值,典型为 1.43V,Vad为温度传感器 ad 转换后的电压值,单位为 V,Vavg 为平均斜率电压值,典型为 4.3mV。
5.由于芯片内部温度通常高于气温,所以 40 度左右为正常,要求将手放在 stm32f107 芯片上或者哈气温度能够升高,降温后温度能够下降。
6.内部温度传感器一般不用做精确测量温度,通常用于芯片的高温报警和定性分析。
1.使用 TIM3 的 的 PWM 控制 LED4 实现一个呼吸灯,即 TIM3 重映射后的通道 4,PC9 管 管脚。
要求如下:
1.实现 LED4 从暗到亮再从亮到暗的模拟呼吸的过程。
2.TIM_TimeBaseStructure.TIM_Period 可设为 665;3.亮灭过程为占空比持续增减。
4.占空比数值可以设置为 0-660 之间变化。
5.占空比配置可以使用函数:TIM_SetCompare4(TIM3, i);6.呼吸灯常用于手机、家电的指示灯效果。
注意,要使用串口的 printf 函数,务必编译 micolib,否则串口无输出,调试也不正常。
