没有合适的资源?快使用搜索试试~ 我知道了~
首页使用MSP430F249实现电子钟
使用MSP430F249实现电子钟
需积分: 25 500 浏览量
更新于2023-05-21
评论 2
收藏 418KB DOCX 举报
该实验报告详细阐述了如何使用Proteus以及IAR实现基于MSP430F249的模拟电子时钟,包括硬件部分以及软件部分。该模拟电子时钟具有运行模式和设置模式,运行模式下为正常的时钟,而设置模式下可以对时、分、秒每位进行操作,并且相关设置位会持续闪烁。
资源详情
资源评论
资源推荐

电子钟实验报告
71117317 胡昱
一、 实验名称
模拟电子钟
二、 实验内容
用动态显示方式,利用单片机控制 6 位一体数码管,使其两位一组,分别
代表时、分、秒。设置六个按键,实现调整设置时间的功能,分别是:
1.设置按键,点击之后进入设置状态,可以设定最左边的数码管开始闪烁,
其余五位不亮;
2.左移按键,点击后闪烁的数码管向左移动一个;
3.右移按键,点击后闪烁的数码管向右移动一个;
4.加 1 键,点击之后当前闪烁的数码管数值加一;
5.减 1 键,点击后当前闪烁的数码管内数值减一;
6.运行按键,点击后设置完成,时间开始运行。

每次调整时间的时候只有一个数码管闪烁,可以增加或者减少其中数值,
其他的数码管不亮,通过左移右移减一加一,依次设置每一个数码管内部的数
值。
三、 设计思路
硬 件 部 分 : 所 用 到 的 硬 件 有 7SEG-MPX6-CC-
BLUE 、 9C08052A1000FKHFT 、 BUTTON 、 MSP430F249 、 RX8 以 及
POWER 等。其中,6 位一体数码管的 ABCDEFG 和 DP 引脚接 MSP430F249
的 P4 口,12345 和 G 引脚接 MSP430F249 的 P5 口。6 个 BUTTON 分别接
在 P1.0 至 P1.5,未按下时为高电平,按下后为低电平。
软件部分:(1)计时部分:为了实现计时,我采用了定时器中断的方法。
初始化时设置定时器 TA0 的 CCR0 为 819,采用的时钟源为 SMCLK,每当执
行 18 次中断后秒数加一,同时判断是否要进位。(2)动态显示部分:由于硬
件的特性,在任意时刻,P5.0 至 P5.7 中只有一个口能够输出低电平,即只能
有 1 位数码管被点亮。因此需要用到人眼的视觉暂存效应,即在 1 秒内循环扫

描 6 位数码管的次数必须大于 25 次,就可以模拟出持续点亮的效果。所以在
main()函数里,dislpay()函数会一直被执行。同时,为了保证数码管的显示亮
度,每位数码管点亮的持续时间应相同且在 1ms 左右,所以 display()函数最
后进行了 1ms 的延时。另外,为了实现设置状态下设置位的闪烁,我在
displayWhenSet()函数里面让设置位对应的数码管在 25 次扫描循环中只显示
1 次。(3)设置按键部分:这部分我是使用中断+查询的方式实现的。SET 按
键连接的是 P1.0 口,所以我开启了 P1.0 口的中断。SET 按键按下后会进入到
P1 口中断服务程序,即 Port1_ISR()函数。在 Port1_ISR()中,持续监听 P1.1
口至 P1.5 口。若 START 键按下,则会跳出持续监听,结束中断服务程序。若
其他按键按下,则会做出相应的处理。并且,利用 MSP430 系列默认不能进行
中断嵌套的特性,进入设置模式后定时器 TA0 的中断会被屏蔽掉。
四、 电路图及源代码
剩余13页未读,继续阅读



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0