嵌入式作业六(第七章)

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秒一个周期,在一个周期内蓝灯闪烁频率逐渐提高

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值