Chào bạn. Một người học điện tử, làm điện tử bạn không thể nào không biết đến ic dịch 74hc595. Lần này Điện Tử Chia Sẻ gửi đến bạn một bài hướng dẫn lập trình đơn giản IC 89c51 điều khiển led 4 led 7 đoạn đếm số từ 0000 đến 9999 qua ic dịch 74HC595. 

[LẬP TRÌNH 8051] Lập trình C Điều Khiển Led 7 Đoạn Đếm 0000 Đến 9999 Qua IC 74HC595
Video DEMO



CODE MẪU

#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();

                                }
                          }
         }
   }
}
 

[LẬP TRÌNH 8051] Lập trình C Điều Khiển Led 7 Đoạn Đếm 0000 Đến 9999 Qua IC 74HC595. Đếm 0000 đến 9999.

Đăng nhận xét

Đăng nhận xét

Author Name



Tôi là Ngọc Anh. Tôi đến từ Nghệ An. Tôi tốt nghiệp một trường đại học tại Sài Gòn. Hiện tôi đang phát triển công ty riêng. Liên lạc với tôi qua:






Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.