亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機電子秒表仿真及源程序 實現0.01S~59分的計時 帶3按鍵

查看數: 8934 | 評論數: 3 | 收藏 4
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2017-3-18 04:03

正文摘要:

給51黑電子論壇的朋友們分享一個51單片機做的電子秒表程序,帶開始和停止和清除3個按鍵,可以實現0.01S~59分的計時。下面是該電子秒表的仿真原理圖:

回復

ID:612453 發表于 2019-9-17 17:29
51hei官方發布 發表于 2017-3-18 04:04
該秒表的led數碼管驅動程序:

你好嗎要怎么把中間的橫線去掉了只用六位
無效樓層,該帖已經被刪除
ID:140725 發表于 2017-3-18 04:04
該秒表的led數碼管驅動程序:
  1. #define LED_GLOBAL 1
  2. #include "led.h"
  3. /****************************************
  4. *函數名稱:delay_us(uint us)
  5. *函數功能:實現微秒級的延時
  6. *函數入口:us,延時函數循環后期數
  7. *函數出口:無
  8. ****************************************/
  9. void delay_us(uint us)
  10. {
  11.   uint i;
  12.   while(us--)
  13.   {
  14.     for(i=0;i<100;i++);
  15.   }
  16. }
  17. /****************************************
  18. *函數名稱:led_init(void)
  19. *函數功能:六位七段數碼管顯示初始化
  20. *函數入口:無
  21. *函數出口:無
  22. ****************************************/
  23. void led_init(void)
  24. {
  25.    LED=segLedCode[0];
  26.    LED_CS1=0;
  27.    LED_CS2=0;
  28.    LED_CS3=0;
  29.    LED_CS4=0;
  30.    LED_CS5=0;
  31.    LED_CS6=0;
  32.    LED_CS7=0;
  33.    LED_CS8=0;
  34. }
  35. /**********************************************
  36. *函數名稱:ledWrite(uchar c,uchar n,uchar mod)
  37. *函數功能:對一組數碼管的某一位進行短暫顯示
  38. *函數入口:c,要顯示的數據;n,顯示一組數碼管中的
  39.            第n位;mod,c的數據形式
  40. *函數出口:無
  41. *說明:當mod==DIGITAL時,c為數字0~9的ANCII碼形式,
  42.        此時在n位數碼管上顯示想用數字
  43.        當mod==CHARACTER,直接將c輸出數據口
  44. ***********************************************/
  45. void ledWrite(uchar c,uchar n,uchar mod)
  46. {
  47.    if(CHARACTER==mod)
  48.    {
  49.           LED=c;  
  50.    }
  51.    else if(DIGITAL==mod)
  52.            {
  53.               if((c-'0')<0x0a)
  54.                   {
  55.                     LED=segLedCode[c-'0'];
  56.                   }
  57.                   else
  58.                   {  
  59.                         LED=segLedCode[0];
  60.                   }
  61.            }
  62.    switch(n)
  63.    {
  64.                 case 0x01:
  65.                 {
  66.                   LED_CS1=0;
  67.                   delay_us(10);
  68.                   LED_CS1=1;
  69.                   break;
  70.                 }
  71.                 case 0x02:
  72.                 {
  73.                   LED_CS2=0;
  74.                   delay_us(10);
  75.                   LED_CS2=1;
  76.                   break;
  77.                 }
  78.                 case 0x03:
  79.                 {
  80.                   LED_CS3=0;
  81.                   delay_us(10);
  82.                   LED_CS3=1;
  83.                   break;
  84.                 }
  85.             case 0x04:
  86.                 {
  87.                   LED_CS4=0;
  88.                   delay_us(10);
  89.                   LED_CS4=1;
  90.                   break;
  91.                 }
  92.                 case 0x05:
  93.                 {
  94.                   LED_CS5=0;
  95.                   delay_us(10);
  96.                   LED_CS5=1;
  97.                   break;
  98.                 }
  99.                 case 0x06:
  100.                 {
  101.                   LED_CS6=0;
  102.                   delay_us(10);
  103.                   LED_CS6=1;
  104.                   break;
  105.                 }
  106.                 case 0x07:
  107.                 {
  108.                  LED_CS7=0;
  109.                   delay_us(10);
  110.                   LED_CS7=1;
  111.                   break;
  112.                 }
  113.                 case 0x08:
  114.                 {
  115.                   LED_CS8=0;
  116.                   delay_us(10);
  117.                   LED_CS8=1;
  118.                   break;
  119.                 }
  120.                 default:
  121.                   break;

  122.    }

  123. }
  124. /***************************************************************************
  125. *函數名稱:ledSweepDisplay(uchar *segCode,uchar segCodeMod,uchar segNumber)
  126. *函數功能:循環在數碼管上顯示緩沖區中的數據
  127. *函數入口:segCode,指向顯示緩沖區中的指針;segCodeMod,0~7位為1或0標示1~8位數碼管
  128.            顯示的數據的類型(DIGITAL或者CHARACTER);segNumber,代表要顯示數碼管的
  129.                    位數
  130. *函數出口:無
  131. *說明:本函數主要實現將顯示緩沖區中的數據在數碼管上顯示出來
  132. ****************************************************************************/                     
  133. void ledSweepDisplay(uchar *segCode,uchar segCodeMod,uchar segNumber)
  134. {
  135.            uchar segCount;
  136.         for(segCount=0;segCount<segNumber;segCount++)
  137.         {
  138.            if(segCodeMod&0x01)            /*1代表此處顯示任意字符 */
  139.            {
  140.              ledWrite(segCode[segCount],segCount+1,CHARACTER);
  141.            }
  142.            else
  143.            {
  144.              ledWrite(segCode[segCount],segCount+1,DIGITAL);
  145.            }
  146.            segCodeMod=segCodeMod>>1;
  147.         }
  148. }
復制代碼

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表