久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機蜂鳴器播放歌曲匯編源碼和仿真
[打印本頁]
作者:
yqqing
時間:
2017-11-22 23:01
標題:
51單片機蜂鳴器播放歌曲匯編源碼和仿真
一個用51單片機播放歌曲的小程序
0.png
(6.51 KB, 下載次數: 74)
下載附件
2017-11-23 03:22 上傳
單片機匯編語言源程序如下:
org 0000H
sjmp start
org 0040H
start: mov R3,#-1;
loop4:
jb p1.0,stopzero ; the first step: see if button1 on. it is 0 jump to stopzero (2us)
inc R3 ;R3=0 at first (1us)
sjmp mod1;butoon=1 jump to paly the song (2us)
stopzero: ;(5us)
jb p1.1,stopone ;see if button2 is on. it's 0 jump to stoptone(2us)
inc R3 ; R3=0 at first (1us)
sjmp mod1 ; jump to paly the song (2us)
stopone:; (5us)
jb p1.3,loop4 ;see if button3 is on. it's 0 jump to stoptwo(2us)
inc R3
sjmp mod1 ; jump to paly the song (2us)
mod1: mov a,R3 ;(1us)
chec1: jb p1.0,chec2 ;(2us)find which song we are playing (2us)
sjmp b1 ;(2us)
chec2: jb p1.1,chec3
sjmp b2
chec3: jb p1.3,chec1
sjmp b3
b1: mov b,#11 ;(1us) b=first song's notes number
sjmp di ;(2us)
b2: mov b,#30 ;b=second song's notes number
sjmp di
b3: mov b,#30 ;b= third song's notes number
sjmp di
di: div ab ;divide a by b ,remainder is in b (4us)
mov a,b ; put remainder in a (1us)
mov R3,b ;put remainder in R3(which will be divided later (1us)
check1: jb p1.0,check2 ;to find which song is playing and get the duration table (
sjmp songdu1
check2: jb p1.1,check3
sjmp songdu2
check3: jb p1.3,check1
sjmp songdu3
songdu1: mov dptr,#durationone ;get duration table (2us)
sjmp get
songdu2: mov dptr,#durationtwo ;get duration table
sjmp get
songdu3: mov dptr,#durationthree ;get duration table
sjmp get
get: movc a,@a+dptr ;get the data in duration table one by one(2us)
mov R2,a; put a in R2 (1us)
;loop3(24+3+notes's half period)
loop3: mov a,b ;give reminder to a agian to get notes table(1us)
che1: jb p1.0,che2
sjmp songno1
che2: jb p1.1,che3
sjmp songno2
che3: jb p1.3,che1
sjmp songno3
songno1: mov dptr,#notesone ;get duration table (2us)
sjmp getn
songno2: mov dptr,#notestwo ;get duration table
sjmp getn
songno3: mov dptr,#notesthree ;get duration table
sjmp getn
getn: movc a,@a+dptr ; (2us)
mov R1,a ;put note now in R1 (1us)
loop2:mov R0,#10 ;the part of play every note:(2*R0+2+1)*R1
loop1: djnz R0,$
djnz R1,loop2
cpl p3.1
djnz R2, loop3 ;start make delay (2us) R2*(loop3+2us)
mov R1,255 ;make rest between two notes (1us)
delay2:mov R0,#255
delay1:djnz R0,$
djnz R1,delay2
acall loop4 ; get all steps again and agian
sjmp $
notesone: db 66,83,105,83,74,56,74,66,74,105,83 ; the delay time of the music score one by one
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
lab2-8051.rar
(65.72 KB, 下載次數: 40)
2017-11-22 23:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
色天堂视频
|
av在线播放一区二区
|
中文字幕视频在线看5
|
国产精品中文字幕在线
|
成人精品一区二区三区中文字幕
|
欧美性猛交一区二区三区精品
|
精品九九九
|
色偷偷人人澡人人爽人人模
|
亚洲一区三区在线观看
|
涩涩视频在线观看
|
日本又色又爽又黄的大片
|
精品一区电影
|
中文字幕av亚洲精品一部二部
|
欧美日韩在线播放
|
久久精品免费
|
在线免费中文字幕
|
夜夜骚
|
91av在线免费
|
国产精品三级久久久久久电影
|
国产91视频免费
|
欧美午夜激情在线
|
91麻豆精品国产91久久久久久
|
最新超碰
|
亚洲一区免费在线
|
日韩欧美精品
|
www.久久艹
|
国产在线不卡视频
|
亚洲成色777777在线观看影院
|
欧美综合国产精品久久丁香
|
亚av在线
|
亚洲a视频
|
男人的天堂在线视频
|
欧美日韩视频在线
|
日本午夜在线视频
|
97久久精品
|
亚洲精品视频一区
|
久久国产日韩欧美
|
成人一级视频在线观看
|
国产高清在线精品一区二区三区
|
国产精品一区二区福利视频
|
久久亚洲国产
|