Chat
Danh mục
Lập trình C Led 7 Đoạn với IC 74HC595

Lập trình C Led 7 Đoạn với IC 74HC595

Số lượng:
Thêm vào giỏ
Lập trình C Led 7 Đoạn với IC 74HC595 đã được thêm vào giỏ hàng

   
Click xem hình full

Video DEMO






CODE


#include<REGX51.H>
#include<stdio.h>
#include<math.h>
#define bat 1
#define tat 0
//=================================
sbit shcp=P3^0;
sbit ds=P3^1;
sbit stcp=P3^2;
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;

//=============Chuong trinh tao tre==============
void delay(int ms)
{
     int a,b;
      for(a=0;a<ms;a++)
          for(b=0;b<125;b++)
         {
         }
}
//================Maled 7 doan anode chung================
int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int donvi1,chuc1;
int donvi2,chuc2;
int donvi3,chuc3;
int giay,phut,gio;
//==========dua data vao595===========
void data(unsigned char data)
{
unsigned char i;
unsigned int k;
k=128;
           for(i=0;i<8;i++)
         {
           if((data&k)==k)
           ds=1;
           else
           ds=0;
           shcp=1;
           shcp=0;
           stcp=1;
           stcp=0;
          k>>=1;
         }
}
//============ hien thi=============

void hienthi(void)
{
       int c;
       for(c=0;c<10;c++)
     {
        chuc1=giay/10;
        donvi1=giay%10;
        data(m[chuc1]);
        led5=bat;
        delay(8);
        led5=tat;
       data(m[donvi1]);
       led6=bat;
      delay(8);
      led6=tat; 
/*====led3 và led 4=phut====*/
        chuc2=phut/10;
        donvi2=phut%10;
        data(m[chuc2]);
        led3=bat;
        delay(8);
        led3=tat;
        data(m[donvi2]);
        led4=bat;
        delay(8);
        led4=tat; 
/*======led 1 va led 2 = gio==*/
       chuc3=gio/10;
       donvi1=gio%10;
      data(m[chuc3]);
      led2=bat;
      delay(8);
      led2=tat;
     data(m[donvi3]);
     led1=bat;
     delay(8);
     led1=tat; 
     }
}
//==============ham chinh=======
void main(void)
{
     while(1)
     {
           gio=phut=giay=0;
          for(gio=0;gio<24;gio++)
         {
             hienthi();
                     for(phut=0;phut<60;phut++)
                          {
                      hienthi();
                           for(giay=0;giay<60;giay++)
                                {
                               hienthi();

                                }
                          }
         }
   }
}





(Nguyên lýt+Code HEX + CODE)
                              Pass:chipkool.tk