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 Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -

Comment