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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4412|回復: 2
收起左側

單片機74Hc595控制列74Hc138控制行8*8點陣程序

[復制鏈接]
ID:492819 發表于 2019-4-6 22:10 | 顯示全部樓層 |閱讀模式
根據別人的程序改編,調試出來,分享一下,不能只拿不送

制作出來的實物圖如下:
IMG_20190406_215823.jpg

單片機源程序如下:
  1. #include "reg51.h"                         //此文件中定義了單片機的一些特殊功能寄存器
  2. #include<intrins.h>

  3. typedef unsigned int u16;          //對數據類型進行聲明定義
  4. typedef unsigned char u8;

  5. sbit SRCLK=P3^6;//SH_CP                                          //Hc595接線
  6. sbit RCLK =P3^5;//ST_CP
  7. sbit SER  =P3^4;//DS

  8. sbit IA=P1^0;//行控制線A                                           //Hc138 接線
  9. sbit IB=P1^1;//行控制線B
  10. sbit IC=P1^2;//行控制線C

  11. u8 ledduan[3][8]=                                                             //3個字符 8位掃描
  12. {
  13.    0x00,0x7C,0x10,0x14,0x74,0x14,0x7E,0x00,                   //正
  14.    0x00,0x66,0x99,0x81,0x81,0x42,0x24,0x18,
  15.    0x00,0x00,0x18,0x3c,0x5a,0x18,0x18,0x00                  //格式必須準確 沒有逗號

  16. };                                                                                         //格式必須準確 加分號

  17. /*******************************************************************************
  18. * 函 數 名         : delay
  19. * 函數功能                   : 延時函數,i=1時,大約延時10us
  20. *******************************************************************************/
  21. void delay(u16 i)
  22. {
  23.         while(i--);        
  24. }

  25. /*******************************************************************************
  26. * 函數名         : Hc595SendByte(u8 dat)
  27. * 函數功能                   : 向74HC595發送一個字節的數據
  28. * 輸入           : 無
  29. * 輸出                  : 無
  30. *******************************************************************************/
  31. void Hc595SendByte(u8 dat)                                      //Hc595掃描程序
  32. {
  33.         u8 a;
  34.         SRCLK=0;      //首先設移位寄存器為低電平
  35.         RCLK=0;         //再設存儲寄存器為低電平
  36.         for(a=0;a<8;a++)
  37.         {
  38.                 SER=dat>>7;        //輸入
  39.                 dat<<=1;

  40.                 SRCLK=1;
  41.                 _nop_();
  42.                 _nop_();
  43.                 SRCLK=0;        
  44.         }

  45.         RCLK=1;
  46.         _nop_();
  47.         _nop_();
  48.         RCLK=0;
  49. }



  50. void main()
  51. {                        
  52.         u8 i;        
  53.                 u16 r;
  54.                 u16 j;
  55.       while(1)
  56.       {
  57.                   for(r = 0; r < 80; r++)
  58.                   {
  59.                 P0=0x7f;
  60.                                                    
  61.                 for(i=0;i<8;i++)
  62.                 {
  63.                   switch(i)  
  64.                                   {
  65.                                 case 0:  IA=0;IB=0;IC=0; break;               //Hc138行掃描
  66.                                 case 1:  IA=1;IB=0;IC=0; break;
  67.                                 case 2:  IA=0;IB=1;IC=0; break;
  68.                                 case 3:  IA=1;IB=1;IC=0; break;
  69.                                 case 4:  IA=0;IB=0;IC=1; break;
  70.                                 case 5:  IA=1;IB=0;IC=1; break;
  71.                                 case 6:  IA=0;IB=1;IC=1; break;
  72.                                 case 7:  IA=1;IB=1;IC=1; break;
  73.                                   }   
  74.                   Hc595SendByte(ledduan[j][i]);               
  75.                         delay(100);                   //延時
  76.                         Hc595SendByte(0x00);  //消隱
  77.                 }
  78.                         
  79.                    }
  80.                   
  81.                         j++;                                // 字符輪流輸出
  82.                 if(j == 3)
  83.                 {
  84.                         j = 0;
  85.                  }
  86.                     
  87.       }               
  88. }
復制代碼


回復

使用道具 舉報

ID:486353 發表于 2019-5-20 21:50 來自觸屏版 | 顯示全部樓層
謝謝你,這個很有用。
回復

使用道具 舉報

ID:485432 發表于 2019-6-3 13:01 | 顯示全部樓層
樓主,能發下兩個74HC595和一個8*8點陣如何連接,我搞不懂引腳圖,我郵箱1767020292@qq.com
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区在线观看免费视频 | 天天躁日日躁aaaa视频 | 天色综合网 | 一区二区三区免费看 | aaa在线 | 国产成人综合一区二区三区 | 久久影音先锋 | 欧美在线一二三 | 日韩高清www | www.婷婷 | 亚洲成人一区二区 | 91av视频在线观看 | 婷婷丁香在线视频 | 国产免费一区二区 | 国产精品视频在线免费观看 | 国产一区二区三区在线免费 | 精品在线播放 | 久久久一区二区三区 | 国产一级视频在线 | 成人国产精品一级毛片视频毛片 | 国产99久久精品一区二区永久免费 | av国产在线观看 | 青青草社区 | 成人免费三级电影 | 亚洲男女激情 | 久久se精品一区精品二区 | 精品视频免费 | 毛片免费视频 | 欧洲免费毛片 | 国产美女免费视频 | 欧美日本久久 | 欧美在线视频一区二区 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 久久黄色网 | 超碰人人人人 | 一级片免费在线观看 | av日韩一区| 91福利在线观看 | 九九看片| 国产成人精品一区二区三 | 亚洲精品一区二区三区蜜桃久 |