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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 16658|回復(fù): 23
收起左側(cè)

單片機(jī)數(shù)碼管時(shí)鐘電路圖+源碼

  [復(fù)制鏈接]
ID:92643 發(fā)表于 2018-10-15 21:14 | 顯示全部樓層 |閱讀模式
用STC89c52單片機(jī),12M晶振。計(jì)時(shí)用T2定時(shí)器,16位自動(dòng)重裝模式  基本功能如下: 可以顯示年份、月、日、時(shí)間,有鬧鐘功能,有倒計(jì)時(shí)功能。 上電默認(rèn)顯示時(shí)間,可通過(guò)按鍵切換顯示年份、日期、鬧鐘、倒計(jì)時(shí),顯示一定時(shí)間后自動(dòng)返回到時(shí)間顯示。 在相應(yīng)的顯示狀態(tài)下按設(shè)置鍵進(jìn)行相應(yīng)的設(shè)置。如在時(shí)間顯示時(shí)按設(shè)置鍵可調(diào)整時(shí)間。其余類推倒計(jì)時(shí)最多可以倒數(shù)99小時(shí)59分59秒,設(shè)置完倒計(jì)時(shí)時(shí)間后進(jìn)入倒數(shù)狀態(tài),閃爍顯示倒數(shù)時(shí)間,中途可按鍵退出,倒數(shù)結(jié)束后鈴響1分鐘返回時(shí)間顯示。 鬧鐘可選擇開(kāi)或關(guān),鬧鈴響1分鐘停止。

電路原理圖如下:
0.png

制作出來(lái)的實(shí)物圖如下:
微信截圖_20181015211114.png

