找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

傳個流水燈加數(shù)碼管小程序,流水燈流一次數(shù)碼管加一

[復(fù)制鏈接]
ID:79544 發(fā)表于 2015-12-11 14:23 | 顯示全部樓層 |閱讀模式
  1. /***********************************************
  2.         功能  :流水燈循環(huán)一次數(shù)碼管顯示加一
  3.                         P0口是流水燈。P2口通過573鎖存器控制數(shù)碼管的
  4.                         位和段。
  5.         單片機:STC12C5A60S2
  6.         晶振  :11.0592M
  7.         作者  :蘇義江
  8.         時間  :2015-12-11
  9. **********************************************/
  10. #include<reg52.h>
  11. #include<intrins.h>
  12. #define uchar unsigned char
  13. #define uint unsigned int
  14. //共陽數(shù)碼管段碼
  15. uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
  16.                                 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,
  17.                                 0xa1,0x86,0x8e,0x89};
  18. //位碼
  19. uchar code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  20. uchar b,i;
  21. uint c;//數(shù)的變量
  22. uchar qian,bai,shi,ge;

  23. sbit wei=P0^6;        //位使能573
  24. sbit duan=P0^7;        //段使能573
  25. void display();
  26. void delay(uint z);

  27. void main()
  28. {
  29.         c=0;
  30.         while(1)
  31.         {                               
  32.                 for(c=0;c<9999;c++)//顯示到1000從新開始
  33.                 {
  34.                         for(i=0;i<8;i++)
  35.                         {
  36.                                 P0=table1[i];//流水燈
  37.                                 delay(10);                                       
  38.                                 for(b=0;b<20;b++)//循環(huán)顯示20次增加數(shù)碼管亮度
  39.                                 {
  40.                                         display();//數(shù)碼管顯示       
  41.                                 }                       
  42.                         }                       
  43.                 }
  44.         }
  45. }
  46. void delay(uint z)
  47. {
  48.         uint x,y;       
  49.         for(x=z;x>0;x--)
  50.         for(y=420;y>0;y--);
  51. }
  52. void display()
  53. {
  54. //數(shù)的分解千,百,十,個位
  55.         qian=c/1000;
  56.         bai=c%1000/100;
  57.         shi=c%100/10;
  58.         ge=c%10;
  59.                
  60.         wei=1;                   //使能位選
  61.         P2=0xfe;
  62.         wei=0;                   //使能位選
  63.         duan=1;                  //使能段選
  64.         P2=table[qian]; //顯示
  65.         duan=0;                  //使能段選
  66.         delay(3);
  67.         P2=0XFF;
  68.         wei=1;
  69.         P2=0xfd;
  70.         wei=0;
  71.         duan=1;
  72.         P2=table[bai];
  73.         duan=0;
  74.         delay(3);
  75.         P2=0XFF;
  76.         wei=1;
  77.         P2=0xfb;
  78.         wei=0;
  79.         duan=1;
  80.         P2=table[shi];
  81.         duan=0;
  82.         delay(3);
  83.         P2=0XFF;
  84.         wei=1;
  85.         P2=0xf7;
  86.         wei=0;
  87.         duan=1;
  88.         P2=table[ge];
  89.         duan=0;
  90.         delay(3);
  91.         P2=0XFF;
  92. }
復(fù)制代碼


相關(guān)帖子

回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2015-12-11 19:12 來自觸屏版 | 顯示全部樓層
樓主能分享一下,或者簡單的介紹一下數(shù)碼管的電路圖嗎
回復(fù)

使用道具 舉報

ID:79544 發(fā)表于 2015-12-12 10:09 | 顯示全部樓層
admin 發(fā)表于 2015-12-11 19:12
樓主能分享一下,或者簡單的介紹一下數(shù)碼管的電路圖嗎

手畫了一張傳到論壇啦。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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