- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
Module 4 Số LED 7 Đoạn 0.36inch 74HC595 được thiết kế giúp bạn có thể dễ dàng điều khiển và hiển thị thông tin lên LED 7 đoạn 4 số chỉ với 3 chân giao tiếp thông qua IC ghi dịch 74HC595, ngoài ra mạch còn có khả năng mở rộng thêm các led tiếp theo qua cổng đầu ra nối tiếp, mạch có bộ thư viện đi kèm dễ sử dụng phù hợp cho các ứng dụng: bộ đếm, đồng hồ,...
THÔNG SỐ KỸ THUẬT
#define HC_DATA_H digitalWrite(data, HIGH) // data line output high
#define HC_DATA_L digitalWrite(data, LOW) //date line output low
#define HC_RCK_H digitalWrite(rck, HIGH) // rck output high
#define HC_RCK_L digitalWrite(rck, LOW) // rck output low
#define HC_SCK_H digitalWrite(sck, HIGH) // sck output high
#define HC_SCK_L digitalWrite(sck, LOW) // sck output low
unsigned char LED_BCD[16] ={0x89,0x86, 0xc7, 0xC0 }; //common anode digital tube BCD code
int data =4;
int rck =3;
int sck =2;
void setup() {
pinMode(data, OUTPUT);
pinMode(rck, OUTPUT);
pinMode(sck, OUTPUT);
}
void loop() {
HC_data_analyze(3,0,0); //Nixie Tube display
HC_data_analyze(2,1,0); //Nixie Tube display
HC_data_analyze(1,2,0); //Nixie Tube display
HC_data_analyze(0,3,0); //Nixie Tube display
}
void HC_data_analyze(char LED_number,unsigned char LED_display,unsigned char LED_dp)
{
unsigned int HC_DISP = 0,HC_LEDCODE,HC_LEDCODE_temp=0;
if(LED_display > 15) LED_display = 0;
HC_LEDCODE = LED_BCD[LED_display] ; //get BCD code
for(unsigned char i=0; i < 8;++i)
{
HC_LEDCODE_temp <<=1;
if(HC_LEDCODE&0x01) HC_LEDCODE_temp |= 0x01;
HC_LEDCODE >>=1;
}
if(LED_dp) HC_LEDCODE_temp &= 0xfe;
HC_DISP = HC_LEDCODE_temp;
switch(LED_number)
{
case 0: HC_DISP |= 0x8000;break;
case 1: HC_DISP |= 0x4000;break;
case 2: HC_DISP |= 0x2000;break;
case 3: HC_DISP |= 0x1000;break;
}
write_74HC595(HC_DISP); //74HC595 shifting register data transfer
}
void write_74HC595( unsigned int data_a) //communication with 74HC595
{
char look =0;
HC_RCK_L; //latch open
HC_SCK_L;
for (;look < 16; ++look)
{
if(data_a&0x0001) {HC_DATA_H;}
else {HC_DATA_L;}
HC_SCK_H;
HC_SCK_L;
data_a >>= 1;
}
HC_RCK_H;
}
Bình luận