các bạn cho mình hỏi mình lắp mạch hiện thị led 7 đoạn lúc đầu nó chạy tốt nhưng sau đó nó chỉ hiện thị ra 88. mình dung ic chốt 74374.
hiện thị led 7 doạn từ 00-99
Collapse
X
-
Tags: None
-
mạch của bạn dùng ic gì để đếm, nếu đếm từ 00 đến 99 thì dễ mà, dùng 7490 là đếm vô tư rồi, mà sao lại có cả IC chốt ở đây nhỉ? Bạn post sơ đồ lên mọi người xem thử!
-
-
nếu đã dùng vi điều khiển thì không phải dùng thêm con IC nào nữa làm gì cho mệt. dùng phương pháp quét led ý. cho mỗi led sáng khoảng 10ms sau đó tắt rồi lại đến led tiếp theo sáng cứ như vậy mắt ta có hiện tượng lưu ảnh sẽ cảm thấy tất cả các led đều sáng. tạo một biến đếm cho nó tăng dần rồi cho hiển thị biến đếm đó là được mà.Nguyên văn bởi thuongkhang Xem bài viếtmạch của mình đâyNever forget who you are!
Comment
-
Tham khảo cái này bạn nha :

code:#include"reg52.h"
//================
sbit Led1 = P1^0;
sbit Led2 = P1^1;
//=================
unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
int a,b,c,d,k;
//=================
void main()
{
while(1)
{
for(k=0;k<=99;k++)
{
a=k/10;
b=k%10;
for(c=0;c<=10000;c++)
{
Led1=1; //led dau tien sang
P3=M[a];
Led1=0;
P3=0xff;//xoa du lieu
Led2=1; //led 2 sang
P3=M[b];
Led2=0;
P3=0xff;//xoa du lieu
}
}
}
}
//=================End=================
Comment
-
còn tôi thì đang muốn nhập trực tiếp số vào led 7seg mà làm ko đc. ý tưởng của tôi là dùng 3 nút nhấn. 1 để chọn led rồi nhập số, khi nhấn nút này led7seg cần nhập số sẽ nhấp nháy, và 2 nút nhập số tiến và lùi..nhưng code mình viết mãi mà ko đc chỉ chỉnh đc lên xuông còn chuyển led thì chưa biết
code:
#include <at89x51.h>
//dinh nghia nut nhan
#define nutnhan P2_0
#define nutxuong P2_1
#define nutchon P2_2
void delay( unsigned int ms )
{
unsigned int i,j;
for (i=0;i<ms;i++)
for (j=0;j<120;j++)
{}
}
//=Chuong trinh hien thi led 7 thanh tu 1 den 9==
void display_led(unsigned char number)
{
switch (number)
{
case 0:
P1=0xc0;
break;
case 1:
P1=0xf9;
break;
case 2:
P1=0xa4;
break;
case 3:
P1=0xb0;
break;
case 4:
P1=0x99;
break;
case 5:
P1=0x92;
break;
case 6:
P1=0x82;
break;
case 7:
P1=0xf8;
break;
case 8:
P1=0x80;
break;
case 9:
P1=0x90;
break;
}
}
//===Chuong trinh chinh===
void main(void)
{
while(1){
int m,n;
{
P3=0xfe;
for(m=0;m<10;m++){
if(nutnhan==0)
{
delay(10);
nutnhan=1;
display_led(n);
delay(500);
n=n+1;
}
if(nutxuong==0){
delay(10);
nutxuong=1;
n=n-1;
display_led(n);
delay(500);
}}
if(P3==0xfe);
display_led(n);
P3=0xfd;
for(m=0;m<10;m++){
if(nutnhan==0)
{
delay(10);
nutnhan=1;
display_led(n);
delay(500);
n=n+1;
}
if(nutxuong==0){
delay(10);
nutxuong=1;
n=n-1;
display_led(n);
delay(500);
if(P3==0xfd);
display_led(n);
n=n-1;
}
}
}
}}
// còn nút chọn ko biét viết thế nào mà sau khi chọn rồi thì quét???thế nào?
nhờ các bạn giúp đỡ!
// đây là 1 code khác cũng chẳng sài đc. nó tới những 26 lỗi luôn
nhờ các bạn chỉ hộ chỗ sai nhé! cảm ơn rất nhiều!
code:
#include <REGX52.H>
#define nutchon P2_0;
#define nutlen P2_1 ;
#define nutxuong P2_2;
void delay( unsigned int ms )
{
unsigned int i,j;
for (i=0;i<ms;i++)
for (j=0;j<120;j++)
}
void kiem_tra_nut(void) // chong rung cho contac
{
int n;
for(n=8;n<=0;n++) {
if(!nutchon)
{
delay(1);
while(nutchon==0)
delay(1);
P3=0xfe;P3<<1;
delay(1);
nutchon=1;
}
int m;
for(m=0;m<10;m++) {
if(!nutlen)
{
delay(1);
while(nutlen==0)
delay(1);
dislay_led(m);
nutlen=1;
}
for(m=10;m<0;m--) {
if(!nutxuong)
{
delay(1);
while(nutxuong==0)
delay(1);
dislay_led(m);
nutxuong=1;
}
}
//=Chuong trinh hien thi led 7 thanh tu 1 den 9==
void dislay_led(unsigned char number)
{
switch (number)
{
case 0:
P1=0xc0;
break;
case 1:
P1=0xf9;
break;
case 2:
P1=0xa4;
break;
case 3:
P1=0xb0;
break;
case 4:
P1=0x99;
break;
case 5:
P1=0x92;
break;
case 6:
P1=0x82;
break;
case 7:
P1=0xf8;
break;
case 8:
P1=0x80;
break;
case 9:
P1=0x90;
break;
}
}
void main(void){
int i;
while(1)
{
for(i=8;i<0;i++){
P3=0xfe;P3<<1;
kiem_tra_nut();
dislay_led(i);
delay(10);
}}}}}}
// sửa mãi chẳng đc càng nhiều error hơn, nhờ các bạn khai sáng hộ! thanks!Attached FilesTôi thích cái cầu kỳ của kỹ thuật
Nhưng ghét mọi phức tạp trong tính cách con người
Comment
Bài viết mới nhất
Collapse
-
bởi domar123Sự kết hợp giữa vi xử lý siêu cấp AMD Ryzen Threadripper 9960X / 9970X cùng card đồ họa Radeon RX 9060 XT / RX 9070 XT 16GB mang lại một cỗ máy "all-in-one" đúng nghĩa. Đây là cấu hình đáp ứng trọn vẹn cho những người dùng cần một hệ...
-
Channel: Đánh giá sản phẩm DTVN
27-08-2026, 11:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Nhân mùa Vu Lan báo hiếu, giới thiệu bài hát về mẹ:
TRỌN GÁNH THƯƠNG YÊU
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: AI, ngày 04/05/2026
[Verse 1]
Ơn sâu nghĩa nặng ngập tràn
Cả đời mẹ đã nhọc nhằn gian...-
Channel: Tâm tình dân kỹ thuật
24-08-2026, 14:58 -
-
bởi domar123Trong môi trường vận hành kinh doanh và công việc văn phòng hằng ngày, tính ổn định, độ bền bỉ và chi phí đầu tư luôn là những ưu tiên hàng đầu. Bộ vi xử lý AMD Athlon 3000G cùng phiên bản Athlon 3000G MPK mang lại giải pháp máy tính phổ...
-
Channel: Đánh giá sản phẩm DTVN
21-08-2026, 10:53 -
-
bởi ittcCác bác ơi, có người bày em là nên đăng ký học qua thầy, thầy sẽ nhiệt tình hơn rồi thầy quen biết trong giới thi dễ đậu hơn bla bla, nhưng đã có nhiều vụ thầy nhận tiền xong trốn luôn, hoặc giữa thầy và trung tâm không đồng nhất...-
Channel: Tâm tình dân kỹ thuật
20-08-2026, 19:27 -
-
-
bởi domar123Giải pháp build PC thông minh cho game thủ thực dụng
Khi tự lắp một bộ PC chơi game với ngân sách có hạn, việc chi tiêu hợp lý từng đồng là chìa khóa để đạt hiệu năng thực tế cao nhất. Sử dụng các vi xử lý tích hợp đồ...-
Channel: Đánh giá sản phẩm DTVN
20-08-2026, 10:00 -

Comment