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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3442|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久免费视频网 | 一区二区三区四区视频 | 欧美一区二区三区四区视频 | 日韩在线一区二区 | 日韩在线播放视频 | 日韩免费1区二区电影 | 黄色一级大片在线免费看产 | 亚洲一区二区成人 | 特级生活片 | 国产成人久久av免费高清密臂 | 久久综合久久综合久久 | 国产精品亚洲一区 | 日韩欧美国产电影 | 国产成人网 | 欧美极品在线 | 国产精品视频一二三区 | 国产欧美视频一区二区三区 | 欧美91| 超碰97免费在线 | 国产免费人成xvideos视频 | 婷婷狠狠 | 中文字幕 国产 | 观看av| 日日噜噜噜夜夜爽爽狠狠视频, | 久久国产高清视频 | 成人超碰在线 | 日韩免费视频一区二区 | 久久综合av | 日日操网站 | 日韩在线免费视频 | 久久不卡 | 视频一二三区 | 欧美一区二区三区视频 | 在线日韩中文字幕 | 欧美日韩亚洲二区 | 成人免费网站 | 国产激情综合五月久久 | 亚洲欧美日韩在线不卡 | 日韩另类| 久草在线青青草 | 999国产精品视频免费 |