Cảm ơn anh rất nhiều, em không có điều kiện học trong các trường kĩ thuật, nhưng thông qua các video này giúp em rất nhiều! phục nhất là sự nhiệt tình của anh với cộng đồng.
a ơi có thể giúp e với mạch dùng 74C595 này với e dùng 1 port xuất dữ liệu còn đâu chân điều khiển e lại dùng con 74C595 mà chưa hiển thị lên led 7 thanh
Mình có một vấn đề khi sử dụng 74HC595 là khi lúc mới cấp nguồn cho vi điều khiển, các chân I/O sẽ ở mức cao và nó vô tình tạo một tín hiệu gữi tới ic 74595 làm cho đèn sáng không mong muốn, vậy làm sao để xử lý vấn đề này. Lưu ý là mình đã dùng chân OE kết nối với 1 chân ở vi điều khiển và cho nó ở mức cao trong setup(), sao đó mới cho nó ở mức thấp trong loop()
khi thiết kế mạch bạn dùng BJT để quét led(ví dụ dùng BJT PNP--> 7SEG COM ANODE), thì tại cực B bạn kéo 1 điện trở 4k7 lên Vcc thì khi đó mặc định mở nguồn thì cực B mức cao nên BJT ko dẫn--> LED ko sáng.
anh ơi! sbit IE74595_DS là kiểu dữ liệu 1 bit. mà b & (0x80 >> i) là kiểu dữ liệu 8 bit thì nó vẫn gán được cho nhau ạ? Nếu gán được cho nhau thì nó sẽ lấy bit thứ mấy trong 1 byte để gán cho IE74595_DS vậy a? chúc anh sức khỏe để có nhiều video chia sẻ với moị người. thanks anh!
phải kiểm tra kết quả sau khi and 2 số #define DATA P2_1 #define ENABLE_BIT P2_0 #define ENABLE_DATA P2_2 void dichData(unsigned char ucdata) { unsigned char i,tam; for(i=0;i>i); if(tam) { DATA = 1; } else { DATA = 0; } //tao 1 xung de dich bit ENABLE_BIT = 0; ENABLE_BIT = 1; } //sau khi dich hoan tat 8bit vao bo dem thi tao 1 xung de xuat ra ENABLE_DATA = 0; ENABLE_DATA = 1; }
Anh giảng rất hay và hiểu ạ , em đã thử được 1 mạch rồi ạ . Anh cho em hỏi là khi làm mạch bây giờ em thay thành AT89S52 thay vì C52 và code em vẫn thế , file HEX vẫn thế thì có đc ko anh nhỉ
em chế đoạn for đầu tiên như thế này mà không chạy @@ hixx anh chỉ em vơi :( void xuat_mang(unsigned char *p , unsigned int n) // n la so 595 { unsigned int i,b; for (b=n; b!=0 ;b--) { b = *(p+b-1); for (i=0;i>i); xung_vao =0; xung_vao =1; } } xung_ra=0; xung_ra=1; }
21/05/2023 Q7 TP HCM. Em đang trên con đường để cố gắng để trở thành embedded engineer. cám ơn anh Dâng rất nhiều
Cảm ơn anh rất nhiều, em không có điều kiện học trong các trường kĩ thuật, nhưng thông qua các video này giúp em rất nhiều! phục nhất là sự nhiệt tình của anh với cộng đồng.
quá dễ hiểu
anh dảng rất hay, chúc a luôn có sức khỏe để cống hiến nhiều hơn
Cảm ơn nhiều vì bài giảng đầy đủ các chi tiết dễ hiểu..
hay thanks anh nhiều
giảng dạy vô cùng dễ hiểu, bài giảng thiết kế chuyên nghiệp
không hề hàn lâm như ở trường
Thx alot, brother
Cảm ơn anh rất nhiều. 30/06/2018
Giao tiếp này gọi là gì vậy mn
giao tiếp bộ nhớ ngoài á bạn ^^
anh ơi, em cám ơn anh rất nhiều nhé..
bây giờ em đã hiểu được cách con 6B959 hoạt động như thế nào rồi!
cam on!
anh cho em hỏi làm thế nào để diều khiển các chân khác mà không ảnh hưởng các chân đã dùng để điều khiển 595 ? em cảm ơn !
anh giảng rất hay
cho em hỏi byte xuất ra từ con 74595 có xuất hiện đồng thời không
ước gì giảng viên đại học nào cũng được như anh
Anh co em xin tai lieu nay duoc hong. Em xin cam on
a ơi có thể giúp e với mạch dùng 74C595 này với e dùng 1 port xuất dữ liệu còn đâu chân điều khiển e lại dùng con 74C595 mà chưa hiển thị lên led 7 thanh
mình muốn cho >= 2 con L.E.D chạy cùng lúc trên 32 I/O thì phải làm sao vậy anh Dâng?
Mình có một vấn đề khi sử dụng 74HC595 là khi lúc mới cấp nguồn cho vi điều khiển, các chân I/O sẽ ở mức cao và nó vô tình tạo một tín hiệu gữi tới ic 74595 làm cho đèn sáng không mong muốn, vậy làm sao để xử lý vấn đề này. Lưu ý là mình đã dùng chân OE kết nối với 1 chân ở vi điều khiển và cho nó ở mức cao trong setup(), sao đó mới cho nó ở mức thấp trong loop()
khi thiết kế mạch bạn dùng BJT để quét led(ví dụ dùng BJT PNP--> 7SEG COM ANODE), thì tại cực B bạn kéo 1 điện trở 4k7 lên Vcc thì khi đó mặc định mở nguồn thì cực B mức cao nên BJT ko dẫn--> LED ko sáng.
anh ơi!
sbit IE74595_DS là kiểu dữ liệu 1 bit.
mà b & (0x80 >> i) là kiểu dữ liệu 8 bit thì nó vẫn gán được cho nhau ạ?
Nếu gán được cho nhau thì nó sẽ lấy bit thứ mấy trong 1 byte để gán cho IE74595_DS vậy a?
chúc anh sức khỏe để có nhiều video chia sẻ với moị người.
thanks anh!
à ừm. là phép "&" nhỉ.
phải kiểm tra kết quả sau khi and 2 số
#define DATA P2_1
#define ENABLE_BIT P2_0
#define ENABLE_DATA P2_2
void dichData(unsigned char ucdata)
{
unsigned char i,tam;
for(i=0;i>i);
if(tam)
{
DATA = 1;
}
else
{
DATA = 0;
}
//tao 1 xung de dich bit
ENABLE_BIT = 0;
ENABLE_BIT = 1;
}
//sau khi dich hoan tat 8bit vao bo dem thi tao 1 xung de xuat ra
ENABLE_DATA = 0;
ENABLE_DATA = 1;
}
e thấy trong c phép logic and là && còn & là để lấy địa chỉ mà anh
đây là toán tử thao tác trên bit mà bạn.
Hay quá..
0x56 là mặc định của 74hc595 hả bác
Anh giảng rất hay và hiểu ạ , em đã thử được 1 mạch rồi ạ . Anh cho em hỏi là khi làm mạch bây giờ em thay thành AT89S52 thay vì C52 và code em vẫn thế , file HEX vẫn thế thì có đc ko anh nhỉ
+Dương Đào Nguyên
Đúng rồi em, nên dùng AT89S52 để nạp code dễ hơn, thay thế cho C52 hoàn toàn được, thậm chí nó còn nhiều chức năng hơn C52 nữa.
+HỌC IT - ĐIỆN TỬ File Delay.c anh ở chỗ nào vậy ạ e tìm ko có
+Dương Đào Nguyên
em tìm trong mấy bài trước thử, có thể anh up lên bị thiếu mất.
à em thấy r ạ , cái cách for (y=0;y
Bạn ơi sao minh dung code như bạn hương dẫn PORTC = b&(0x80>>i);
mà không chạy được .mình dùng mikroc for pic
A ơi cho e hỏi đoạn a ghi trong file code là main_h sau đó sao lại ra được đoạn kai báo tần số thạch anh vs thư viện kia ạ?
xem những video trước có hd đó bạn
e vẫn add thư viện đúng mà nó vẫn báo lỗi là mở k được thư viện là s anh?
hiểu đc chút chút...hì
sao không chạy được nhỉ anh ơi
sao ko xuat ra file hexx dc....ghi code giong video mk
+Tri Nguyen
Em xem lại mấy bài đầu đi, có hướng dẫn xuất file *.hex đó.
e xuat no bao loi....hic
#include
sbit IE74595_SHCP = P2^0 ;
sbit IE74595_DS = P2^1 ;
sbit IE74595_STCP = P2^2 ;
void IE74595_Out_byte(unsigned char b)
{
unsigned char i;
for(i=0;i>i);
IE74595_SHCP = 0;
IE74595_SHCP = 1;
}
IE74595_STCP = 0;
IE74595_STCP = 1;
}
void main()
{
IE74595_Out_byte(0x56)
while(1)
{
}
}
+HỌC IT - ĐIỆN TỬ
xem giup e voi
+Tri Nguyen
Nó báo lỗi gì?
Em copy dòng thông báo lỗi a xem thử.
thanks
em chế đoạn for đầu tiên như thế này mà không chạy @@ hixx anh chỉ em vơi :(
void xuat_mang(unsigned char *p , unsigned int n) // n la so 595
{
unsigned int i,b;
for (b=n; b!=0 ;b--)
{
b = *(p+b-1);
for (i=0;i>i);
xung_vao =0;
xung_vao =1;
}
}
xung_ra=0;
xung_ra=1;
}