找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2736|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

藍(lán)橋杯電子鐘程序設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)設(shè)計(jì)與開(kāi)發(fā)項(xiàng)目模擬試題  程序設(shè)計(jì)部分
基于單片機(jī)的電子鐘程序設(shè)計(jì)與調(diào)試
一、 基本要求
使用 CT107D 單片機(jī)競(jìng)賽板,完成“電子鐘”功能的程序設(shè)計(jì)與調(diào)試。
二、 硬件框圖
三、 功能描述
3.1 初始化
1)關(guān)閉蜂鳴器、繼電器等無(wú)關(guān)外設(shè);
2)設(shè)備初始化時(shí)鐘為 23 時(shí) 59 分 50 秒,鬧鐘提醒時(shí)間 0 時(shí) 0 分 0 秒。
3.2 顯示功能
1) 時(shí)間顯示格式
1 2 - 0 0 - 0 2
12 時(shí) 間隔 0 分 間隔 2 秒
2) 溫度顯示格式
8 8 8 8 8 2 1 C
熄滅 溫度
2 / 2
3.3 按鍵功能
1)按鍵 S7 定義為“時(shí)鐘設(shè)置”按鍵,通過(guò)該按鍵可切換選擇待調(diào)整的
時(shí)、分、秒,當(dāng)前選擇的顯示單元以 1 秒為間隔亮滅,時(shí)、分、秒
的調(diào)整需注意數(shù)據(jù)邊界屬性。
2)按鍵 S6 定義為“鬧鐘設(shè)置”按鍵,通過(guò)該按鍵可進(jìn)入鬧鐘時(shí)間設(shè)置
功能,數(shù)碼管顯示當(dāng)前設(shè)定的鬧鐘時(shí)間。
3)按鍵 S5 定義為“加”按鍵,在“時(shí)鐘設(shè)置”或“鬧鐘設(shè)置”狀態(tài)下,
每次按下該按鍵當(dāng)前選擇的單元(時(shí)、分或秒)增加 1 個(gè)單位。
4)按鍵 S4 定義為“減”按鍵,在“時(shí)鐘設(shè)置”或“鬧鐘設(shè)置”狀態(tài)下,
每次按下該按鍵當(dāng)前選擇的單元(時(shí)、分或秒)減少 1 個(gè)單位。
5)按鍵功能說(shuō)明:
按鍵 S4、S5 的“加”、“減”功能只在“時(shí)鐘設(shè)置”或“鬧鐘設(shè)置”
狀態(tài)下有效;
在 “時(shí)鐘顯示”狀態(tài)下,按下 S4 按鍵,顯示溫度數(shù)據(jù),松開(kāi)按鍵,
返回“時(shí)鐘顯示”界面。
3.4 鬧鐘提示功能
1)指示燈 L1 以 0.2 秒為間隔閃爍,持續(xù) 5 秒鐘;
2)鬧鐘提示狀態(tài)下,按下任意按鍵,關(guān)閉閃爍提示功能。

單片機(jī)源程序如下:
  1. /*******************************************************************************  
  2. * 文件名稱:基于單片機(jī)的電子鐘程序設(shè)計(jì)與調(diào)試
  3. * 作 答 者:楊玉祥
  4. * 缺    陷:溫度的顯示不正確,鬧鐘的提示功能有問(wèn)題。
  5. * 日期版本:2018-11-30/V1.0a
  6. *******************************************************************************/


  7. #include "head.h"
  8. #include <reg52.h>

  9. extern volatile int flag;
  10. sbit s4 = P3^3;
  11. sbit s5 = P3^2;
  12. sbit s6 = P3^1;
  13. sbit s7 = P3^0;

  14. void cls_buzz(void);
  15. void Delay1ms();
  16. void display();
  17. void time0();
  18. void SetTime();
  19. void Clock();
  20. void tem(void);

  21. void main()
  22. {         
  23.         P2 = (P2&0x1f)|0x80;
  24.         P0 = 0xff;
  25.         cls_buzz();                //關(guān)閉蜂鳴器
  26.         time0();                 //定時(shí)器中斷

  27.         while(1)
  28.         {
  29.                 if(0 == s7)
  30.                         Clock();
  31.                 else if(0 == s6)
  32.                         SetTime();
  33.                 else if(0 == s4)
  34.                         tem();
  35.                                 
  36.         }
  37.         

  38. //        if(1 == flag)
  39. //                Clock();                   //鐘表模式
  40. //        else if(2 == flag)
  41. //                SetTime();         //鬧鐘模式
  42. }
復(fù)制代碼

全部資料51hei下載地址:
電子鐘.zip (50.45 KB, 下載次數(shù): 28)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:734566 發(fā)表于 2020-4-24 23:36 | 只看該作者
有問(wèn)題還放在上面?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表