设计一个基于MSP430的电子日历和时钟。基本要求
(1)可通过按键在日历和时间之间切换显示
(2)可由按键调整日期和时间
(3)可整点报时(“嘟、嘟”声)
(4)可设定时,定时时间到发出“嘟、嘟”声
(5)具有秒表功能
设计以MSP430为核心的控制电路,并编写相关的系统软件。
建立工程后如下,为了产生hex文件,用于proteus仿真,要设置一下。
右键工程名称,点最后一个:
找到这里:
加个 --intel
,空格要有。
随即确认后点应用起来:
点这里编译:
会看到这个hex文件。单片机的c程序编译后就成了这个hex文件。
在proteus里双击单片机:
点这个就可以打开hex文件,就相当于加载到Proteus的仿真单片机里:
找到这个hex文件确认就好:
点这个按钮,即进行开始仿真,可以看到仿真效果。如果鼠标拖拽不好用,可以按一下Shift。
点这个即停止仿真:
时间显示:
设置时:
设置闹钟时:
设置年:
切换到日期显示
秒表显示:
设计一个基于MSP430微控制器的电子日历和时钟系统。系统具备以下功能:
按键切换日历和时间显示。
按键调整日期和时间。
整点报时功能(发出“嘟、嘟”声)。
可设定闹钟,时间到时发出“嘟、嘟”声。
秒表功能。
使用MSP430G2553微控制器作为核心控制单元,配合LCD显示屏进行时间和日期的显示。使用按键输入进行时间和日期的设置及模式的切换。蜂鸣器用于报时提示。
LCD显示屏:用于显示时间和日期。
按键:用于设置和切换模式。
蜂鸣器:用于报时和闹钟提示。
MSP430G2553:核心控制单元。
系统软件主要包括以下功能模块:
时间和日期更新模块。
按键处理模块。
显示模块。
闹钟和报时模块。
秒表模块。
isLeapYear
: 判断是否为闰年。
daysInMonth
: 获取某个月份的天数。
updateDateTime
: 更新日期时间。
read_key
: 读取按键值。
read_key_2
: 防抖动处理后的按键读取。
Display_six_numbers
: 显示六位数的时间或日期。
Display_Prompt
: 显示提示信息。
Limiting_threshold
: 限制输入的时间和日期值在合理范围内。
Refresh_display
: 刷新显示内容。
key_deal
: 按键处理逻辑。
Play_two_beeps
: 发出两声“嘟”声。
链接:https://pan.baidu.com/s/1TRznZwpKm1UuVhxWCaIaeA?pwd=ahdg 提取码:ahdg
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?u=bdf8eeb84961492ba2b62f7bfee641ea&tab=BB08J2
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!