This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TM4C123GH6PM:警报时钟项目

Guru**** 2606345 points
Other Parts Discussed in Thread: TM4C123GH6PM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/751980/compiler-tm4c123gh6pm-alarm-clock-project

器件型号:TM4C123GH6PM

工具/软件:TI C/C++编译器

大家好、  

我目前正在处理一个闹钟项目、该项目要求我使用一个7段显示屏、上面有4位数字。 我想知道实现这一目标的最佳方法是什么? 为了让我显示全部四位数字、我将其连接到 PE0-PE3、每个数字一个。 7个段被连接至 PB0-PB6。 使用开关手动递增是可行的、但我无法使它根据时间自动计数。 我的问题是:如何实现这个、以便它自动计数并持续显示时间。 当我添加第二个延迟时、它会在 LED 上产生如此大的延迟、从而使每个数字一次显示一个数字。 此外、根据秒进行时钟计数的最佳方法是什么、因为使用 SysCtlDelay 会有太大的错误空间。

感谢您的帮助、我对此表示感谢。

电路板:TM4C123GH6PM

语言:c.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    下面是一篇有关驱动7段显示屏的文章。 www.circuitbasics.com/.../

    我建议您考虑使用计时器模块来创建延迟。 我想可以通过多种方法来实现这一点。 一个想法是设置4个计时器模块。 例如、第一个计时器将每1ms 生成一次超时中断。 在此计时器 ISR 中、您将执行 BCD 到7段解码并更新最低有效位的7段显示。 第二个计时器将设置为每10ms 生成一次超时中断。 第二个计时器 ISR 将控制第二个最低有效位。 同样、您也可以将第三个计时器设置为100ms 超时、将第四个计时器设置为1s 超时、以设置其他两位数字。 确保同时同步4个计时器。 这就像一个秒表、可以计数高达10s、精度可降至1/1000th。 您可以为所需的延迟配置计时器。 我们没有任何现成可用的示例。 我认为您可以创造性地构建自己的。 与我们分享您的项目、该项目可能会让社区受益。