|
#include<reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit RCLK=P3^5;
sbit SRCLK=P3^6;
sbit SER=P3^4;
void HC595(uint date);
void main()
{
P0=0x7f; // 0111 1111
HC595(0x80); // 1000 0000
while(1);
}
void HC595(uint date) { uint a; SRCLK=0; RCLK=0; for(a=0;a<8;a++) { SER=date>>7;//移至最高位 date<<=1; //移至次高位 SRCLK=1;//上升沿 _nop_(); _nop_(); SRCLK=0; } RCLK=1; _nop_(); _nop_(); RCLK=0; }
|
|