các tiền bối chỉ em phát nhạc với 8051 với, em nghe nói 8051 có thể phát nhạc nên định ngich 1 tý nhưng không biết làm thế nào??
Thông báo
Collapse
No announcement yet.
Phát nhạc dùng 8051
Collapse
X
-
mình tìm được cái nay trên mạng,
phat nhac đơn âm bài cô bé dỗi hờn nhưng
k hiểu người ta viết gì, nhất là mấy cái nốt nhạc
không hiểu sao mà ng ta lại viết dk như vậy
db 94h,0a4h,94h,74h,84h,92h,0a2h,0a8h => không biết cach tao ra cái này
;++++++description+++++++++++++
; khai bao cac bien dung trong bai
thutu_not equ 20h ; cac not trong ban nhac ;dinh dia chi byte
truong_do equ 21h ; tao tr truong do cac not ;dinh dia chi byte
tso_l equ 22h ; byte thap chua gia tri se nap cho timer
tso_h equ 23h ; chua byte cao
tam_1 equ 24h ; dey la 2 bien de chua
tam_2 equ 25h ; tam thoi du lieu cho xu li
phat bit p1.4 ; chan output nhac
;play_again equ 26h ; quan li so lan lap lai cua bai hat
; qui uoc not_trang = 8 , den = 4 , moc_don = 2
;+++++++++++++++++++++++++++++++++++++++++++++++++ +
org 0000h ;chon dia chi trong bo nho
ljmp main
org 000bh ;chon dia chi ngat
ljmp timer_0 ; ngat do timer 0
org 0030h ;chon dia chi luu main
main: ;Ö÷³ÌÐò
mov ie,#82h ; cho phep ngat timer 0
mov tmod,#01h ; chon timer_0 mod_1: 16 bit
lo: jnb p0.1,start0 ;cho nhan nut cho chay
jmp lo ;cho nhan nut cho chay
start0:
mov thutu_not,#00h ;
next_m:
mov a,thutu_not
mov dptr,#table
movc a,@a+dptr
mov tam_2,a
jz end0 ; neu het ban nhac thi exit ;nhay neu a=0
anl a,#0fh ;lay ham and giua a va #fh
mov truong_do,a
mov a,tam_2
swap a
anl a,#0fh
jnz sing ; neu a khac 0 thi nhay vao SING
clr tr0 ; dung bo dinh thoi
; neu a=0 tuc se la not lang (silent)
ljmp d1
sing:
dec a
rl a ; nhan a cho 2 (a x 2)
mov tam_1 ,a
mov dptr,#table1 ; mov dptr=00h (vi tri dau tien cua bang))
movc a,@a+dptr
mov th0,a
mov tso_h,a
mov a,tam_1
inc a
movc a,@a+dptr
mov tl0,a
mov tso_l,a
setb tr0 ; khoi dong bo dinh thoi
d1:
call length
inc thutu_not
ljmp next_m
end0:
clr tr0 ;neu muon play again
ljmp exit ;thi call start0
timer_0:
push acc
push psw
mov tl0,tso_l
mov th0,tso_h
cpl phat
pop psw
pop acc
reti
length: ; truong do
mov r7,#01h ; =01h neu not_den = 4
; =02h neu not_den = 2
d2:
mov r4,#187 ; t = truong_do x 92752us (12MHZ))
d3:
mov r3,#240
djnz r3,$
djnz r4,d3
djnz r7,d2
djnz truong_do,length
ret
;++++++++++++++++++++++++++++++
; day la cac not co xuat hien trog ban nhac
; xep theo thu tu do-re-mi-fa-sol-la-si
table1:
; not do(1)re(2) mi(3) fa sol la si
dw 63625,63834,64019,64104,64261,64400,64524
; not do'(8) re' mi'(A)
dw 64580,64685,64778
;+++++++++++++++++++++++++++++++
; bang nay chua cac not trong ban nhac
; nen xep theo tung cau nhac to easy manage
table:
;1 chieu hom nay vua tan buoi hoc
db 22h,54h,52h,54h,54h,64h,72h,32h,38h
;2 em lo ngo ra truoc san truong
db 42h,44h,42h,44h,54h,64h,32h,22h,28h
;3 Duong nhu anh dung do bao gio
db 22h,74h,72h,74h,84h,94h,82h,32h,38h
;4 Doi cho em da lau?
db 44h,54h,64h,74h,6fh ; 0xh la not lang
;+++++++++
;1 long em nhu mua xuan den gan
db 22h,54h,52h,54h,54h,64h,72h,32h,38h
;2 nhung con tim sao cu ngap ngung
db 42h,44h,42h,44h,54h,64h,32h,22h,28h
;3 Vi sao anh ko noi bao gio
db 22h,74h,72h,74h,84h,94h,82h,32h,38h
;4 Loi yue thuong dam say
db 44h,54h,64h,72h,62h,5fh
; chorus:
;1 Em ghet anh goi em co be
db 94h,0a4h,94h,74h,84h,92h,0a2h,0a8h
; nen thay anh em vo nhu ko thay
db 84h,94h,84h,72h,62h,74h,82h,92h,98h
;2 Em bat anh lam cai duoi em do
db 74h,84h,74h,52h,51h,71h,64h,72h,82h,88h
; Xem rat toi nghiep
db 68h,74h,22h,22h,2fh
; chorus_lan 2
;1 Anh co theo hang tram cay so
db 94h,0a4h,94h,74h,84h,92h,0a2h,0a8h
; Em van ko them quen anh do
db 84h,94h,84h,72h,62h,74h,82h,92h,98h
;2 Em ngo lo du long nghe xao xuyen
db 74h,84h,74h,52h,51h,71h,64h,72h,82h,88h
; Dang doi anh chua
db 88h,44h,52h,52h,5fh
; Dang doi anh chua
db 88h,44h,52h,52h,5fh
db 0
exit:
end
Comment
-
Nguyên văn bởi zxcvbnmasdfg Xem bài viếtChi cho minh cach doc not nhac cua tren voi, minh thay not nhac thuong ng ta viet vi du nhu
8c2 nghia la truong do bang 8, not do thang 2
con tren kia thi toan cai dang 82h, 81h khonh hjeu do la not gi, minh tim tren mang bai nay nhung k tim dk not nhac dang 8a2 de so sanh
Comment
-
Nguyên văn bởi chung1608 Xem bài viếtcó bạn ko hiểu gì VDK thì có, 82h,81h,... chỉ là các giá trị nạp vào cho timer để tạo ra tần số của nốt, muốn biết nốt nào tần số bao nhiêu thì down ebook Họ vi điều khiển 8051 của Tống Văn On trang 227 mà đọc
Let's go!!!
Comment
-
Cái này chắc là bạn phải coi bên phần nhạc lý 1 chút rồi. Ví dụ nốt la tần số là 440Hz, mình dùng timer phát đúng tần số đó sẽ ra. Rồi còn trường độ bao nhiêu (delay), vâng vâng và vâng vâng- Mạch nạp vdk 8051, AVR, PIC, EEPROM
- Linh kiện điện tử cho sinh viên
Comment
-
Noel vừa rồi có làm cái tặng người yêu cũng là sinh nhật luôn, up lên các bạn có nhu cầu tham khảo nhé! hjhj
Co j rep cho mình: doduytu@gmail.com
https://www.dropbox.com/s/xyotbrn3mj...%20Present.rar
Comment
-
Moi not ban phai de nghi 1 quang(de im lang,10 ms chang han).Vi hien tuong am thanh giua cac not lien tuc dan den tai nguoi nghe khong dung.Cai phat nhac nay minh ko lam.Nhung minh da thu nghiem cai hien tuong nay.muon am thanh hay hon thi phai phoi hop nhieu tan so cho mot not., , ,
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Khác nhau giữa mạch cân bằng chủ động toàn dãy và mạch cân bằng chủ động kiểu so áp 2 string liền kề.bởi louisnkCụ đã lên design chi tiết cho mạch để test chưa?
-
Channel: Điện tử dành cho người mới bắt đầu
19-09-2024, 08:12 -
-
bởi Manh.n.trMọi người cho em hỏi có bác nào làm project mạch đo độ mặn chưa ạ. Cho em hỏi có bác nào mô phỏng được trên Proteus không ạ? Em sinh viên đầu năm 3 tay mơ chưa biết nhiều mong mọi người giúp đỡ ạ
-
Channel: Các mạch điện ứng dụng
17-09-2024, 13:54 -
-
Trả lời cho Xin hỏi về mạch khuếch đạibởi yname11Ko đc bác ạ, mạch nó tự ngắt. Thôi đành dùng 1 kênh vậy, thanks bác nhé....
-
Channel: Điện thanh
15-09-2024, 10:44 -
-
bởi nguyendinhvanTôi thì không học về MCU, không giỏi về VXL , cũng mờ tịt về công nghiệp thực phẩm, nhưng cũng cố gắng tự làm được cái này.
Đồ ở chợ mua về cứ đặt ở sân, rồi xếp cái máy này lên trên, rồi đi chơi.
Một lúc sau quay...-
Channel: Tâm tình dân kỹ thuật
15-09-2024, 02:36 -
-
Trả lời cho Thép hàn cube led ???bởi nguyendinhvanRa chợ kim khí mua, có nhiều loại to nhỏ. Họ bán cho thợ xây dựng buộc khung đúc bê tông.
Về cắt thành đoạn.
Nhưng làm cho các đoạn dây thép đó thẳng tưng như cái gói mì Ý, thì cũng đòi hỏi công nghệ khéo tay.-
Channel: Điện tử dành cho người mới bắt đầu
15-09-2024, 02:03 -
-
Trả lời cho Thép hàn cube led ???bởi bqvietThép nào cũng hàn thiếc được : thép các-bon, thép không gỉ ... miễn là có chất trợ dung phù hợp. Dùng nhựa thông bình thường thì khó hàn, nhưng trên thị trường bán nhiều loại chất trợ dung đủ kiểu. Đơn giản nhất là dung dịch kẽm clorua ZnCl2.
-
Channel: Điện tử dành cho người mới bắt đầu
15-09-2024, 00:34 -
-
bởi tuyenda1985Các bác cho em hỏi.
Định làm cube led chơi chơi, nhưng vụ que thép để cho nó cứng
Mà chưa biết mua ntn, vì đang alwn tăn, loại này là loại nào (như hình em úp) mà có thể dùng thiếc hàn ??
Cảm ơn...-
Channel: Điện tử dành cho người mới bắt đầu
14-09-2024, 22:05 -
-
Trả lời cho Xin hỏi về mạch khuếch đạibởi thetungPhương án của bạn có thể được ,nhưng có thể rủi ro . Mặt khác bạn muốn tăng công suất thì phải giảm trở kháng của loa ( thí dụ dùng loa 2 ohm )...
-
Channel: Điện thanh
14-09-2024, 11:46 -
-
Trả lời cho Xin hỏi về mạch khuếch đạibởi yname11chập 2 đầu r+, l+ vào làm 1, 2 đầu r-, l- vào làm 1 . rồi đấu vào loa...
-
Channel: Điện thanh
14-09-2024, 07:40 -
-
Trả lời cho Em là người mới . Xin các bác chỉ giáo cách mod điều chỉnh điện áp trên nguồn DELTA esr 48/56abởi nguyendinhvanTheo tôi ấy, mấy cái hệ delta powerone ấy. Cứ để in như thế bán lấy tiền ăn phở.
Có chất bổ vào người, đầu sẽ thông minh ra, sau đó tự nghiên cứu chế tạo một cái nguồn theo ý mình.
Thế là vừa được thông minh, vừa được...-
Channel: Điện tử dành cho người mới bắt đầu
14-09-2024, 01:33 -
Comment