PIC Vietnam

Go Back   PIC Vietnam > Robotics > Cảm biến

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cảm biến Camera, siêu âm, hồng ngoại, gyro, la bàn...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 20-09-2009, 01:32 PM   #1
thuyhutfet88
Đệ tử 2 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 34
:
Dùng PIC6F877A phát 1 vài bản nhạc.

Chào mọi nguời!
Mình đang làm về 1 vấn đề như sau:
Mình muốn dùng PIC 16F877A để phát 1 vài bản nhạc không lời.Romantic... chẳng hạn.Mình cũng nghĩ là phải dùng CCP để điều chế xung PWM.Nhưng mình chưa có hướng làm cụ thể và còn 1 số chỗ chưa hiểu.Cụ thể như phát các nốt nhạc khác nhau là có tần số khác nhau.Nhưng nếu chỉ thay đổi độ rộng xung thì tần số phát là ko đổi.Ai đã từng làm về vấn đề này cho mình hỏi thêm là mình có thể luôn để độ rộng xung là 1/2 chu kì xung mà chỉ thay đổi tần số phát dc ko vậy?Mong nhận được các cao kiến từ mọi người!
thuyhutfet88 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-09-2009, 10:19 PM   #2
phamquang_hung
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 7
:
Trích:
Nguyên văn bởi thuyhutfet88 View Post
Chào mọi nguời!
Mình đang làm về 1 vấn đề như sau:
Mình muốn dùng PIC 16F877A để phát 1 vài bản nhạc không lời.Romantic... chẳng hạn.Mình cũng nghĩ là phải dùng CCP để điều chế xung PWM.Nhưng mình chưa có hướng làm cụ thể và còn 1 số chỗ chưa hiểu.Cụ thể như phát các nốt nhạc khác nhau là có tần số khác nhau.Nhưng nếu chỉ thay đổi độ rộng xung thì tần số phát là ko đổi.Ai đã từng làm về vấn đề này cho mình hỏi thêm là mình có thể luôn để độ rộng xung là 1/2 chu kì xung mà chỉ thay đổi tần số phát dc ko vậy?Mong nhận được các cao kiến từ mọi người!
bạn có thể dùng timer để điều chỉnh đầu ra của bất cứ 1 chân nào trên PIC,mình đã từng làm rồi,phát bài happy birthday, tần số của các nốt nhạc bạn có thể tham khảo trong sách cấu trúc máy tính của Nguyễn Tăng Cường.
phamquang_hung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-09-2009, 12:00 AM   #3
thuyhutfet88
Đệ tử 2 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 34
:
uh!Cam on ban nhieu ha!
thuyhutfet88 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-09-2009, 04:15 PM   #4
phamquang_hung
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 7
:
Trích:
Nguyên văn bởi thuyhutfet88 View Post
uh!Cam on ban nhieu ha!
mình đã làm rồi, cả mạch thật nữa, nếu cần mình có thể share code cho bạn

#define c40 132 //dinh nghia cho tg
#define c41 62 //dinh nghia cho ck
#define d40 148 //may not nay moi chi viet duoc bai happy birtday
#define d41 55 //con nhung not viet bai khac se cap nhat sau
#define e40 174 //boi tac gia thuoc loai mu am nhac
#define e41 46 //nen khong doc duoc not nhac---thank
#define f40 166
#define f41 49
#define g40 196
#define g41 41
#define a40 220
#define a41 37
#define b4b0 232
#define b4b1 35
#define b40 247
#define b41 33


void not(int16 tg,int16 ck) //ck bien dat chu ky= (1/f)/30us/2
{ //tg=0.25xfx2
int16 y;y=0; //not nhac chi duoc phat trong 250ms
while(y!=tg) //muon keo dai thoi gian phat tang bien tg
{
while(count!=ck){} //tg phat con phu thuoc vao nhip dieu cua bai nhac
loa1=!loa1;count=0;++y; //nen phai dieu chinh tg cho hop ly
} //phai dat tg va ck 16bit de mo rong thoi gian
//va so luong tan so am co the phat duoc
loa1=0;delay_ms(5); //dat khoang lang 5ms
}
void nhac()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);//****BAT time0 DO CHIA TAN 2
set_timer0(237);
LCD_putcmd(clear_scr);//xoa man hinh
printf(LCD_putchar," HAPPY BIRTHDAY ");
LCD_putcmd(0xC0); //xuong hang2
printf(LCD_putchar," MY DARLING");
delay_ms(1000);
LCD_putcmd(clear_scr);
printf(LCD_putchar," HAP");
not(c40,c41);
printf(LCD_putchar,"PY ");
not(c40,c41);
printf(LCD_putchar,"BIRTH");
not(d40*2,d41);
printf(LCD_putchar,"DAY");
not(c40*2,c41);
LCD_putcmd(0xC0);
printf(LCD_putchar," TO ");
not(f40*2,f41);
printf(LCD_putchar,"YOU");
not(e40*4,e41);
LCD_putcmd(clear_scr);
printf(LCD_putchar," HAP");
not(c40,c41);
printf(LCD_putchar,"PY ");
not(c40,c41);
printf(LCD_putchar,"BIRTH");
not(d40*2,d41);
printf(LCD_putchar,"DAY");
not(c40*2,c41);
LCD_putcmd(0xC0);
printf(LCD_putchar," TO ");
not(g40*2,g41);
printf(LCD_putchar,"YOU");
not(f40*4,f41);
LCD_putcmd(clear_scr);
printf(LCD_putchar," HAP");
not(c40,c41);
printf(LCD_putchar,"PY ");
not(c40,c41);
printf(LCD_putchar,"BIRTH");
not(c40*2,c41);;
printf(LCD_putchar,"DAY");
not(a40*2,a41);
LCD_putcmd(0xC0);
printf(LCD_putchar," DEAR ");
not(f40*2,f41);
printf(LCD_putchar,"SO ");
not(e40*2,e41);
printf(LCD_putchar,"SO ");
not(d40*2,d41);
LCD_putcmd(clear_scr);
printf(LCD_putchar," HAP");
not(b4b0,b4b1);
printf(LCD_putchar,"PY ");
not(b4b0,b4b1);
printf(LCD_putchar,"BIRTH");
not(a40*2,a41);
printf(LCD_putchar,"DAY");
not(f40*2,f41);
LCD_putcmd(0xC0);
printf(LCD_putchar," TO ");
not(g40*2,g41);
printf(LCD_putchar,"YOU");
not(f40*4,f41);
LCD_putcmd(clear_scr);
}
thạch anh 20MHz

thay đổi nội dung bởi: phamquang_hung, 21-09-2009 lúc 04:35 PM.
phamquang_hung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-09-2009, 09:55 PM   #5
ferari
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 1
:
hay thế nhỉ
__________________
Sory...... No DATA
ferari vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-09-2009, 12:07 AM   #6
ganbaregenki
Nhập môn đệ tử
 
Tham gia ngày: Sep 2009
Bài gửi: 8
:
Mạch của nó thì sao???
ganbaregenki vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-10-2009, 02:39 AM   #7
phamquang_hung
Nhập môn đệ tử
 
Tham gia ngày: Nov 2008
Bài gửi: 7
:
Trích:
Nguyên văn bởi ganbaregenki View Post
Mạch của nó thì sao???
LCD bạn nối đến 1 cổng! còn loa bạn có thể nối qua 1 con tranzito đến bất cứ chân nào của PIC tùy bạn chọn và định nghĩa
phamquang_hung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:32 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam