/********************************************************************* #include "stm8s207s8.h" #define HC164_OUT_DATA sbi(PC_DDR,3);sbi(PC_CR1,3);sbi(PC_CR2,3); //PB6 数据口 #define HC164_SET_DATA sbi(PC_ODR,3) #define HC164_CLR_DATA cbi(PC_ODR,3) #define HC164_OUT_CLK sbi(PC_DDR,4);sbi(PC_CR1,4);sbi(PC_CR2,4); //PB7 脉冲口 #define HC164_SET_CLK sbi(PC_ODR,4) #define HC164_CLR_CLK cbi(PC_ODR,4) void hc164SetDat(u8 dat) { u8 i; for(i=0;i<8;i++) { HC164_CLR_CLK; if(dat&0x80) { HC164_SET_DATA; HC164_SET_CLK; } else { HC164_CLR_DATA; HC164_SET_CLK; } dat = dat<<1; } } void hc164Init(void) { HC164_OUT_DATA; HC164_OUT_CLK; } |
以上资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!