Em vừa viết xong code của đề 20 (Bật tắt 8 loa), code thì hơi dài nhưng chủ yếu là trình bày, code của bài thì cũng bình thường. Nay post để các anh chị cho lời khuyên nên thêm bớt phần gì, có phải điều chỉnh gì không, và để các bạn tham khảo
Đây là sơ đồ nguyên lý:
Còn đây là code:
Rất mong nhận được sự góp ý của các anh chị và các bạn để bài hoàn chỉnh hơn
(Chua lap mạch thật, nhưng chắc là chạy được. Dựa vào hàm xuất kết hợp với vòng lặp, có thể thêm các kiểu bật tắt như bật loa chẵn, loa lẻ, bật từ trái sang phải, từ phải sang trái. Ai biết thuật toán xếp bi, chạy từ trong ra, từ ngoài vào thì giúp em với (những cái này chủ yếu chạy led))
Đây là sơ đồ nguyên lý:
Còn đây là code:
- Code:
#include<stdio.h>
#include<conio.h>
#include<dos.h>
#include<stdlib.h>
void main()
{
clrscr();
char ch;
do
{
clrscr();
gotoxy(25,3);
textcolor(127);
cprintf("DIEU KHIEN DEN LED QUA LPT");
gotoxy(10,5);
textcolor(122);
cprintf("Giang vien huong dan:");
gotoxy(35,5);
cprintf("Nhom 1:");
textcolor(126);
gotoxy(10,6);
cprintf("TH.S Vu Thanh Vinh");
gotoxy(35,6);
cprintf("1.Hoang Trong Duoc (Nhom truong)");
gotoxy(35,7);
cprintf("2. Nguyen Quang Hung");
gotoxy(35,8);
cprintf("3. Tran Duc Son");
gotoxy(35,9);
cprintf("4. Nguyen Quoc Viet");
gotoxy(35,10);
cprintf("5. Tran Van Vu");
printf("\n=============================");
printf("\n\n\t1-Bat loa 1");
printf("\n\t2-Bat loa 2");
printf("\n\t3-Bat loa 3");
printf("\n\t4-Bat loa 4");
printf("\n\t5-Bat loa 5");
printf("\n\t6-Bat loa 6");
printf("\n\t7-Bat loa 7");
printf("\n\t8-Bat loa 8");
printf("\n\t9-Bat het");
printf("\n\t0-Bat ngau nhien");
printf("\n\tPhim khac de thoat\n");
ch=getch();
switch (ch)
{ case'0':
{ printf("\nBat ngau nhien");
outportb(0x378,random(10));
delay(1000);
} break;
case '1':
{ printf("\n\tLoa 1");
outportb(0x378,0x80);
delay(1000);
} break;
case '2':
{ printf("\n\tLoa 2");
outportb(0x378,0x40);
delay(1000);
} break;
case '3':
{ printf("\n\tLoa 3");
outportb(0x378,0x20);
delay(1000);
} break;
case '4':
{ printf("\n\tLoa 4");
outportb(0x378,0x10);
delay(1000);
} break;
case '5':
{ printf("\n\tLoa 5");
outportb(0x378,0x08);
delay(1000);
} break;
case '6':
{ printf("\n\tLoa 6");
outportb(0x378,0x04);
delay(1000);
} break;
case '7':
{ printf("\n\tLoa 7");
outportb(0x378,0x02);
delay(1000);
} break;
case '8':
{ printf("\n\tLoa 8");
outportb(0x378,0x01);
delay(1000);
} break;
case '9':
{ printf("\n\tBat het");
outportb(0x378,0xff);
delay(1000);
} break;
}
}while(ch=='0'||ch=='1'||ch=='2'||ch=='3'||
ch=='4'||ch=='5'||ch=='6'||ch=='7'||ch=='8'||ch=='9');
textcolor(139);
cprintf("\n Hen gap lai cac ban!");
delay(2000);
}
Rất mong nhận được sự góp ý của các anh chị và các bạn để bài hoàn chỉnh hơn
(Chua lap mạch thật, nhưng chắc là chạy được. Dựa vào hàm xuất kết hợp với vòng lặp, có thể thêm các kiểu bật tắt như bật loa chẵn, loa lẻ, bật từ trái sang phải, từ phải sang trái. Ai biết thuật toán xếp bi, chạy từ trong ra, từ ngoài vào thì giúp em với (những cái này chủ yếu chạy led))