單片機(jī)源程序如下:
  1. #include <reg52.h>

  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. #define DispOFF 10;        //顯示關(guān)
  5. #define POINT 21;        //顯示小點(diǎn)
  6. #define F 22;
  7. #define H 23;
  8. #define M 24;
  9. #define N 25;
  10. #define O 26;

  11. sbit buzzer=P3^7;        //蜂鳴器控制腳

  12. uchar T2Count;
  13. uint T0Count;
  14. uchar key,key_new,key_old,KeyPressTime;
  15. uchar status;
  16. uchar month,day,hour,min,sec,AlarmHr,AlarmMin;
  17. uchar LastDay;
  18. uchar AlmTime,AlmCount,DispTime;
  19. uchar CountHr,CountMin,CountSec,CountSetSta=0;
  20. uint year;
  21. bit TimeAdj,AlarmAdj,AlarmSta;
  22. bit adjust,DigiBit;
  23. //數(shù)碼管顯示代碼
  24. uchar code LedCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,
  25.                       0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x7f,
  26.                                           0x8e,0x89,0xc8,0xab,0xa3
  27.                      };
  28. uchar Disp[4];

  29. void LedScan(void);
  30. void KeyScan(void);
  31. void years(void);
  32. void date(void);
  33. void timer(void);
  34. void alarmClock(void);
  35. void CountDown(void);
  36. void ring(void);
  37. uchar DaysCount(void);

  38. void Init(void)
  39. {
  40. TH2=0x3c;TL2=0xb0;
  41. RCAP2H=0x3c;RCAP2L=0xb0;
  42. EA=1;ET2=1;
  43. TR2=1;
  44. TMOD=0x01;
  45. //TH0=0x3c;
  46. //TL0=0xb0;
  47. ET0=1;
  48. P1=0xff;
  49. year=2011;
  50. month=1;
  51. day=1;
  52. hour=0;
  53. min=0;
  54. status=2;
  55. buzzer=1;
  56. }
  57. /************主函數(shù)*************/
  58. void main(void)
  59. {
  60. Init();
  61. while(1)
  62.    {
  63.     KeyScan();
  64.     LastDay=DaysCount();
  65.         switch(status)        //顯示狀態(tài)                               
  66.              {
  67.                   case 0:years();break;                        //顯示年
  68.                   case 1:date();break;                        //顯示日期
  69.                   case 2:timer();break;                        //顯示時(shí)間
  70.           case 3:alarmClock();break;        //顯示鬧鐘時(shí)間
  71.                   case 4:CountDown();break;                //顯示倒計(jì)時(shí)
  72.          }
  73.     LedScan();       
  74.     ring();
  75.    }
  76. }

  77. /***************定時(shí)器T0中斷函數(shù),用于倒計(jì)時(shí)**************/
  78. void timer0(void) interrupt 1 using 2
  79. {TH0=0x3c;
  80. TL0=0xb0;
  81. T0Count++;
  82. if(CountHr||CountMin||CountSec)
  83.         {if(T0Count==20)
  84.                 {CountSec--;T0Count=0;}
  85.          if(CountSec>=60)
  86.                 {CountSec=59;CountMin--;}
  87.          if(CountMin>=60)
  88.                 {CountMin=59;CountHr--;}
  89.         }
  90. if(T0Count==1200)
  91.         {TR0=0;
  92.          T0Count=0;
  93.         }
  94. }
  95. /**************定時(shí)器T2中斷函數(shù),用于計(jì)時(shí)**************/
  96. void timer2(void) interrupt 5 using 1
  97. {
  98. TF2=0;
  99. if(++T2Count==20)
  100.    {sec++;T2Count=0;}
  101. if(!TimeAdj)        //時(shí)間調(diào)整時(shí),暫停計(jì)時(shí)
  102.         {if(sec==60)
  103.                    {min++;sec=0;}
  104.          if(min==60)
  105.                    {hour++;min=0;}
  106.          if(hour==24)
  107.                    {day++;hour=0;}
  108.          if(day>LastDay)
  109.                    {month++;day=1;}
  110.          if(month>12)
  111.             {year++;month=1;}
  112.         }
  113. }

  114. void delay(uchar x)
  115. {
  116. uchar k;
  117. while(x--)
  118.       for(k=0;k<123;k++);
  119. }
  120. /***********數(shù)碼管掃描顯示函數(shù)***************/
  121. void LedScan(void)
  122. {
  123. uchar i;
  124. uchar temp=0x08;
  125. for(i=0;i<4;i++)
  126.     {
  127.      P0=LedCode[Disp[i]];        //送段碼
  128.      P2=~temp;temp>>=1;                //LED顯示位控制
  129.      delay(3);                                //延時(shí)
  130.          P2=0xff;                                //關(guān)顯示
  131.     }
  132. }
  133. /**********按鍵掃描程序***************/
  134. void KeyScan(void)
  135. {
  136. if((P1&0x0f)!=0x0f)                //如果按下按鍵
  137.    {if(KeyPressTime>0)                //延時(shí)
  138.           {
  139.            switch(~(P1|0xf0))        //判斷鍵值
  140.              {
  141.               case 0x01:key_new=1;break;
  142.               case 0x02:key_new=2;break;
  143.               case 0x04:key_new=3;break;
  144.                           case 0x08:key_new=4;break;
  145.                          }
  146.           }
  147.         KeyPressTime++;                        //按鍵時(shí)間加1
  148.    }
  149. else                                                //如果沒(méi)有按鍵按下
  150.    {key_new=0;                                //鍵值清零
  151.     KeyPressTime=0;                        //按鍵時(shí)間清零
  152.    }
  153. if(key_new!=key_old)                //如果前后兩次鍵值不同
  154.     {key=key_new;                        //鍵值等于本次鍵值
  155.         }
  156. else                                                //如果前后兩次鍵值相同(按住按鍵未釋放)
  157.    {key=0;                                        //鍵值清零
  158.     if(KeyPressTime>100)        //按鍵時(shí)間大于100,差不多1秒(作長(zhǎng)按鍵處理)
  159.           {KeyPressTime-=30;        //按鍵時(shí)間減30,當(dāng)累加到100再次動(dòng)作,相當(dāng)于300毫秒按鍵一次,
  160.            key=key_new;                        //得到本次鍵值
  161.           }
  162.    }
  163. key_old=key_new;                   //記住本次鍵值
  164. }
  165. /***********計(jì)算本月有多少天**************/
  166. uchar DaysCount(void)                                                       
  167. {
  168. if(month==4||month==6||month==9||month==11)                //4、6、9、11月為30天
  169.    return 30;
  170. else if(month!=2)                                                                //1、3、5、7、8、10、12月為31天
  171.         return 31;
  172. if(month==2)
  173.   {if((year%4==0&&year%100!=0)||(year%400==0))
  174.       return 29;                                                                //閏年2月為29天
  175.    else
  176.       return 28;                                                                //非閏年2月為28天
  177.   }
  178. }
  179. /**************年函數(shù)**************/
  180. void years(void)
  181. {
  182. if(adjust)                //設(shè)置,調(diào)整年
  183.    {
  184.         switch(key)        //處理按鍵
  185.                 {case 1:{
  186.                              year++;                //年加1
  187.                                  break;
  188.                                 }
  189.                  case 2:{
  190.                                  year--;                //年減1
  191.                  break;
  192.                                 }
  193.                  case 3:{
  194.                                  adjust=0;                //退出設(shè)置
  195.                                  DispTime=0;
  196.                                  break;
  197.                                  }
  198.             }
  199.    }
  200. else
  201.    {
  202.     if(key==2) status++;                //顯示狀態(tài)加1,進(jìn)入日期顯示
  203.         if(key==3) adjust=1;                //進(jìn)入設(shè)置
  204.         if(++DispTime==200)                        //顯示時(shí)間加1,系統(tǒng)默認(rèn)顯示時(shí)間,通過(guò)按鍵切換其他顯示一段時(shí)間后自動(dòng)返回時(shí)間顯示
  205.                 {status=2;                                //利用程序循環(huán)執(zhí)行一次的時(shí)間作延時(shí),每循環(huán)一次DispTime+1,加到200后退出返回時(shí)間顯示
  206.                   DispTime=0;                        //DispTime清零
  207.                 }
  208.    }
  209. Disp[0]=year/1000;                                //年份千位
  210. Disp[1]=year/100%10;                        //年份百位
  211. Disp[2]=year/10%10;                        //年份十位
  212. Disp[3]=year%10;                                //年份個(gè)位
  213. if(T2Count<=10)
  214.    {if(adjust)                                        //如果調(diào)整年份,顯示閃爍
  215.            Disp[0]=Disp[1]=Disp[2]=Disp[3]=DispOFF;                                 
  216.    }
  217. }
  218. /***********日期函數(shù)***************/
  219. void date(void)
  220. {
  221. if(adjust)        //調(diào)整日期
  222.    {
  223.         switch(key)
  224.             {case 1:{
  225.                                  if(DigiBit==0) month++;        //月加1
  226.                                  else day++;                                //日加1
  227.                  if(month>12) month=1;                //月大于12,月份等于1
  228.                                  if(day>LastDay) day=1;                //日大于本月最后一日,日等于1
  229.                                  break;
  230.                                 }
  231.                  case 2:{
  232.                                  if(DigiBit==0) month--;        //月減1
  233.                                  else day--;                                //日減1
  234.                                  if(month==0) month=12;                //月=0,月份=12
  235.                                  if(day==0) day=LastDay;        //日=0,日等于本月最后一天
  236.                  break;
  237.                                 }
  238.                  case 3:{
  239.                                  DigiBit=~DigiBit;                        //月、日設(shè)置選擇切換
  240.                                  if(DigiBit==0)                                //DigiBit=0 選擇月 DigiBit=1 選擇日
  241.                                           {adjust=0;                               
  242.                                          DispTime=0;
  243.                                         }
  244.                                  break;
  245.                                 }
  246.                 }                         
  247.    }
  248. else
  249.    {
  250.         if(key==1) {status--;DispTime=0;}                //顯示年,顯示時(shí)間清零重新計(jì)算
  251.     if(key==2) status++;                                        //顯示時(shí)間
  252.         if(key==3) adjust=1;                                        //進(jìn)入設(shè)置
  253.         if(++DispTime==200)                                                //顯示時(shí)間到,返回時(shí)間顯示
  254.                 {status=2;
  255.                   DispTime=0;
  256.                 }
  257.    }
  258. Disp[0]=month/10;
  259. Disp[1]=month%10;
  260. Disp[2]=day/10;
  261. Disp[3]=day%10+11;
  262. if(T2Count<=10)
  263.    {if(adjust)
  264.           {
  265.            if(!DigiBit)                        //如果調(diào)整日,日顯示閃爍
  266.              {
  267.                   Disp[0]=DispOFF;
  268.                   Disp[1]=DispOFF;
  269.                  }
  270.            else                                        //如果調(diào)整月,月顯示閃爍
  271.                  {
  272.                   Disp[2]=DispOFF;
  273.                   Disp[3]=POINT;
  274.                  }
  275.           }                                         
  276.    }
  277. }
  278. /**************時(shí)間函數(shù)****************/
  279. void timer(void)
  280. {
  281. if(TimeAdj)        //調(diào)整時(shí)間
  282.    {
  283.         switch(key)
  284.                 {case 1:{                        //up/加 按鍵
  285.                                  if(DigiBit==0) hour++;        //根據(jù)按鍵選擇時(shí)間、分鐘加調(diào)整
  286.                                  else min++;
  287.                  if(hour==24) hour=0;
  288.                                  if(min==60) min=0;
  289.                                  break;
  290.                                 }
  291.                  case 2:{                        //down 減 按鍵
  292.                                  if(DigiBit==0) hour--;        //時(shí)間、分鐘減調(diào)整
  293.                                  else min--;
  294.                                  if(hour>=24) hour=23;
  295.                                  if(min>=60) min=59;
  296.                  break;
  297.                                 }
  298.                  case 3:{
  299.                                  DigiBit=~DigiBit;                //DigiBit=0 小時(shí),DigiBit=1 分鐘
  300.                                  if(DigiBit==0)                 //時(shí)間設(shè)置完后,秒清零,定時(shí)器重新計(jì)時(shí)
  301.                                          {sec=0;
  302.                                          TR2=0;
  303.                                          TH2=0x3c;TL2=0xb0;
  304.                                          T2Count=0;
  305.                                          TR2=1;
  306.                                          TimeAdj=0;
  307.                                         }
  308.                                  break;
  309.                                 }
  310.                    }
  311.    }
  312. else
  313.    {
  314.         if(key==1) {status--;DispTime=0;}
  315.     if(key==2) {status++;DispTime=80;}//進(jìn)入鬧鐘顯示,顯示時(shí)間初始值為80
  316.         if(key==3) TimeAdj=1;
  317.    }
  318. Disp[0]=hour/10;
  319. Disp[1]=hour%10;
  320. Disp[2]=min/10+11;
  321. Disp[3]=min%10+11;
  322. if(T2Count<=10)
  323.    {if(TimeAdj)
  324.           {
  325.            if(!DigiBit)
  326.                  {
  327.                   Disp[0]=DispOFF;
  328.                   Disp[1]=DispOFF;
  329.                  }
  330.            else
  331.                  {
  332.                   Disp[2]=POINT;
  333.                   Disp[3]=POINT;
  334.                  }
  335.           }
  336.         else
  337.           {
  338.            Disp[2]=min/10;
  339.            Disp[3]=min%10;       
  340.           }
  341.    }
  342. }
  343. /*************鬧鐘函數(shù)***************/
  344. void alarmClock(void)
  345. {Disp[0]=AlarmHr/10;
  346. Disp[1]=AlarmHr%10;
  347. Disp[2]=AlarmMin/10+11;
  348. Disp[3]=AlarmMin%10+11;
  349. if(DispTime<80)//顯示時(shí)間<80,顯示鬧鐘開(kāi)關(guān)狀態(tài),顯示時(shí)間>=80,顯示鬧鐘時(shí)間
  350.         {if(AlarmSta)
  351.                 {Disp[0]=DispOFF;
  352.                  Disp[1]=DispOFF;
  353.                  Disp[2]=O;
  354.                  Disp[3]=N;
  355.                 }
  356.          else
  357.                  {Disp[0]=DispOFF;
  358.                  Disp[1]=O;
  359.                  Disp[2]=F;
  360.                  Disp[3]=F;
  361.                 }
  362.         }
  363. if(AlarmAdj)//設(shè)置鬧鐘時(shí)間
  364.    {
  365.         switch(key)
  366.                 {case 1:{
  367.                                  if(DigiBit==0) AlarmHr++;
  368.                                  else AlarmMin++;
  369.                  if(AlarmHr==24) AlarmHr=0;
  370.                                  if(AlarmMin==60) AlarmMin=0;
  371.                                  break;
  372.                                 }
  373.                  case 2:{
  374.                                  if(DigiBit==0) AlarmHr--;
  375.                                  else AlarmMin--;
  376.                                  if(AlarmHr>=24) AlarmHr=23;
  377.                                  if(AlarmMin>=60) AlarmMin=59;
  378.                  break;
  379.                                 }
  380.                  case 3:{
  381.                                  DigiBit=~DigiBit;
  382.                                  if(DigiBit==0)
  383.                                          {AlarmAdj=0;
  384.                                          DispTime=80;
  385.                                         }
  386.                                  break;
  387.                                 }
  388.                 }
  389.     if(T2Count<=10)
  390.           {
  391.            if(!DigiBit)
  392.                  {
  393.                   Disp[0]=DispOFF;
  394.                   Disp[1]=DispOFF;
  395.                  }
  396.            else
  397.               {
  398.                    Disp[2]=POINT;
  399.                    Disp[3]=POINT;
  400.                   }
  401.       }
  402.    }
  403. else
  404.    {
  405.         if(key==1) status--;
  406.     if(key==2)
  407.             {status++;
  408.                  DispTime=0;
  409.                 }
  410.         if(key==3) AlarmAdj=1;
  411.         if(key==4)//鬧鐘開(kāi)關(guān)按鍵
  412.                 {if(DispTime<80)                //初次按下,顯示上次設(shè)置狀態(tài)
  413.                         AlarmSta=~AlarmSta;        //再按可改變?cè)O(shè)置
  414.                  DispTime=0;//每按一次,顯示時(shí)間清零,顯示鬧鐘開(kāi)關(guān)狀態(tài)
  415.                 }
  416.         DispTime++;
  417.         if(DispTime==255)
  418.                 {status=2;
  419.                  DispTime=0;
  420.                 }
  421.    }

  422. }
  423. /**************倒計(jì)時(shí)函數(shù)*****************/
  424. void CountDown(void)
  425. {
  426. if(adjust)//設(shè)置倒數(shù)時(shí)間
  427.    {
  428.         switch(CountSetSta)
  429.                 {case 0:{//設(shè)置倒數(shù)小時(shí)
  430.                                  if(key==1) CountHr++;
  431.                                  if(key==2) CountHr--;
  432.                                  if(key==3) CountSetSta++;
  433.                                  if(CountHr==100) CountHr=0;
  434.                                  if(CountHr>100) CountHr=99;
  435.                                  Disp[0]=H;
  436.                                  Disp[1]=DispOFF;
  437.                                  Disp[2]=CountHr/10;
  438.                                  Disp[3]=CountHr%10;
  439.                                  break;
  440.                                 }
  441.                  case 1:{//設(shè)置倒數(shù)分鐘
  442.                                  if(key==1) CountMin++;
  443.                                  if(key==2) CountMin--;
  444.                                  if(key==3) CountSetSta++;
  445.                                  if(CountMin==60) CountMin=0;
  446.                                  if(CountMin>60) CountMin=59;
  447.                                  Disp[0]=M;
  448.                                  Disp[1]=DispOFF;
  449.                                  Disp[2]=CountMin/10;
  450.                                  Disp[3]=CountMin%10;
  451.                                  break;
  452.                                 }
  453.                  case 2:{//設(shè)置倒數(shù)秒
  454.                                  if(key==1) CountSec++;
  455.                                  if(key==2) CountSec--;
  456.                                  if(key==3) //設(shè)置鍵
  457.                                          {if(CountHr||CountMin||CountSec)//設(shè)置完成后,若倒數(shù)的時(shí)、分、秒不為零,倒計(jì)時(shí)開(kāi)始
  458.                                                 {TH0=0x3c; TL0=0xb0;
  459.                                                  T0Count=0;
  460.                                                   TR0=1;
  461.                                                 }
  462.                                          CountSetSta=0;
  463.                                          adjust=0;
  464.                                          DispTime=0;
  465.                                         }
  466.                                  if(CountSec==60) CountSec=0;
  467.                                  if(CountSec>60) CountSec=59;
  468.                                  Disp[0]=5;
  469.                                  Disp[1]=DispOFF;
  470.                                  Disp[2]=CountSec/10;
  471.                                  Disp[3]=CountSec%10;
  472.                                  break;
  473.                                 }
  474.                 }
  475.    }
  476. else
  477.    {
  478.         if(key==1)                //進(jìn)入鬧鐘顯示
  479.                 {status--;
  480.                  DispTime=80;
  481.                 }
  482.         if(key==3)                //設(shè)置倒數(shù)時(shí)間
  483.                 {
  484.                  TR0=0;
  485.                   CountHr=CountMin=CountSec=0;
  486.                  adjust=1;
  487.                   }
  488.         if(key==4)                //停止倒計(jì)時(shí)
  489.                 {TR0=0;
  490. ……………………

  491. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
單片機(jī)數(shù)碼管時(shí)鐘.rar (29.23 KB, 下載次數(shù): 298)



評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:441230 發(fā)表于 2018-12-6 21:36 | 顯示全部樓層
挺好的
回復(fù)

使用道具 舉報(bào)

ID:388130 發(fā)表于 2019-4-12 16:36 | 顯示全部樓層
很好
回復(fù)

使用道具 舉報(bào)

ID:399949 發(fā)表于 2019-4-15 09:23 | 顯示全部樓層
新人拿來(lái)練手,感謝樓主
回復(fù)

使用道具 舉報(bào)

ID:505337 發(fā)表于 2019-4-15 22:48 來(lái)自手機(jī) | 顯示全部樓層
怎么樣
回復(fù)

使用道具 舉報(bào)

ID:388099 發(fā)表于 2019-4-16 13:04 | 顯示全部樓層
正在學(xué)習(xí)單片機(jī),感謝分享。
回復(fù)

使用道具 舉報(bào)

ID:300463 發(fā)表于 2019-4-16 15:43 | 顯示全部樓層
新人拿來(lái)練手,感謝樓主
回復(fù)

使用道具 舉報(bào)

ID:505337 發(fā)表于 2019-4-16 21:53 來(lái)自手機(jī) | 顯示全部樓層
怎么樣
回復(fù)

使用道具 舉報(bào)

ID:568565 發(fā)表于 2019-6-21 09:09 | 顯示全部樓層
很好的資料
回復(fù)

使用道具 舉報(bào)

ID:568565 發(fā)表于 2019-6-22 10:46 來(lái)自手機(jī) | 顯示全部樓層
非常好的資料
回復(fù)

使用道具 舉報(bào)

ID:435101 發(fā)表于 2019-10-28 16:56 | 顯示全部樓層
資料試過(guò)        很好!可是為何時(shí)間與分之間的點(diǎn)不能顯示????
回復(fù)

使用道具 舉報(bào)

ID:435101 發(fā)表于 2019-10-28 16:56 | 顯示全部樓層
資料試過(guò)        很好!可是為何時(shí)間與分之間的點(diǎn)不能顯示????
回復(fù)

使用道具 舉報(bào)

ID:637741 發(fā)表于 2019-11-24 20:44 來(lái)自手機(jī) | 顯示全部樓層
請(qǐng)問(wèn)四個(gè)按鈕分別什么作用
回復(fù)

使用道具 舉報(bào)

ID:658691 發(fā)表于 2019-12-10 10:51 來(lái)自手機(jī) | 顯示全部樓層
開(kāi)關(guān)按鍵的詳細(xì)操作說(shuō)明能發(fā)一份嗎?
回復(fù)

使用道具 舉報(bào)

ID:659682 發(fā)表于 2019-12-10 12:53 來(lái)自手機(jī) | 顯示全部樓層
資料非常好,如果用八聯(lián)管怎么設(shè)置,請(qǐng)求高手幫助
回復(fù)

使用道具 舉報(bào)

ID:659463 發(fā)表于 2019-12-10 18:47 來(lái)自手機(jī) | 顯示全部樓層
新人剛學(xué),課堂實(shí)驗(yàn),來(lái)參考一下,很不錯(cuò),謝謝了
回復(fù)

使用道具 舉報(bào)

ID:659263 發(fā)表于 2019-12-14 11:06 | 顯示全部樓層
怎么沒(méi)法顯示?
回復(fù)

使用道具 舉報(bào)

ID:659263 發(fā)表于 2019-12-14 11:40 | 顯示全部樓層
在仿真的時(shí)候用哪個(gè)型號(hào)的單片機(jī)?
回復(fù)

使用道具 舉報(bào)

ID:359777 發(fā)表于 2020-6-27 20:14 | 顯示全部樓層
很全面的資料,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:476623 發(fā)表于 2020-8-14 15:19 | 顯示全部樓層
下載學(xué)學(xué)看
樓主辛苦了
回復(fù)

使用道具 舉報(bào)

ID:245820 發(fā)表于 2020-9-9 15:37 | 顯示全部樓層
值得學(xué)習(xí),樓主水平很高哦
回復(fù)

使用道具 舉報(bào)

ID:85480 發(fā)表于 2021-10-26 13:09 | 顯示全部樓層
樓主威武,正好在搞這個(gè)。非常感謝分享
回復(fù)

使用道具 舉報(bào)

ID:590050 發(fā)表于 2021-10-26 13:45 | 顯示全部樓層
高手,動(dòng)手能力強(qiáng)
回復(fù)

使用道具 舉報(bào)

ID:315554 發(fā)表于 2021-10-26 21:49 | 顯示全部樓層
謝謝分享,看圖是共陽(yáng)數(shù)碼管吧,
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表