1、利用SysTick定时器编写倒计时程序,如初始设置为2分30秒,每秒在屏幕上输出一次时间,倒计时为0后,红灯亮,停止屏幕输出,并关闭SysTick定时器的中断。
设计倒数函数(isr.c中)
void SecSub1(uint8_t *p)
{
*(p+2)-=1; //秒+1
if(*(p+2)==255) //秒溢出
{
*(p+2)=59; //清秒
*(p+1)-=1; //分+1
if(*(p+1)==255) //分溢出
{
*(p+1)=59; //清分
*p-=1; //时+1
if(*p==255) //时溢出
{
*p=23; //清时
}
}
}
}
缓存初始化
实验结果
2、利用RTC显示日期(年月日、时分秒),每秒更新。并设置某个时间的闹钟。闹钟时间到时,屏幕上显示有你的姓名的文字,并点亮绿灯。
根据RTC.c中的函数设置闹钟
设置初始时间
设置A时钟中断时亮绿灯(isr.c内)
主函数中开启A时钟中断,并设置闹钟,配置WAKE UP中断,注意闹钟设置必须在RTC_Set_PeriodWakeUp(1)前
实验结果
3、利用PWM脉宽调制,交替显示红灯的5个短闪和5个长闪。
4、GEC39定义为输出引脚,GEC10定义为输入引脚,用杜邦线将两个引脚相连,验证捕捉实验程序Incapture-Outcmp-20211110,观察输出的时间间隔。
5秒一个周期,在一个周期内蓝灯闪烁频率逐渐提高