久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3703|回復: 2
打印 上一主題 下一主題
收起左側

數字電子鐘 共陽數碼管顯示,帶開啟關閉鍵,調時調分調秒鍵

[復制鏈接]
跳轉到指定樓層
樓主
數字電子鐘,很基礎的,用得共陽數碼管顯示,四個按鍵,分別是開啟關閉鍵,調時調分調秒鍵。和大家一起學習。

完整的代碼下載:
Practice1--要求1.zip (73.99 KB, 下載次數: 34)

  1. /*******************************************************************
  2. 程 序 名:數字電子時鐘模塊化程序(緩沖數組)

  3. 編 寫 者:龍皓明

  4. 指導老師:王韌

  5. 時   間 :2016.8.12

  6. 功   能 :顯示時分秒,設有四個功能鍵:啟動/停止,調時,調分,調秒
  7.                                                                                   
  8. 使用說明:將單片機的P2口用排線連于J31即73ls573位選(P20對I11),P0口
  9.                       連于J32即數碼管段選(P00對O11),P1口連接J16(P10--P7...S1--S7)
  10.                                                                                                           
  11. ********************************************************************/

  12. #include <reg52.h>
  13. #include "delay.h"                       //延時頭文件
  14. #include "display.h"                           //顯示函數頭文件
  15. #include "set_find_code.h"  //設置緩沖數組文件
  16. #include "key.h"                                //鍵掃描函數文件
  17. uchar find_code[8];
  18. bit sign=0;
  19. uchar i,hour,minute,second,keyzhi,c=0;

  20. /*****************主函數****************/
  21. void main()
  22. {                hour=8;                                                                //設置小時初始值
  23.                 minute=30;                                                        //設置分鐘初始值
  24.                 second=0;                                                        //設置秒鐘初始值
  25.     TMOD=0x01;              //設置定時器0為工作方式1
  26.     TH0=(65536-50000)/256;  //定時50ms高8位求模       
  27.     TL0=(65536-50000)%256;  //定時50ms低8位求模
  28.     EA=1;                   //開總中斷
  29.     ET0=1;                  //開定時器0中斷
  30.     //TR0=1;
  31.                 set_find_code(12,12,12,12,12,12,12,10);//顯示系統提示符“P.”
  32.                 while(1)
  33.                 {               
  34.                         display(find_code);
  35.                         keyzhi=key_scan();                                        //鍵掃函數,提取返回值(即鍵值)
  36.                         if(keyzhi==0x01)
  37.                         {
  38.                                 sign=~sign;                                                        //取反,判定開啟/暫停
  39.                                 if(sign==1)                                                  //判定開啟電子鐘
  40.                                 {
  41.                                         TR0=1;                                                  //開啟定時器0,電子鐘運行                                                       
  42.                                         display(find_code); //電子鐘顯示
  43.                                 }                               
  44.                 if(sign==0)             //判定暫停電子鐘,進入調節模式
  45.                                 {
  46.                     TR0=0;                                                        //關閉定時器0,電子鐘停止運行
  47.                                         keyzhi=key_scan();       
  48.                                         while(keyzhi!=0x01) //如果開啟/暫停鍵沒有按下
  49.                                         {
  50.                                                 keyzhi=key_scan();//讀取鍵值
  51.                                                 switch(keyzhi)                //進入調時/分/秒模式
  52.                                                 {
  53.                                                         case 0x02: hour++;if(hour==24)                 //調時鍵按下并釋放后時鐘+1
  54.                                                                 {
  55.                                                                         hour=0;                        //調到24時時清零
  56.                                                                 }
  57.                                                                 set_find_code(hour/10,hour%10,11,minute/10,minute%10,11,second/10,second%10);
  58.                                                                 break;
  59.                                                         case 0x04: minute++;if(minute==60)//調分鍵按下并釋放后分鐘+1
  60.                                                                 {
  61.                                                                         minute=0;                //調到60分時清零
  62.                                                                 }
  63.                                                                 set_find_code(hour/10,hour%10,11,minute/10,minute%10,11,second/10,second%10);                               
  64.                                                                 break;
  65.                                                         case 0x08: second++;if(second==60)//調秒鍵按下并釋放后秒鐘+1
  66.                                                                 {
  67.                                                                         second=0;                //秒調到60時清零
  68.                                                                 }
  69.                                                                 set_find_code(hour/10,hour%10,11,minute/10,minute%10,11,second/10,second%10);                               
  70.                                                                 break;
  71.                                                                 default : display(find_code);break;                //穩定顯示所有數據                                                                                  
  72.                                                 }
  73.                                         }
  74.                                 }
  75.                         }                                       
  76.                 }
  77. }               
  78. void timer0() interrupt 1   //定時器0中斷入口

  79. {
  80.    TH0=(65536-50000)/256;   //定時器重賦初值
  81.    TL0=(65536-50000)%256;
  82.    c++;                             //中斷次數
  83.          if(c==20)
  84.          {
  85.                                 c=0;
  86.                                 second++;
  87.                                 if(second==60)                          //計時一分鐘后清零
  88.                                 {
  89.                                                 second=0;
  90.                                                 minute++;                                        //秒鐘每計時一分鐘,分鐘自+1
  91.                                                 if(minute==60)          //計時一小時后清零
  92.                                                 {
  93.                                                                 minute=0;
  94.                                                                 hour++;        //分鐘每計時一小時,時鐘自+1
  95.                                                                 if(hour==24)         //24小時倒計時到
  96.                                                                 {
  97.                                                                                         hour=0;         //清零
  98.                                                                 }               
  99.                                                 }
  100.                                 }
  101.                 }
  102.                 set_find_code(hour/10,hour%10,11,minute/10,minute%10,11,second/10,second%10);                                                                         
  103. }                //送顯示數據

復制代碼

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

使用道具 舉報

沙發
ID:161231 發表于 2017-2-10 09:02 來自觸屏版 | 只看該作者
沒有錢下載不下來
回復

使用道具 舉報

板凳
ID:108263 發表于 2017-8-8 11:09 | 只看該作者
songsiyuan 發表于 2017-2-10 09:02
沒有錢下載不下來

你要的話我可以發給你
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久夜| 精品国产精品国产偷麻豆 | 中文字幕欧美日韩 | 欧美性猛片aaaaaaa做受 | 4hu最新网址 | 国产一区二区三区四区在线观看 | 综合在线视频 | 成人免费视频网站在线看 | 午夜免费视频观看 | 精品久久久久久亚洲综合网站 | 亚洲精品电影 | 国产一区2区 | 日韩网| 国产精品欧美一区二区三区不卡 | 人人擦人人 | 久久久亚洲一区 | 国产一区 | 男女网站免费 | 日韩视频一区在线观看 | 韩国主播午夜大尺度福利 | 国产精品区二区三区日本 | 妖精视频一区二区三区 | 国产成人精品午夜视频免费 | 亚洲成人日韩 | 日韩中字幕| 黄色一级毛片免费看 | 亚洲日产精品 | 国产999精品久久久久久 | 亚洲 中文 欧美 | 中文字幕一区在线观看视频 | 涩涩视频网站在线观看 | 免费午夜电影 | 国产a视频 | 国产精品自产拍在线观看蜜 | 久久久久久亚洲 | 精品国产欧美一区二区 | 免费视频久久 | 黄色一级大片在线免费看产 | 黄色精品 | 亚洲免费精品 | 久草在线在线精品观看 |