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

標(biāo)題: 單片機(jī)9.9 秒計(jì)時(shí)器proteus仿真設(shè)計(jì) 用定時(shí)器T0實(shí)現(xiàn) 帶源程序原理圖 [打印本頁(yè)]

作者: 51黑ff    時(shí)間: 2016-10-10 16:31
標(biāo)題: 單片機(jī)9.9 秒計(jì)時(shí)器proteus仿真設(shè)計(jì) 用定時(shí)器T0實(shí)現(xiàn) 帶源程序原理圖
一個(gè)51單片機(jī)9.9 秒計(jì)時(shí)器proteus仿真設(shè)計(jì)
開始時(shí),顯示"00",第 1 次按下 BY1 后就開始計(jì)時(shí)。第 2 次按 BY1 后,計(jì)時(shí)
停止。 第3次按BY1后,計(jì)時(shí)歸零。
下面是仿真原理圖:



單片機(jī)源程序:
  1. /********************************************************************
  2. 51黑電子論壇
  3. *********************************************************************/
  4. #include<reg52.h>                 //庫(kù)文件
  5. #define uchar unsigned char//宏定義無符號(hào)字符型
  6. #define uint unsigned int  //宏定義無符號(hào)整型
  7. /********************************************************************
  8.                             初始定義
  9. *********************************************************************/
  10. code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //顯示段碼 數(shù)碼管字跟
  11. uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端
  12. uchar sec; //定義計(jì)數(shù)值,每過1/10 秒,sec 加一
  13. uchar keycnt=0;//按下次數(shù)值
  14. uint tcnt; //鍵值判斷
  15. sbit P3_0=P3^0;
  16. /********************************************************************
  17.                             延時(shí)函數(shù)
  18. *********************************************************************/
  19. void delay(uchar t)
  20. {
  21.   uchar i,j;
  22.    for(i=0;i<t;i++)
  23.    {
  24.             for(j=13;j>0;j--);
  25.          { ;
  26.          }
  27.    }
  28. }

  29. /********************************************************************
  30.                             顯示函數(shù)
  31. *********************************************************************/        
  32. void Led(int date) //顯示函數(shù)
  33. {
  34. /*****************數(shù)據(jù)轉(zhuǎn)換*****************************/
  35. uint z,x,c,v;
  36.   z=date/1000;                         //求千位
  37.   x=date%1000/100;                 //求百位
  38.   c=date%100/10;                 //求十位
  39.   v=date%10;                         //求個(gè)位

  40.       P2=0XFF;
  41.           P0=seg7code[z];
  42.           P2=wei[0];
  43.           delay(80);
  44.           P2=0XFF;  
  45.       P0=seg7code[x];
  46.           P2=wei[1];
  47.           delay(80);
  48.           P2=0XFF;  
  49.              P0=seg7code[c];
  50.           P2=wei[2];
  51.           delay(80);
  52.           P2=0XFF;  
  53.       P0=seg7code[v];
  54.           P2=wei[3];
  55.           delay(80);
  56.           P2=0XFF;
  57. }
  58. /********************************************************************
  59.                             按鍵掃描函數(shù)
  60. *********************************************************************/
  61. void KEY() //按鍵掃描程序
  62. {
  63. uchar i,j;
  64. if(P3_0==0)
  65.         {
  66.         delay(20);
  67.         if(P3_0==0)
  68.                 {
  69.                         keycnt++;
  70. /********************************************************************
  71.                             按下次數(shù)判斷函數(shù)
  72. *********************************************************************/
  73. switch(keycnt) //按下次數(shù)判斷
  74.         {
  75.         case 1: //第一次按下
  76.         TH0=0x06; //對(duì)TH0 TL0 賦值
  77.         TL0=0x06;
  78.         TR0=1; //開始定時(shí)
  79.         break;
  80.         case 2: //第二次按下
  81.         TR0=0; //定時(shí)結(jié)束
  82.         break;
  83.         case 3: //第三次按下
  84.         keycnt=0; //重新開始判斷鍵值
  85.         sec=0; //計(jì)數(shù)重新從零開始
  86.         break;
  87.         }
  88.         while(P3_0==0);
  89.                 }
  90.         }
  91. }
  92. /********************************************************************
  93.                             定時(shí)中斷服務(wù)函數(shù)
  94. *********************************************************************/
  95. void t0(void) interrupt 1 using 0 //定時(shí)中斷服務(wù)函數(shù)
  96. {
  97.         tcnt++; //每過250ust tcnt 加一
  98.         if(tcnt==400) //計(jì)滿400 次(1/10 秒)時(shí)
  99.         {
  100.                 tcnt=0; //重新再計(jì)
  101.                 sec++;
  102.                 if(sec==100) //定時(shí)10 秒,在從零開始計(jì)時(shí)
  103.                 {
  104.                         sec=0;
  105.                 }
  106.         }
  107. }

  108. /********************************************************************
  109.                             主函數(shù)
  110. *********************************************************************/
  111. void main()
  112. {
  113.         TMOD=0x02; //定時(shí)器工作在方式2
  114.         ET0=1;
  115.         EA=1;
  116.         sec=0;
  117.         while(1)
  118.         {
  119.                 KEY();
  120.                 Led(sec);
  121.         }
  122. }               

  123.         
  124. /********************************************************************
  125.                               結(jié)束
  126. *********************************************************************/
