基于MSP430G2553的闹钟

基于MSP430G2553的闹钟

硬件部分

  1. 四位数码管(F3461AH)*2
    在这里插入图片描述

  2. 38译码器(74LS138)*1
    在这里插入图片描述

  3. MSP430G2553单片机

  4. 微动按键*1

软件实现

  1. 使用TimerA0进行时间计数,每1000ms进入一次CCR0中断,执行时间逻辑:

    • 秒钟变量加到60则清零并将分钟变量加一

    • 分钟变量加到60则清零并将小时变量加一

    • ,小时变量加到24则清零并将日期变量和星期变量都加一

    • 星期变量加到8则变为1

    • 日期变量:先判断是否是闰年并且是否是2月,若思,则对平年的二月天数加一判断;若不是二月,则正常查表判断月份.大于该月天数,则清零并将月份加一

    • 月份加到13时清零并将年份变量加一

  2. 每计数到ACLK产生65个脉冲,则进入CCR2,显示一位数码管

  3. CCR1初值为327,但不使能中断,只有当按下按键后,才使能CCR1的中断并且关闭按键按键所在外部中断.使能中断后,在十次中断中判断按键是否是抖动,若是抖动,将各标识变量清零并关闭CCR1中断,且使能按键所在外部中断;若十次中断后按键仍然未松开,则表明按键按下,做出对应动作,并且清零各标识变量,关闭CCR1中断,使能按键所在外部中断.

优点

低功耗,使用低功耗模式LPM3,即关闭除低速时钟ACLK外的所有时钟,MCU仅在中断时唤醒

不足

  1. 因时间紧张,仅实现检测按键,未实现按键逻辑部分

  2. 因管脚较少,导致按键稍少,解决方法:

    1. 是将数码管位选管脚改为使用P1部分IO和P2部分IO,以释放出P1IO,使用P1IO的ADC实现按键,理论上可实现无限个按键
    2. 添加芯片74hc595串改并芯片,释放出5个P1IO脚
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值