Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
Friday, September 6, 2013

Hi, hôm nay Chip giới thiệu cho các bạn 3 phương pháp lập trình Hiển Thị Led 7 Thanh kết hợp IC số 74LS47, 74HC595 để tối ưu chân Vi Điều Khiển.

I. Phương pháp dùng 2 IC 74LS47 kết hợp hiển thị 2 Led 7 Thanh: Mất 1 Port của VĐK là 8 Chân
II. Phương Pháp dùng 1 IC 74HC595 kết hợp 2 tranzitor hiển thị 2 Led 7 Thanh: mất 5 chân VĐK
III. Phương Pháp dùng 1 IC 74LS47 kết hợp 2 tranzior hiển thị 2 Led 7 Thanh: Mất 6 chân VĐK

Tất cả các phương pháp trên Chip tích hợp trong cùng 1 code rất tiện sử dụng:


Code chương trình biên dịch bằng phần mềm Keil C 4:

/*********DESIGNER BY CHIPKOOL_ONLINE************/
//*************WWW.ECHIPKOOL.COM*************//ADMIN
//************WWW.CODIENTU.ORG***************/MOD
#include <REGX52.H>
#include <stdio.h>
#include <math.h>
#define bat 1
#define tat 0
/*************LAP TRINH VOI 74HC595**************/
sbit sh = P2^0;
sbit ds = P2^1;
sbit st = P2^2;
sbit Led1 = P2^3;
sbit Led2 = P2^4;
int m[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int donvi,chuc;
unsigned char num;
/****************LAP TRINH 2 IC 74LS47************/
int M47[11]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90,0x01};
unsigned char l;
/************LAP TRINH 74LS47 + QUET*************/
int MQ47[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
unsigned char p,so;
int donvi1,chuc1;
sbit Led3 = P3^4;
sbit Led4 = P3^5;
/**************CHUONG TRINH TRE***********************************/
void delay(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<125;j++){;}
}
/****************CHUONG TRINH CHUYEN NOI TIEP SONG SONG 74HC595*******/
void conv(unsigned char x)
{
unsigned int i,temp;
for(i=0;i<8;i++)
{
temp=x;
temp=temp&0x80;
if(temp==0x80)
ds=1;   
else
ds=0;    
x*=2;   
sh=1;   
sh=0;
st=1;
st=0;  
}
}
/**********CHUONG TRINH HIEN THI CHO 74HC595 + 7 DOAN********/
void hienthi(void)
{
int c;
for(c=0;c<100;c++)
{
chuc=num/10;
donvi=num%10;
conv(m[chuc]);
Led1 = bat;
delay(1);
Led1 = tat;
conv(m[donvi]);
Led2 = bat;
delay(1);
Led2 = tat;
}
}
/*****************CHUONG TRINH HIEN THI LED 7447**************/
 void hienthi47(void)
{
int n;
for(n=0;n<20;n++)
{
chuc1=so/10;
donvi1=so%10;
P3 =MQ47[chuc1];
Led3 = bat;
delay(1);
Led3 = tat;
P3 = MQ47[donvi1];
Led4 = bat;
delay(1);
Led4 = tat;
}
}
/***********CHUONG  TRINH HOAT DONG 2 IC 7447 + 2 LED 7 DOAN*/
void chay7447(void)
{
for(l=0;l<11;l++)
{
P0=M47[l];
delay(800);
}
}
/***********CHUONG TRINH HOAT DONG 74HC595 + 2 LED & DOAN QUET*/
void chay74hc595(void)
{
   hienthi();
num=num+1;
if(num==11)num=0;
delay(300);
}

/**********CHUONG TRINH HOAT DONG 1 IC 7447 + QUET************/
void chay7447quet(void)
{
  hienthi47();
so=so+1;
if(so==11)so=0;
delay(200);
}

/**********CHUONG TRINH CHINH**************************/
void main()
{
while(1)
{
//chay7447(); // Phuong phap 1
//chay74hc595();// Phuong Phap 2
chay7447quet(); // Phuong Phap 3
}  

}


( File Mô Phỏng + code)

Echipkool - Chia sẻ kiến thức - Kết nối đam mê điện tử

0 comments:

Post a Comment

domain, domain name, premium domain name for sales

Popular Posts