本帖最后由 强盗头头 于 2017-2-10 17:13 编辑
- #include"reg51.h"
- #include"intrins.h"
- typedef unsigned char u8;
- sbit SRCLK=P3^6;
- sbit RCLK=P3^5;
- sbit SER=P3^4;
- void HC595sendbyte(u8 dat)
- {
- u8 i;
- SRCLK=0;
- RCLK=0;
- for(i=0;i<8;i++)
- {
- if(dat&0x80)
- SER=1;
- else
- SER=0;
- dat<<=1;
- SRCLK=1;
- _nop_();
- _nop_();
- SRCLK=0;
- }
- RCLK=1;
- _nop_();
- _nop_();
- RCLK=0;
- }
- void main()
- {
- while(1)
- {
- HC595sendbyte(0x80);
- P0=0x7f;
- }
- }
复制代码我想点亮一个灯但效果如图。
-
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
跟数组什么关系 ,别看到8就想到 8x8, 别人是通过移位寄存器发送一个BYTE,当然要for语句了!
一周热门 更多>