久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3274|回復: 5
收起左側

單片機+兩個74hc595級聯,兩個芯片輸出差一個時序,想同步怎樣改程序呢?

[復制鏈接]
ID:479908 發表于 2020-4-8 11:13 | 顯示全部樓層 |閱讀模式
2.png 51hei圖片20200408105541.jpg
自己搗鼓兩個74hc595級聯,兩個芯片輸出差一個時序,想同步怎樣改程序呢?請大佬指點下謝謝。

單片機代碼:
  1. #include<reg51.h>
  2. sbit dsc=P2^0; //串行數據輸入
  3. sbit shc=P2^1; // 輸入時鐘
  4. sbit  stc=P2^2; //寄存時鐘(輸出)
  5. unsigned char table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};   
  6. unsigned writeled(unsigned char date)
  7. {
  8. unsigned char i;
  9. for(i=0;i<8;i++)
  10. {   
  11.   dsc=date&(0x80>>i);     
  12.   shc=1;
  13.   shc=0;
  14.   }
  15.      stc=1;
  16.      stc=0;
  17. }   
  18. unsigned delay()
  19. {
  20. unsigned int t;
  21. for(t=0;t<30000;t++);
  22. }      
  23. void main()
  24. {
  25. unsigned int i;
  26.      stc=0;
  27.     shc=0;
  28.    while(1)
  29.    {
  30.      for(i=0;i<8;i++)
  31.      { writeled(table[i]);
  32.      delay();
  33.      }
  34.    }
  35. }
復制代碼
回復

使用道具 舉報

ID:155507 發表于 2020-4-8 20:04 | 顯示全部樓層
改了程序

  1. #include<reg51.h>
  2. sbit dsc=P2^0; //串行數據輸入
  3. sbit shc=P2^1; // 輸入時鐘
  4. sbit  stc=P2^2; //寄存時鐘(輸出)
  5. unsigned char table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};   
  6. unsigned writeled(unsigned char date)
  7. {
  8. unsigned char i;
  9. for(i=0;i<8;i++)
  10. {   
  11.   dsc=date&(0x80>>i);     
  12.   shc=1;
  13.   shc=0;
  14.   }
  15.      stc=1;
  16.      stc=0;
  17. }   
  18. unsigned delay()
  19. {
  20. unsigned int t;
  21. for(t=0;t<30000;t++);
  22. }      
  23. void main()
  24. {
  25. unsigned int i;
  26.      stc=0;
  27.     shc=0;
  28.    while(1)
  29.    {
  30.      for(i=0;i<8;i++)
  31.      {
  32. writeled(~table[i]);  //兩個74hc595級聯
  33. writeled(~table[i]);
  34.      delay();
  35.      }
  36.    }
  37. }
復制代碼
回復

使用道具 舉報

ID:546698 發表于 2020-4-8 20:42 | 顯示全部樓層

樂于助人               
回復

使用道具 舉報

ID:213173 發表于 2020-4-8 21:31 | 顯示全部樓層
    stc鎖存時鐘要等兩個字節發送完畢才能送出,給你一個示例參考。

  1. #include <reg51.H>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit HC595_DIO   = P1^0;
  5. sbit HC595_SCLK  = P1^1;
  6. sbit HC595_RCLK  = P1^2;

  7. uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,//共陰數碼管段碼0~f
  8.                                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  9. uchar code dis_buf[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//共陰數碼管位碼

  10. /******************1ms延時子程序(12MHz)*******************/
  11. void delayms(uint k)
  12. {
  13.         uint i,j;
  14.         for(i=k;i>0;i--)
  15.                 for(j=125;j>0;j--);
  16. }
  17. /**************** 向HC595發送一個字節函數 ******************/
  18. void Send_595(uchar dat)
  19. {               
  20.         uchar i;
  21.         for(i=0;i<8;i++)
  22.         {
  23.                 HC595_DIO=(dat&0x80)>>7;//由高位到低位賦值數據輸出端
  24.                 HC595_SCLK = 1;        //移位時鐘
  25.                 HC595_SCLK = 0;
  26.                 dat <<= 1;                        //dat左移一位
  27.         }
  28. }
  29. /**************** 數碼管顯示函數 ******************/
  30. void DisplayScan()
  31. {       
  32.         static uchar i=0;
  33.         Send_595(dis_buf[i]);//向HC595發送位碼(共陰數碼管)
  34.         Send_595(table[i]);        //向HC595發送段碼(共陰數碼管)
  35. //        Send_595(~dis_buf[i]);//向HC595發送位碼(共陽數碼管)
  36. //        Send_595(~table[i]);        //向HC595發送段碼(共陽數碼管)
  37.         HC595_RCLK = 1;                //鎖存輸出數據
  38.         HC595_RCLK = 0;
  39.         i++;
  40.         i%=8;
  41. }

  42. void main()
  43. {
  44.         HC595_SCLK  = 0;        //初始化移位時鐘端
  45.         HC595_RCLK  = 0;        //初始化鎖存輸出端
  46.         while(1)
  47.         {
  48.                 DisplayScan();        //數碼管顯示函數
  49.                 delayms(1);                //延時1ms
  50.         }
  51. }
復制代碼
回復

使用道具 舉報

ID:479908 發表于 2020-4-9 12:12 | 顯示全部樓層
多謝兩位大佬指點,前進路上有動力啦
回復

使用道具 舉報

ID:795427 發表于 2021-9-3 21:52 | 顯示全部樓層
供上wulin單片機大神的仿真圖
51.gif
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂久| 欧美第一区 | 日韩在线免费视频 | av免费网站在线观看 | 三级黄视频在线观看 | 一级全黄少妇性色生活免费看 | 综合国产第二页 | 久久婷婷av | 亚洲嫩草| 精品国产一区二区三区免费 | 国产在线播 | 91精品国产综合久久久久蜜臀 | av一区二区三区四区 | 特级黄色毛片 | 一区二区av | 成人在线视频一区 | 五月激情六月婷婷 | 欧美 日本 国产 | 国产一区二区在线视频 | 伊人一二三 | 狠狠av| 久久久人成影片一区二区三区 | 精品久| 日韩中文字幕第一页 | 国产美女一区二区 | 99综合 | 一区二区视频在线 | 欧美男人天堂 | 日韩精品一区二区三区 | 黑人巨大精品欧美一区二区一视频 | 国产精品久久久久久婷婷天堂 | 韩日一区二区三区 | 色婷婷综合久久久中文字幕 | 国产一二三区免费视频 | 欧美区日韩区 | 成人三级视频 | 玖玖在线免费视频 | 波多野结衣一区二区三区 | 亚洲日韩中文字幕一区 | 亚洲精品国产电影 | 国产日韩欧美 |