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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3409|回復: 0
收起左側

使用單片機+74HC595芯片驅動點陣和跑馬燈的心得與程序分享

[復制鏈接]
ID:523178 發表于 2020-4-2 17:17 | 顯示全部樓層 |閱讀模式
使用這個芯片還是上個帖子有位前輩說74HC595芯片對IO口的擴展能力優于三八譯碼器。(它有個級聯接口,可以直接接下一個74HC595芯片),其實想想生活中的廣告位顯示器就能用到它。剛好發現自己的板子上有兩塊74HC595芯片。通過看它的數據手冊我發現這個芯片的特點可以用下圖描述:(字寫得不好)。大家可以想想入棧和出棧的原理,其實一樣的。(如有不對,懇請指正)。例如:單片機P1^1口輸出0x01至該芯片,當SRCLK上升沿到來時,該數據被從高到低位依次移入移位寄存器當中,此時數據為:0x80;SRCLK下降沿到來時,禁止置入數據,然后當RCLK的上升沿到來時,移位寄存器當中的數據從高位到地位依次移到數據寄存器當中,QA->QH,此時數據為原來的數據:0x01。下面分享兩個代碼,一個是對這個芯片的基礎理解。另一個是驅動兩個8*8點陣顯示♥。關于♥的位碼生成大家可以了解一下字符取模軟件。
IMG20200402162901.jpg


單片機源程序如下:
  1. #include "reg51.h"
  2. #include "intrins.h"        // 包含_nop_()函數原型

  3. typedef unsigned char u8;
  4. typedef unsigned int u16;

  5. sbit SRCLK = P1^0;
  6. sbit RCLK = P1^1;
  7. sbit SER = P1^2;

  8. void HC595SendByte(u8 dat);   

  9. void delay(u16 i)
  10. {
  11.         while(i--);
  12. }

  13. void Hc595SendByte(u8 dat)
  14. {
  15.         u8 i;
  16.         SRCLK = 0;
  17.         _nop_();
  18.         SRCLK = 1;

  19.         for(i = 0; i < 8; i++)  //用循環依次讀入8位數據。
  20.         {                                               
  21.                 SER = dat >> 7;                //把dat的最高位直接移到最低位。dat不變。
  22.                 dat <<= 1;
  23.                
  24.                 SRCLK = 0;
  25.                 _nop_();
  26.                 _nop_();
  27.                 SRCLK = 1;                
  28.         }
  29.         RCLK = 0;
  30.         _nop_();
  31.         _nop_();
  32.         RCLK = 1;
  33. }

  34. void main(void)
  35. {
  36.         u8 led = 0xfe;
  37.         u8 i;
  38.         while(1)
  39.         {
  40.                  for(i = 0; i < 7; i++)
  41.                 {
  42.                          HC595SendByte(led);
  43.                         P0 = _crol_(led,1);
  44.                         delay(50000);
  45.                 }
  46.                 for(i = 0; i < 7; i++)
  47.                 {
  48.                          HC595SendByte(led);
  49.                         P0 = _cror_(led,1);
  50.                         delay(50000);
  51.                 }
  52.         }
  53. }
復制代碼

所有資料51hei提供下載:
LED點陣.rar (18.25 KB, 下載次數: 20)
_HC595.zip (18.91 KB, 下載次數: 16)


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲电影第三页 | 一区二区亚洲 | 99久久久久久 | 天天干天天想 | gogo肉体亚洲高清在线视 | 精品免费视频 | 国产精品99久久久久久久vr | 一区二区三区四区电影视频在线观看 | 99热视| 精品久久精品 | 亚洲影视在线 | 精品亚洲一区二区三区四区五区高 | 国产在线精品一区二区 | 中文精品视频 | 中文字幕在线国产 | 四虎成人精品永久免费av九九 | 中文字幕在线视频观看 | 久久久久中文字幕 | 天天草草草 | 麻豆一区二区三区精品视频 | 久草在线 | 无吗视频| 国产视频h| 日本在线你懂的 | 亚洲精品久久久久久久久久久久久 | 欧美日韩精品一区二区三区蜜桃 | 国产亚洲一区二区在线观看 | 日韩成人在线观看 | 久久国产精99精产国高潮 | 99精品欧美一区二区蜜桃免费 | 欧美日韩国产精品激情在线播放 | 日本久久一区二区三区 | 日韩成人影院 | 国产大学生情侣呻吟视频 | 免费国产一区二区视频 | 在线观看国产视频 | 国产一区二区影院 | 九九热精品视频 | 欧美中文一区 | 国产精品久久国产精品 | 日产精品久久久一区二区福利 |