中关村在线

软件

单片机数码管时钟设计

基于单片机设计的电子时钟,支持多位数码管显示时间与日期,具备闹钟功能,通过独立按键实现时间、日历及闹钟的设置与调节。

1、 编写软件程序

2、 Keil工程中的C语言代码实现

3、 数码管显示的电子时钟项目

4、 数码管显示时间与日期,支持时间及日历功能。

5、 时间可调节,支持定时闹钟,响铃持续一分钟。

6、 数组Mth存储各月份天数:首项为0,其余依次为1至12月的天数,分别为31、28、31、30、31、30、31、31、30、31、30、31。

7、 P3口第2位定义为KEY0按键输入。

8、 P3口第1位定义为按键加一功能。

9、 定义P3^0为按键2,用于设置闹钟功能。

10、 P2引脚2控制蜂鸣器发声。

11、 延时函数,用于程序中设定时间延迟。

12、 显示函数,传入三个无符号整数参数,分别代表秒、分、时,按格式输出时间信息。

13、 增加一个数值,功能为自增操作。

14、 设置闹钟功能,定时提醒用户。

15、 初始化函数,用于启动系统配置。

16、 获取当前系统时间的函数。

17、 计算日历日期的函数。

18、 {

19、 根据日历类型区分显示日期与时间。

20、 }

21、 }

22、 {

23、 }

24、 {

25、 {

26、 }

27、 }

28、 }

29、 初始化函数,用于设置初始状态。

30、 {

31、 设置定时器0为方式1工作模式。

32、 定时器高八位设置,计算得TH0为82,实现5毫秒定时功能。

33、 定时器低八位赋值为65536减50000后对256取模的结果。

34、 开启中断,设置IE寄存器为0x8f。

35、 启动定时器并设置工作模式为TCON等于0x15。

36、 }

37、 计算程序运行所消耗的时间。

38、 {

39、 当t等于10或20时,翻转tt的值,实现闪烁效果。

40、 {

41、 {

42、 {

43、 }

44、 }

45、 {

46、 {

47、 }

48、 }

49、 }

50、 }

51、 {

52、 }

53、 定时器0中断服务程序,用于处理定时器溢出触发的中断事件。

54、 {

55、 定时器高八位设置,5ms定时,计算式为(65536-50000)/256。

56、 定时器低八位设置为65536减50000后对256取余的结果。

57、 }

58、 {

59、 {

60、 }

61、 }

62、 }

63、 日历功能通过中断2实现,用于定时更新和显示日期时间信息。

64、 {

65、 {

66、 }

67、 }

68、 编写函数计算并生成日历信息

69、 {

70、 {

71、 {

72、 }

73、 }

74、 }

75、 自增函数,用于数值加一操作。

76、 {

77、 {

78、 {

79、 }

80、 {

81、 {

82、 {

83、 {

84、 }

85、 {

86、 {

87、 }

88、 }

89、 }

90、 }

91、 }

92、 设定闹钟时间,到达时发出提醒。

93、 {

94、 {

95、 {

96、 {

97、 {

98、 }

99、 }

100、 }

101、 }

102、 }

103、 引脚接线说明

104、 PO口连接8位共阴数码管。

105、 P2^0和P2^1分别控制数码管的段和位锁存信号。

106、 P3^0键用于显示闹钟功能

107、 P3^1用于时钟设置时的数值调节,仅支持单向递增。

108、 P3^2为设定键,用于调整闹钟、日期和时间。

109、 P3^3是日立设备查看时间转换的按键

110、 闹钟可选LED灯或蜂鸣器,提醒默认持续1分钟。

111、 软件模拟与实验结果对比分析

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具