ai biet giup ho minh nha ?
dung ic chot 595 de hien thi tu 00 99
Collapse
X
-
Đặt câu hỏi cho rõ mới giúp được chứ. 595 là để ghi dịch và chốt data, hiển thị (ở đây chắc là led 7 đoạn) thì cần đưa dữ liệu vào các chân tương ứng với mã 7 đoạn. Vi điều khiển cần "giao tiếp" với 595 theo kiểu truyền nối tiếp. Tìm trên diễn đàn có rất nhiều .Thế thôi
-
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, 08:52.
Comment
-
bạn sai chỗ này này x&0x80 . đây là toán tử and 8 bit. bạn gán cho chân data sẽ luôn =0. sửA lại thành dâta=x && 0x80 nhé hoặc sửa data= (( x & 0x80)==0x80)
Comment
-
mắc sơ đồ như trên, muốn hiển thị 2 dìgit thì nối cả chân 1:2 và sử dụng kỹ thuật quét led nhé (hàm hiển thị của bạn) nhưng bạn viết hàm hiện thị sai rồi, 2 digit phải hiển thị thay phiên nhau với những giá trị tương ứng khác nhau ( truyền lại quyét data cho 595 trc khi đổi digit)
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, 22:03.
Comment
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:33 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
25-10-2026, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
25-10-2026, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -
-
Trả lời cho Tìm VR 5 chânbởi bqvietTrang sản phẩm này có loại 5 chân và 8 chân
https://linhkienchatluong.vn/chiet-a...doi_s1595.aspx
Ngoài ra một trang cùng cấp với nó có loại 6 chân nữa, chắc đủ cho người muốn tìm....-
Channel: Hướng dẫn tìm thông tin linh kiện
17-10-2026, 17:19 -
-
bởi dinhthuong80Chào cả nhà, chúc cuối tuần vui vẻ!
Hôm nay mình lên đây nhờ ai biết chỉ dùm biến trở 5 chân này tên gọi là gì, có thể mua ở đâu vậy? Xin cám ơn nhiều! ...-
Channel: Hướng dẫn tìm thông tin linh kiện
-
Comment