View Single Post
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