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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3914|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

兩片74HC595芯片控制8位數(shù)碼管進(jìn)階版,源碼+proteus.

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:373638 發(fā)表于 2019-1-14 19:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
此次為  兩個 595 芯片  串聯(lián) 控制 8位數(shù)碼管 , 僅用了3個 IO口。單片機(jī)為    5  1   芯片
仿真:


源碼:(IO位定義及proteus在源文件中)
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. typedef unsigned char uchar;
  4. typedef unsigned int uint;

  5. #define date P0
  6. #define count 50000
  7. #define TH_0 (65536-count)/256
  8. #define TL_0 (65536-count)%256

  9. uchar diss[8];
  10. uchar code distab[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  11.                                                                                                                                 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};
  12. uint sec=0,min=0,hour=0;

  13. void delay(uint iii)
  14. {
  15.         while(iii--);
  16. }
  17. void hc595(uchar dat)
  18. {
  19.         uchar i;
  20.         for(i=0;i<8;i++)
  21.         {
  22.                 sh_cp=0;
  23.                 _nop_();
  24.                 _nop_();
  25.                
  26.                 ds=dat>>7;
  27.                 dat=dat<<1;
  28.                
  29.                 sh_cp=1;
  30.                 _nop_();
  31.                 _nop_();
  32.         }
  33. }

  34. void ds_dat_txd()//鎖存發(fā)送
  35. {
  36.         st_cp=0;
  37.         _nop_();
  38.         _nop_();
  39.         st_cp=1;
  40.         _nop_();
  41.         _nop_();
  42. }

  43. void display()
  44. {
  45.         uchar i=0,dat=0;
  46.         for(dat=0xfe;dat!=0xff;dat=dat<<1|0x01)
  47.         {
  48.                 hc595(dat);//先發(fā)送位碼
  49.                 hc595(distab[diss[i++]]);//段碼,
  50.                 ds_dat_txd();  //發(fā)送
  51.                 if(i==8)i=0;
  52.                 delay(100);
  53.                 hc595(0x00);  //消隱
  54.                 ds_dat_txd();
  55.         }
  56. }
  57. void disss()
  58. {
  59.         diss[0]=hour/10;
  60.         diss[1]=hour%10;
  61.         diss[2]=16;
  62.         diss[3]=min/10;
  63.         diss[4]=min%10;
  64.         diss[5]=16;
  65.         diss[6]=sec/10;
  66.         diss[7]=sec%10;
  67. }
  68. void timer0_init()
  69. {
  70.         TMOD=0x01;
  71.         EA=1;ET0=1;TR0=1;
  72.         TH0=TH_0;TL0=TL_0;
  73. }
  74. void main()
  75. {
  76.         timer0_init();
  77.         while(1)
  78.         {       
  79.                 display();
  80.                 disss();
  81.         }
  82. }
  83. void timer0() interrupt 1
  84. {
  85.         static uchar j;
  86.         TH0=TH_0;TL0=TL_0;
  87.         if(++j==20)
  88.         {
  89.                 j=0;
  90.                 sec++;
  91.                 if(sec==60)
  92.                 {
  93.                         sec=0;
  94.                         min++;
  95.                         if(min==60)
  96.                         {
  97.                                 min=0;
  98.                                 hour++;
  99.                                 if(hour==24)
  100.                                 {
  101.                                         hour=0;
  102.                                 }
  103.                         }
  104.                 }
  105.         }
  106. }
復(fù)制代碼
源文件 :
74HC595數(shù)碼管.zip (128.5 KB, 下載次數(shù): 68)




評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:417194 發(fā)表于 2019-1-29 10:48 | 只看該作者
樓主你好!請問一下,用了你的代碼后我的數(shù)碼管可以顯示時鐘了,但是任然有很多殘影,這是為什么啊?我的也是兩個595級聯(lián)的
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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