單片機設計與開發項目模擬試題 程序設計部分
基于單片機的電子鐘程序設計與調試
一、 基本要求
使用 CT107D 單片機競賽板,完成“電子鐘”功能的程序設計與調試。
二、 硬件框圖
三、 功能描述
3.1 初始化
1)關閉蜂鳴器、繼電器等無關外設;
2)設備初始化時鐘為 23 時 59 分 50 秒,鬧鐘提醒時間 0 時 0 分 0 秒。
3.2 顯示功能
1) 時間顯示格式
1 2 - 0 0 - 0 2
12 時 間隔 0 分 間隔 2 秒
2) 溫度顯示格式
8 8 8 8 8 2 1 C
熄滅 溫度
2 / 2
3.3 按鍵功能
1)按鍵 S7 定義為“時鐘設置”按鍵,通過該按鍵可切換選擇待調整的
時、分、秒,當前選擇的顯示單元以 1 秒為間隔亮滅,時、分、秒
的調整需注意數據邊界屬性。
2)按鍵 S6 定義為“鬧鐘設置”按鍵,通過該按鍵可進入鬧鐘時間設置
功能,數碼管顯示當前設定的鬧鐘時間。
3)按鍵 S5 定義為“加”按鍵,在“時鐘設置”或“鬧鐘設置”狀態下,
每次按下該按鍵當前選擇的單元(時、分或秒)增加 1 個單位。
4)按鍵 S4 定義為“減”按鍵,在“時鐘設置”或“鬧鐘設置”狀態下,
每次按下該按鍵當前選擇的單元(時、分或秒)減少 1 個單位。
5)按鍵功能說明:
按鍵 S4、S5 的“加”、“減”功能只在“時鐘設置”或“鬧鐘設置”
狀態下有效;
在 “時鐘顯示”狀態下,按下 S4 按鍵,顯示溫度數據,松開按鍵,
返回“時鐘顯示”界面。
3.4 鬧鐘提示功能
1)指示燈 L1 以 0.2 秒為間隔閃爍,持續 5 秒鐘;
2)鬧鐘提示狀態下,按下任意按鍵,關閉閃爍提示功能。
單片機源程序如下:
- /*******************************************************************************
- * 文件名稱:基于單片機的電子鐘程序設計與調試
- * 作 答 者:楊玉祥
- * 缺 陷:溫度的顯示不正確,鬧鐘的提示功能有問題。
- * 日期版本:2018-11-30/V1.0a
- *******************************************************************************/
- #include "head.h"
- #include <reg52.h>
- extern volatile int flag;
- sbit s4 = P3^3;
- sbit s5 = P3^2;
- sbit s6 = P3^1;
- sbit s7 = P3^0;
- void cls_buzz(void);
- void Delay1ms();
- void display();
- void time0();
- void SetTime();
- void Clock();
- void tem(void);
- void main()
- {
- P2 = (P2&0x1f)|0x80;
- P0 = 0xff;
- cls_buzz(); //關閉蜂鳴器
- time0(); //定時器中斷
- while(1)
- {
- if(0 == s7)
- Clock();
- else if(0 == s6)
- SetTime();
- else if(0 == s4)
- tem();
-
- }
-
- // if(1 == flag)
- // Clock(); //鐘表模式
- // else if(2 == flag)
- // SetTime(); //鬧鐘模式
- }
復制代碼
全部資料51hei下載地址:
電子鐘.zip
(50.45 KB, 下載次數: 28)
2018-12-7 16:49 上傳
點擊文件名下載附件
|