欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: C51單片機(jī)控制數(shù)碼顯示管仿真與程序源碼 [打印本頁(yè)]

作者: 關(guān)耳    時(shí)間: 2018-5-9 18:26
標(biāo)題: C51單片機(jī)控制數(shù)碼顯示管仿真與程序源碼
一、       實(shí)驗(yàn)原理及實(shí)驗(yàn)線路

74LS47是七段譯碼器。它是將BCD碼翻譯成七段驅(qū)動(dòng)碼,驅(qū)動(dòng)數(shù)碼管顯示數(shù)據(jù),數(shù)碼管為共陰普亮數(shù)碼管,型號(hào)為LTS547RBCD碼由P0口的低四位輸出,P2口作為位選口,P2.0對(duì)應(yīng)左(右)邊哪塊是顯示塊,P2.3對(duì)應(yīng)右(左)邊的哪塊是末顯示塊。工作時(shí),先送BCD碼,再選位,使選中的數(shù)碼管點(diǎn)亮,往復(fù)循環(huán)。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


二、       實(shí)驗(yàn)內(nèi)容

1.       開機(jī)上電后,左循環(huán)顯示“1”,“2”,“3”,“4”。

2.       按K1鍵,右循環(huán)顯示“1”,“2”,“3”,“4”。

3.       按K2鍵,要求無(wú)閃爍顯示,先四個(gè)顯示塊顯示12341秒后四個(gè)顯示塊同時(shí)顯示5678

仿真圖、C語(yǔ)言源程序見圖片和附件

單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char//宏 定義
  3. #define uint unsigned int
  4. sbit K1=P3^2;
  5. sbit K2=P3^3;
  6. uchar flag=1;
  7. uchar bint=0;

  8. void delay1(uint z)//延時(shí)約 1ms
  9. {
  10. while(z--);
  11. }

  12. void delay()//延時(shí)約 1ms
  13. {
  14.   uint m;
  15.   for(m=0;m<0xFFFF;m++);
  16. }
  17. uchar table[]={0x01,0x02,0x03,0x04};
  18. uchar table1[]={0x05,0x06,0x07,0x08};
  19. uchar table2[]={0x01,0x02,0x04,0x08};
  20. uchar table3[]={0x08,0x04,0x02,0x01};


  21. void disp1()
  22. {
  23.     uchar i;
  24.    for(i=0;i<4;i++)
  25.     {
  26.     P0=table[i];
  27.     P2=table2[i];
  28.     if(bint==1)
  29.            break;
  30.          delay();
  31.         }
  32.         bint=0;
  33. }

  34. void disp2()
  35. {
  36.     uchar j;
  37.      for(j=0;j<4;j++)
  38.     {
  39.                 P0=table[j];
  40.         P2=table3[j];
  41.         delay();
  42.      }
  43.     flag=1;
  44. }

  45. void disp3()
  46. {
  47.       uchar k,m;
  48.           m=0x0035;
  49.           while(m)
  50.           {
  51.               for(k=0;k<4;k++)
  52.           {
  53.             P0=table[k];
  54.             P2=table2[k];
  55.             delay1(1000);
  56.                     P2=0X00;
  57.           }
  58.                   m--;
  59.           }                                
  60.           m=0x0080;
  61.       while(m)
  62.           {
  63.              for(k=0;k<4;k++)
  64.          {
  65.            P0=table1[k];
  66.            P2=table2[k];
  67.                    delay1(1000);
  68.                    P2=0X00;
  69.          }
  70.                  m--;
  71.           }         
  72.       flag=1;
  73. }



  74. void Mainloop()
  75. {
  76.     switch(flag)
  77.         {
  78.             case 1:disp1();
  79.                        break;
  80.                 case 2:disp2();
  81.                        break;
  82.                 case 3:disp3();
  83.                        break;           
  84.         }
  85. }
  86. void int0() interrupt 0
  87. {
  88.      flag=2;
  89.          bint=1;
  90. }
  91. void int1() interrupt 2
  92. {
  93.          flag=3;
  94.          bint=1;
  95. }

  96. void main()
  97. {
  98. EX0=1;
  99. IT0=1;
  100. EX1=1;
  101. IT1=1;
  102. EA=1;
  103.    while(1)
  104.    {
  105.              Mainloop();
  106.    }
  107. }

復(fù)制代碼


所有資料51hei提供下載:
Desktop.rar (16.3 KB, 下載次數(shù): 9)







歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1