Giỏ hàng
Danh mục sản phẩm

Lập trình HC595 STM32

Đăng bởi Buiprohd@gmail.com ngày bình luận

Để mở rộng dùng HC595 vừa tiết kiệm số chân 

Chương trình:

#define     DATA1_ON    GPIO_SetBits(GPIOB ,GPIO_Pin_7)
#define     SCK1_ON     GPIO_SetBits(GPIOB ,GPIO_Pin_9)
#define     SCL1_ON      GPIO_SetBits(GPIOB ,GPIO_Pin_8)
#define     DATA1_OFF    GPIO_ResetBits(GPIOB , GPIO_Pin_7)
#define     SCK1_OFF     GPIO_ResetBits(GPIOB , GPIO_Pin_9)
#define     SCL1_OFF     GPIO_ResetBits(GPIOB , GPIO_Pin_8)
void SEND_595(unsigned char x,unsigned char x2)
{
int i,temp,temp1;
for(i=0;i<8;i++)
{
temp=x;//gan bien
temp=temp&0x80;//lay ra bit dau tien (bit 7)
if(temp==0x80)//so sanh bit 
DATA1_ON ;      //bang 1 thi xuat vao chip =1
else
DATA1_OFF;      //nguoc lai bang 0
x*=2;   //dich bit lay bit trong so thap

SCK1_OFF;     //tao xung tren chan 11 
SCK1_ON ;     //1 xung dua vào 1 bít
}

for(i=0;i<8;i++)
{
temp1=x2;//gan bien
temp1=temp1&0x80;//lay ra bit dau tien (bit 7)
if(temp1==0x80)//so sanh bit 
DATA1_ON ;      //bang 1 thi xuat vao chip =1
else
DATA1_OFF;      //nguoc lai bang 0
x2*=2;   //dich bit lay bit trong so thap

SCK1_OFF;     //tao xung tren chan 11 
SCK1_ON ;     //1 xung dua vào 1 bít
}


SCL1_OFF;     //xuat du lieu ra output
SCL1_ON;
}

 


Cũ hơn Mới hơn