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

QQ登錄

只需一步,快速開始

搜索

51單片機(jī)控制數(shù)碼管動(dòng)態(tài)顯示 弄了好幾天都達(dá)不到想要的效果

查看數(shù): 1859 | 評(píng)論數(shù): 4 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2023-1-28 17:40

正文摘要:

弄了好幾天都達(dá)不到想要的效果,所以想在這里向大家取取經(jīng)。 任務(wù):使用51單片機(jī)控制6位數(shù)碼管實(shí)時(shí)顯示時(shí)鐘,例如:當(dāng)前時(shí)間位17:30:25,數(shù)碼管則顯示173025。 我設(shè)置的初始時(shí)間是12:34:56。 但最后初始顯示 ...

回復(fù)

ID:1061677 發(fā)表于 2023-1-29 13:34

謝謝,太謝謝了,我知道我哪有問題了。
ID:1061677 發(fā)表于 2023-1-29 13:23
名字不是重點(diǎn) 發(fā)表于 2023-1-29 00:47
while(1)
{
單片機(jī)送段碼1;位選 1;延時(shí);(消隱;)//顯示 第一個(gè)數(shù)字

謝謝,終于明白動(dòng)態(tài)顯示怎么操作了。
真的非常感謝。!
ID:824490 發(fā)表于 2023-1-29 00:47
while(1)
{
單片機(jī)送段碼1;位選 1;延時(shí);(消隱;)//顯示 第一個(gè)數(shù)字
單片機(jī)送段碼2;位選 2;延時(shí);(消隱;)//顯示 第二個(gè)數(shù)字
單片機(jī)送段碼3;位選 3;延時(shí);(消隱;)//顯示 第三個(gè)數(shù)字
單片機(jī)送段碼4;位選 4;延時(shí);(消隱;)//顯示 第四個(gè)數(shù)字
單片機(jī)送段碼5;位選 5;延時(shí);(消隱;)//顯示 第五個(gè)數(shù)字
單片機(jī)送段碼6;位選 6;延時(shí);(消隱;)//顯示 第六個(gè)數(shù)字
}
ID:213173 發(fā)表于 2023-1-28 20:27


  1. #include<reg51.h>
  2. #include<intrins.h>
  3. unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  4. unsigned int  count=0;
  5. unsigned char miao=56,min=34,hour=12;
  6. /*
  7. void delay(unsigned int i)
  8. {
  9.         unsigned int k;
  10.         for(k=0;k<i;k++);
  11. }
  12. void delay1s()
  13. {
  14.         unsigned char i;
  15.         for(i=0;i<20;i++)
  16.         {
  17.                 TH1=(65536-50000)/256;
  18.                 TL1=(65536-50000)%256;
  19.                 TR1=1;
  20.                 while(!TF1);
  21.                 TF1=0;
  22.         }
  23. }*/
  24. void disp()
  25. {
  26.         static unsigned char j;
  27.         P1=0xff;
  28.         P2&=0xc0;
  29.         P2|=0x01<<j;
  30.         switch(j)
  31.         {
  32.                 case 0:P1=led[hour/10];break;
  33.                 case 1:P1=led[hour%10]&0x7f;break;
  34.                 case 2:P1=led[min/10];break;
  35.                 case 3:P1=led[min%10]&0x7f;break;
  36.                 case 4:P1=led[miao/10];break;
  37.                 case 5:P1=led[miao%10];break;
  38.                 default:break;
  39.         }
  40.         j=++j%6;
  41. }
  42. void main()
  43. {
  44.         TMOD=0x10;
  45.         TH1=(65536-1000)/256;
  46.         TL1=(65536-1000)%256;
  47.         TF1=0;
  48. //        ET1=1;
  49. //        EA=1;
  50.         TR1=1;
  51.         while(1)
  52.         {
  53.                 if(TF1)
  54.                 {
  55.                         TF1=0;
  56.                         TH1=(65536-1000)/256;
  57.                         TL1=(65536-1000)%256;
  58.                         count++;
  59.                         if(count>=1000)
  60.                         {
  61.                                 count=0;
  62.                                 miao++;
  63.                         }
  64.                         if(miao>=60)
  65.                         {
  66.                                 miao=0;
  67.                                 min++;
  68.                         }
  69.                         if(min>=60)
  70.                         {
  71.                                 min=0;
  72.                                 hour++;
  73.                         }       
  74.                         if(hour>=24)
  75.                                 hour=0;
  76.                         disp();
  77.                 }
  78.         }
  79. }
復(fù)制代碼



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

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

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