ai biet giup ho minh nha ?
Thông báo
Collapse
No announcement yet.
dung ic chot 595 de hien thi tu 00 99
Collapse
X
-
anh ơi sửa hộ em cái code : e viết đúng mà không chạy :
#include <mega16.h>
#include <delay.h>
unsigned int i=0;
unsigned char mang[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67} ;
#define DATA PORTC.0
#define SCK PORTC.1
#define SCL PORTC.2
void quet(unsigned char x)
{
int i;
for(i=0;i<8;i++)
{
DATA=x&0x80;
x<<=1;
SCK=0;
SCK=1;
}
SCL=0;
SCL=1;
}
void hienthi(void )
{
PORTB.0=1;
PORTB.0=0;delay_ms(10);
PORTB.1=1;
PORTB.1=0;delay_ms(10);
}
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x03;
PORTC=0x00;
DDRC=0x03;
PORTD=0x00;
DDRD=0x00;
while (1)
{
for(i=0;i<100;i++)
hienthi();
{
quet(mang[i]);delay_ms(100);
}
}
}
Comment
-
ai biết giúp sửa hộ mình cái code nhá ? 00 99 dùng atmega16 hiển thị led 7thanh 595
#include <mega16.h>
#include <delay.h>
unsigned int i=0;
unsigned char mang[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67} ;
#define DATA PORTC.0
#define SCK PORTC.1
#define SCL PORTC.2
void quet(unsigned char x)
{
int i;
for(i=0;i<8;i++)
{
DATA=x&0x80;
x<<=1;
SCK=0;
SCK=1;
}
SCL=0;
SCL=1;
}
void hienthi(void )
{
PORTB.0=1;
PORTB.0=0;delay_ms(10);
PORTB.1=1;
PORTB.1=0;delay_ms(10);
}
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x03;
PORTC=0x00;
DDRC=0x03;
PORTD=0x00;
DDRD=0x00;
while (1)
{
for(i=0;i<100;i++)
hienthi();
{
quet(mang[i]);delay_ms(100);
}
}
}
Comment
-
Phải có xung ở chân chốt dữ liệu ra nữa, mình dùng điện thoại nhìn hình mờ quá ko rõLast edited by vuhapassall; 24-12-2013, 09:52.
Comment
-
bạn có thể sửa hàm hiển thị thành void hienthi(unsigned char x1,unsigned char x2 )
{
quyet(x1);
PORTB.0=1;
delay_ms(10);
PORTB.0=0;
quyet(x2);
PORTB.1=1;
delay_ms(10);
PORTB.1=0;
}
còn trong vòng lặp chính để hiển thị 23 thì như này
while (1)
{
hienthi(2,3);
}
Tuy nhiên code trên chạy vào thực tế rất nhiều nhược điểm cần căn chỉnh với việc mcu phải quét liên tục, và căn chỉnh thời gian làm led7 bị nhấp nháy và sáng không đều. 595 có ưu điểm là mở rộng số chân và chốt được dữ liệu, tuy nhiên bạn làm như thế này không tận dụng được ưu thế của nó (chốt dữ liệu để mcu làm việc khác). Bạn nên dùng 2 ic 595 cho 2 digit rời nhau
Comment
-
mình nhầm chút bạn sửa lại như vầy:
void hienthi(unsigned char x1,unsigned char x2 )
{
quyet(mang[x1]);
PORTB.0=1;
delay_ms(10);
PORTB.0=0;
quyet(mang[x2]);
PORTB.1=1;
delay_ms(10);
PORTB.1=0;
}
còn trong vòng lặp chính để hiển thị 23 thì như này
while (1)
{
hienthi(2,3);
}
BẠn chạy mô phỏng sợ không đáp ứng được hiển thị quyét led đâu. Tốt nhất bạn nên nối 2 con 595 với 2 led rờiLast edited by vuhapassall; 24-12-2013, 23:03.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamCháu nghe thử trên youtube xem sao? : https://www.youtube.com/watch?v=Opm0BszTmFQ...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:23 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cháu không vào được để nghe thử. Mời bác nghe thử bản phối điệu Techno này xem thế nào nhé! Chúc bác vui.
( Cháu nhìn lyrics và cứ thế một mmạch hát demo rồi đưa vào suno. nó hát đạt 80% melody!)...-
Channel: Tâm tình dân kỹ thuật
27-04-2026, 17:00 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài này cháu phải "Creat" trên 30 lần rồi cắt ghép mới tạm có hồn tí đó bác. Quá nản luôn!!!
HẸN ƯỚC XUÂN SANG
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: Suno AI
---25/04/2026----
[Verse 1]
Gió...-
Channel: Tâm tình dân kỹ thuật
25-04-2026, 11:05 -

Comment