當前位置:編程學習大全網 - 編程軟體 - 51單片機74hc595

51單片機74hc595

74hc595是串行輸入並行輸出,所以妳需要將八位數據分八次傳入然後壹次性傳出 具體程序如下 註意特殊管腳的宏定義命名

unsigned char i,j;

j = 0xfe;

for(i=0;i<8;i++) // 循環8次,依次移入八位

{

if(j&0x80) P_HC595_SER = 1; // 若dat&0x80 == 1說明dat的最高位為1 相當於將j串行發送給SER

else P_HC595_SER = 0; // 否則說明dat的最高位為0

P_HC595_SRCLK = 1; // 此處SRCLK由0變為1產生上升沿,將SER上的壹位數據移入寄存器

//_nop_(); _nop_(); _nop_(); _nop_();

P_HC595_SRCLK = 0; // 將SRCLK變為低電平 等待下壹次上升沿

j = j<<1; // 數據右移,從最高位移入寄存器

}

P_HC595_RCLK = 1; // RCLK此處由0變為1產生壹個上升沿,將八位數據置入鎖存器,鎖存器數據通過Q0~Q7輸出數據在led顯示

//_nop_(); _nop_(); _nop_(); _nop_();

P_HC595_RCLK = 0; //將RCLK的數據變為低電平 等待下壹次上升沿

順便幫妳實現了壹下 運行正常 望采納

  • 上一篇:不想加班打工人必備4大AI神器
  • 下一篇:軟件學生選要哪個方向,請高手介紹壹下
  • copyright 2024編程學習大全網