復(fù)制代碼



9.9 秒計(jì)時(shí)器仿真工程文件及所有完整程序等資料下載地址(壓縮包一共有45個(gè)單片機(jī)仿真,全部下載后找到第010個(gè)項(xiàng)目即可):
http://www.zg4o1577.cn/bbs/dpj-56298-1.html


作者: MCUliangqi2017    時(shí)間: 2017-5-11 11:51
挺好的
作者: lomassun    時(shí)間: 2017-6-9 09:13
怎么把四位的數(shù)碼管改成兩個(gè)的?求問~
作者: lomassun    時(shí)間: 2017-6-9 09:23
還想請(qǐng)教 你這用的是共陽(yáng)吧,怎么換成共陰呢?
作者: 落羽wy    時(shí)間: 2017-6-12 01:39
特別好
作者: 落羽wy    時(shí)間: 2017-6-12 01:40
和我們剛學(xué)過的很像
作者: hyjxxy    時(shí)間: 2020-4-21 20:52
lomassun 發(fā)表于 2017-6-9 09:13
怎么把四位的數(shù)碼管改成兩個(gè)的?求問~

直接把前兩個(gè)數(shù)碼管去掉,把位選碼去掉兩個(gè),顯示程序前面兩位去掉就可以。本來就只用顯示9.9兩位。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 激情国产 | 天堂素人约啪 | 日本不卡一区二区 | 亚洲www. | 国产中文字幕在线观看 | 一区二区三区四区av | 91中文在线观看 | av高清毛片 | 在线成人免费观看 | 中文字幕亚洲一区二区三区 | 国产欧美一区二区三区在线看蜜臀 | 国产一区二区三区四区在线观看 | 精品日本久久久久久久久久 | 91精品国产综合久久久久久丝袜 | 欧美成人猛片aaaaaaa | 国产高清视频 | 日韩精品色网 | 日操操夜操操 | 亚洲一区欧美 | 久久亚洲免费 | 亚洲久草| 91久久精品国产免费一区 | 亚洲大片在线观看 | 国产伦精品一区二区三区高清 | 国产精品久久久久久吹潮日韩动画 | 国产精品综合一区二区 | 亚洲国产精品suv | 欧美日韩综合精品 | 亚洲欧美在线观看 | 国产精品99久久久久久宅男 | 成人久久18免费网站 | 中文字幕精品一区久久久久 | 成人国产精品色哟哟 | 99国产精品久久久久 | 欧美一区二区三区四区在线 | 成人在线视频网址 | 亚洲成av | 久久久一区二区三区四区 | 很很干很很日 | 欧美精品一区二区在线观看 | 欧美一区免费 |