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

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

QQ登錄

只需一步,快速開始

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

簡(jiǎn)易單片機(jī)秒表Proteus仿真與代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
需要的自取,有代碼和proteus仿真

單片機(jī)源程序如下:

  1. #include<reg52.h>                 //庫(kù)文件
  2. #define uchar unsigned char//宏定義無符號(hào)字符型
  3. #define uint unsigned int  //宏定義無符號(hào)整型

  4. #define DUAN P0          //P0口控制段
  5. #define WEI  P2          //P2口控制位
  6. sbit k_shi=P1^0;// 更改小時(shí)按鍵
  7. sbit k_fen=P1^1;// 更改分鐘按鍵
  8. sbit k_miao=P1^2;// 更改秒按鍵
  9. /********************************************************************
  10.                             初始定義
  11. *********************************************************************/
  12. uchar Table[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//七段碼對(duì)應(yīng)值
  13. uchar numb[8];         //定義字符串
  14. uint miao=0,fen,shi;
  15. /********************************************************************
  16.                             延時(shí)函數(shù)
  17. *********************************************************************/
  18. void delay(uchar t)
  19. {
  20.   uchar i,j;
  21.    for(i=0;i<t;i++)
  22.    {
  23.             for(j=13;j>0;j--);
  24.          { ;
  25.          }
  26.    }
  27. }
  28. /********************************************************************
  29.                             求值函數(shù)
  30. *********************************************************************/
  31. void t_to_dis()
  32. {
  33. numb[0]=shi/10;        //顯示小時(shí)十位
  34. numb[1]=shi%10;        //顯示小時(shí)個(gè)位
  35. numb[2]=10;                //顯示橫杠
  36. numb[3]=fen/10; //顯示分十位
  37. numb[4]=fen%10;        //顯示分個(gè)位
  38. numb[5]=10;                //顯示橫杠
  39. numb[6]=miao/10;//顯示秒十位
  40. numb[7]=miao%10;//顯示秒個(gè)位
  41.   }

  42. /********************************************************************
  43.                             顯示函數(shù)
  44. *********************************************************************/        
  45. void display()//顯示函數(shù)
  46. {
  47. /*****************數(shù)據(jù)轉(zhuǎn)換*****************************/
  48. uchar i,j;
  49. uchar sel;
  50. i=30;           //定義延時(shí)顯示時(shí)間
  51. sel=0x01;  //掃描位初值
  52. for(j=0;j<8;j++)
  53.         {
  54.         WEI=sel;                  //選通最右邊的數(shù)碼管
  55.     DUAN=~Table[numb[j]];          //送字型碼
  56.     delay(i);                 //顯示延時(shí)   
  57.     sel=sel<<1;   
  58.         }

  59. }
  60. /********************************************************************
  61.                            按鍵函數(shù)
  62. *********************************************************************/        
  63. void key()//函數(shù)
  64. {
  65. if(k_shi==0){shi++;while(!k_shi);if(shi>=24)shi=0;}
  66. if(k_fen==0){fen++;while(!k_fen);if(fen>=60)fen=0;}
  67. if(k_miao==0){miao++;while(!k_miao);if(miao>=60)miao=0;}
  68. }

  69. /********************************************************************
  70.                            定時(shí)器中斷函數(shù)
  71. *********************************************************************/
  72. void timer1(void)interrupt 3
  73. {
  74. uchar i;
  75. TH1=0X3c;//定時(shí)初值
  76. TL1=0Xaf;//定時(shí)初值
  77.   i++;
  78. if(i>=20)
  79.    {i=0;
  80.     miao++;//秒加1
  81.      if(miao>=60)
  82.        {miao=0;//秒清零
  83.              fen++;//60秒后分加1
  84.                if(fen>=60)
  85.                 {fen=0;//分清零
  86.                    shi++;//60分后時(shí)加1
  87.                      if(shi>=24)
  88.                            shi=0;//時(shí)清零
  89.                                                   }
  90.                                    }
  91.                                   }
  92. }
  93. /********************************************************************
  94.                            中斷初始化
  95. *********************************************************************/
  96. void cshh()
  97. {
  98. TMOD=0X10;//定義定時(shí)器工作方式
  99. TH1=0X3c;
  100. TL1=0Xaf;
  101. ET1=1;
  102. TR1=1;//開定時(shí)器
  103. EA=1;//開中斷
  104. }
  105. /********************************************************************
  106.                             主函數(shù)
  107. *********************************************************************/

  108. main()
  109. {
  110. cshh();         //中斷初始化
  111. while(1)
  112. {
  113. key();//按鍵函數(shù)
  114. t_to_dis();//確定秒分時(shí)值
  115. display();        //顯示秒分時(shí)值
  116. }
  117. }
  118.        
  119. /********************************************************************
  120.                               結(jié)束
  121. *********************************************************************/
復(fù)制代碼

Keil代碼與Proteus8.13仿真下載:
數(shù)字鐘設(shè)計(jì).7z (65.8 KB, 下載次數(shù): 12)


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

使用道具 舉報(bào)

無效樓層,該帖已經(jīng)被刪除

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人福利在线观看 | 久久久国产一区二区三区四区小说 | 成人毛片视频免费 | 99精品免费视频 | 日韩在线一区二区 | 成人av在线播放 | 中文字幕视频一区 | 精品成人在线视频 | www.色53色.com | 成人九色| 九九九视频在线观看 | 在线亚洲精品 | 欧美在线成人影院 | 狠狠干天天干 | 久久久久久久久久久久91 | 中文字幕免费在线 | 午夜精品一区二区三区三上悠亚 | 草久久免费视频 | 日韩国产欧美视频 | 日日欧美| 欧美freesex黑人又粗又大 | 日本aⅴ中文字幕 | 精品国产1区2区3区 一区二区手机在线 | 午夜免费看视频 | 亚洲综合在| 亚洲精品二三区 | 国产成人精品一区二区三区四区 | www.亚洲一区 | 亚洲国产精品激情在线观看 | 久久国产精品视频 | 粉嫩一区二区三区四区公司1 | 天天综合网91 | 国产精品成人av | 欧美一级网站 | 丝袜 亚洲 另类 欧美 综合 | 久草视频观看 | 久久在线看 | 国产精品国产成人国产三级 | 欧美影院 | 美女在线视频一区二区三区 | 天堂男人av |