giúp mình viết 1 đoạn code cho mạch này
Collapse
X
-
Ở đây mình có 1 code được viết khi dùng 1 con 74hc595 để điều khiển 8 led..vậy cho mình hỏi khi mà dùng 4 con 74hc595 thì code thay đổi như thế nào..?
// LAP TRINH 74HC595 DIEU KHIEN 8 LED DON
//****HTTP://CHIPKOOL.TK**********/
#include<reg52.h>
#include<stdio.h>
#include<intrins.h>
// khao bao cac chan 74hc595 de lap trinh
sbit dulieu = P2^1; // chan du lieu
sbit xung = P2^0; // chan xung dich tung bit
sbit chot = P2^2; // chan chot du lieu
unsigned int n,m,k;
//****Chuong trinh tao tre**********/
void delay(unsigned char ms )
{
int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<125;j++);
}
}
// chuong trinh lap trinh cho 74hc595 chuyen noi tiep sang song song
void convert(unsigned char x)
{ // do chuc nang ghi dich 8 bit vao noi tiep ra song song
// do do vong for duoi se cho dich 8 lan de du 8 chan dau ra cho vdk
int i,tam;
for(i=0;i<8;i++) // 8 lan dich de co 8 bit
{
tam=x;
tam=tam&0x80; // lay ra bit dau tien la bit D7 10000000 D7 ------D0
if(tam==0x80) dulieu=1; //so sanh neu bang 1 nghia la dich het tu D0 den D7
else dulieu=0; // nguoc lai du lieu se bang 0 va tiep tuc dich phai
x=x<<1; // dich bit nhu sau
xung=0; // moi lan dich se can mot xung cho phep moi dich dc (tich cuc muc duong)
xung=1;
}
//chot=0; // khi dich du 8 biut thi chot du lieu va xuat ra output
//chot=1;
}
//********************Hieu ung sang duoi******************************************/
void sangduoi()
{
int j;//00000001;00000010;00000100;00001000;000100000;0010 0000;01000000;10000000
unsigned char mang[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
for(j=0;j<8;j++)
{
convert(mang[j]);
chot=0; // khi dich du 8 biut thi chot du lieu va xuat ra output
chot=1;
delay(1000);
}
}
//*************chuong trinh chinh***************
void main(void)
{
sangduoi();
}
-
Bài viết mới nhất
Collapse
There are no results that meet this criteria.

Comment