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

標題: 單片機秒表計時器Proteus仿真+程序 已成功 [打印本頁]

作者: QEQWE123    時間: 2021-7-2 21:14
標題: 單片機秒表計時器Proteus仿真+程序 已成功
秒表計時器,仿真+程序已成功
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char        //無符號字符型宏定義
  3. #define   MS   2000
  4. uchar code led1[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //不帶小數點數碼管段碼
  5. uchar code led2[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//帶小數點數碼管段碼
  6. uchar n=0,m=0,j=0,k=0;//四位要顯示數據
  7. uchar keyln=0; //按鍵值
  8. sbit key=P3^3; //按鍵接口
  9. sbit key2=P3^2;
  10. sbit key1=P3^1;
  11. sbit key4=P3^4;
  12. uchar bit_;
  13. uchar num;
  14. uchar z,x,c,v;
  15. uchar h;
  16. uchar flag=0;
  17. uchar val[5][5];
  18. char val_index;
  19. uchar bc[4];
  20. uchar bc2[4];
  21. void Display2(void)        ;
  22. void Display3(void)        ;          //顯示函數;
  23. void Delay_ms(uchar s);//延時函數聲明
  24. void Display(void);         //顯示函數聲明

  25. void disp_1();
  26. void disp_2();
  27. void disp_3();
  28. void disp_4();
  29. void main(void)        // 主函數
  30. {
  31.           TMOD=0X01;          //定時器0方式1
  32.         TH0=(65536-8000)/256;  //預設初值高位
  33.         TL0=(65536-8000)%256;  //預設初值低位
  34.         ET0=1;         //開定時器0中斷
  35.         EA=1;          //開總中斷
  36.         TR0=0;          //定時器關
  37.         z=x=c=v=0;
  38.         while(1)   //主函數循環
  39.         {               

  40.                
  41. if(key==0)          //判斷按鍵是否按下
  42.         {
  43.                 Delay_ms(50);  //延時,軟件消抖
  44.                 if(key==0)          //再次判斷按鍵是否一直被按下
  45.                 {
  46.                                 TR0=!TR0;
  47.                         while(!key); //等待按鍵彈起
  48.                 }
  49.         }
  50. if(key4==0)          //判斷按鍵是否按下
  51.         {
  52.                 Delay_ms(50);  //延時,軟件消抖
  53.                 if(key4==0)          //再次判斷按鍵是否一直被按下
  54.                 {
  55.                                 n=m=j=k=0;
  56.                         while(!key4); //等待按鍵彈起
  57.                 }
  58.         }


  59.         Display();//正常模式下數據

  60. }
  61. }

  62. void timer0(void) interrupt 1           //定時器0中斷服務子程序
  63. {
  64.           TH0=(65536-8000)/256;                   //重賦初值高位
  65.         TL0=(65536-8000)%256;                   //重賦初值低位
  66.         //num++;
  67.        
  68.         n++;                                                   //秒表最低位+1
  69.         if(n==10)                                           //如果最低位=10
  70.         {
  71.           n=0;                                                   //則最低位清0
  72.           m++;                                                   //前一位+1
  73.           if(m==10)                                          //以下如此推理
  74.           {
  75.             m=0;
  76.                   j++;
  77.                 if(j==10)
  78.                 {
  79.                     j=0;
  80.                     k++;
  81.                if(k==6)                           //當最高位為10時,全部清零
  82.                   {
  83.                         n=0;
  84.                         m=0;
  85.                         j=0;
  86.                         k=0;
  87.                   }
  88.                 }
  89.           }
  90.         }
  91. }
  92. void Delay_ms(uchar s)          //延時函數
  93. {
  94.     uchar i;
  95.         for(i=0;i<s;i++);
  96. }




  97. void Display(void)                  //顯示函數
  98. {

  99.           P2=0XF7;                          //最低位
  100.           P1=led1[n];
  101.           Delay_ms(MS);
  102.           P2=0XFF;

  103.           P2=0XFB;                         //第三位
  104.           P1=led1[m];
  105.           Delay_ms(MS);
  106.           P2=0XFF;

  107.           P2=0XFD;                        //第二位
  108.           P1=led2[j];
  109.           Delay_ms(MS);
  110.           P2=0XFF;
  111.        
  112.           P2=0XFE;                         //第一位
  113.           P1=led1[k];
  114.           Delay_ms(MS);
  115.           P2=0XFF;               
  116. }                       



  117. void Display2(void)                  //顯示函數
  118. {
  119.                   P2=0XF7;                          //最低位
  120.                   P1=led1[bc[0]];
  121.                   Delay_ms(MS);
  122.                   P2=0XFF;

  123.                   P2=0XFB;                         //第三位
  124.                   P1=led1[bc[1]];
  125.                   Delay_ms(MS);
  126.                   P2=0XFF;

  127.                   P2=0XFD;                        //第二位
  128.                   P1=led2[bc[2]];
  129.                   Delay_ms(MS);
  130.                   P2=0XFF;

  131.                
  132.                   P2=0XFE;                         //第一位
  133.                   P1=led1[bc[3]];
  134.                   Delay_ms(MS);
  135.                   P2=0XFF;       
  136. }       

  137. void Display3(void)                  //顯示函數
  138. {
  139.               P2=0XF7;                          //最低位
  140.                   P1=led1[bc2[0]];
  141.                   Delay_ms(MS);
  142.                   P2=0XFF;

  143.                   P2=0XFB;                         //第三位
  144.                   P1=led1[bc2[1]];
  145.                   Delay_ms(MS);
  146.                   P2=0XFF;

  147.                   P2=0XFD;                        //第二位
  148.                   P1=led2[bc2[2]];
  149.                   Delay_ms(MS);
  150.                   P2=0XFF;

  151.                
  152.                   P2=0XFE;                         //第一位
  153.                   P1=led1[bc2[3]];
  154.                   Delay_ms(MS);
  155.                   P2=0XFF;       
  156.        
  157. }       
復制代碼

所有資料51hei提供下載(Proteus是7.5版本的工程,不要用高版本打開):
秒表基礎版.rar (73.07 KB, 下載次數: 130)


作者: whbt51h    時間: 2021-7-6 09:35
謝謝樓主。請問仿真軟件是Proteus,制圖用什么軟件呢?
作者: sorachw    時間: 2022-12-19 14:20
能問問怎么把量程設置成99.99嗎




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久精品国产99国产精品 | 99久久免费精品国产男女高不卡 | 久久久成人一区二区免费影院 | 人人看人人爽 | 亚洲精品久 | 久久久精品一区二区三区四季av | 欧美日本在线观看 | 亚洲国产精品久久久久婷婷老年 | 91在线免费观看网站 | 日韩美女一区二区三区在线观看 | 欧美日韩在线免费 | 精品91久久久 | 久久久久久精 | 日韩在线中文字幕 | 在线 丝袜 欧美 日韩 制服 | 久久久91精品国产一区二区三区 | 中文一区二区视频 | 亚洲一区在线播放 | 国产精品自产av一区二区三区 | 在线视频一区二区 | 国产精品久久久久久久久久妞妞 | 日韩三级免费观看 | 国产欧美日韩一区二区三区在线 | 91视频观看 | 国产一区二区三区 | 久久午夜视频 | 午夜国产羞羞视频免费网站 | 日韩成人中文字幕 | 亚洲一区免费视频 | 久久亚洲一区二区 | 色综合美女 | 欧美一级欧美一级在线播放 | 性xxxxx | 精产国产伦理一二三区 | 久久99国产精一区二区三区 | 日韩一级免费看 | 成人欧美一区二区三区在线播放 | 欧美激情在线播放 | 手机av网 | 久久久久精 | 中文字幕动漫成人 |