Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

September 7, 2013

3 Phương pháp lập trình Led 7 Thanh Kết hợp IC 7447 + 74HC595

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

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!!

:) :( :)) :(( =)) =D> :D :P