久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6420|回復: 1
收起左側

蘭花草音樂播放程序:c51匯編與c51語言對照

[復制鏈接]
ID:71259 發表于 2014-12-30 23:41 | 顯示全部樓層 |閱讀模式
  //     用stc89c52rc單片機和一蜂鳴器制作:
;蘭花草音樂播放程序**************************c51匯編語言
org 00h
jmp start
org 0bh
jmp tim0
start:;JB P3.7,$   ;檢測該口的按鍵是否按下?
      mov tmod,#01h
      mov ie,#82h
start0:mov 30h,#00
next:mov a,30h
     mov dptr,#table
     movc a,@a+dptr
     mov r2,a
     jz end0
     anl a,#0fh
     mov r5,a
     mov a,r2
     swap a
     anl a,#0fh
     jnz sing
     clR tr0
     jmp d1
sing:dec a
     mov 22h,a
     rl a
     mov dptr,#table1
     movc a,@a+dptr
     mov th0,a
     mov 21h,a
     mov a,22h
     rl a
     inc a
     movc a,@a+dptr
     mov tl0,a
     mov 20h,a
     setb tr0
  d1:call delay
     inc 30h
     jmp next
  end0:clr tr0
       jmp start0
  tim0:push acc
       push psw
       mov tl0,20h
       MOV th0,21h
       cpl P1.6       ;由該口輸出音頻數據;可以更改口線
       POP PSW
       pop acc
       reti
  delay:mov r7,#02
    d2:mov r4,#125
    d3:mov r3,#248
    djnz r3,$
    djnz r4,d3
    djnz r7,d2
    djnz r5,delay
    ret
table1:
       dw 64021,64103,64260,64400
       dw 64524,64580,64684,64777
       dw 64820,64898,64968,65030
       dw 64934
table:db 42h,82h,82h,82h,84h,02h,72h
       db 62h,72h,62h,52h,48h
       db 0b2h,0b2h,0b2h,0b2h,0b4h,02h,0a2h
       db 12h,0a2h,0d2h,92h,88h
       db 82h,0b2h,0b2h,0a2h,84h,02h,72h
       db 62h,72h,62h,52h,44h,02h,12h
       db 12h,62h,62h,52h,44h,02h,82h
       db 72h,62h,52h,32h,48h
       db 00h
       end
*************************************************************************
***************************************c51語言編寫對照
#include"reg52.h"
#define uint unsigned int
#define uchar unsigned char
sbit speaker=P1^0;
uint a;
uint code table1[]={2,2,2,2,4,2,2,
            2,2,2,2,8,
            2,2,2,2,4,2,2,
            2,2,2,2,8,
            2,2,2,2,4,2,2,
            2,2,2,2,4,2,2,
            2,2,2,2,4,2,2,
            2,2,2,2,8 };
uint code table2[]={0x04,0x08,0x08,0x08,0x08,0x02,0x07,
      0x06,0x07,0x06,0x05,0x04,
      0x0b,0x0b,0x0b,0x0b,0x0b,0,0x0a,
      0x01,0x0a,0x0d,0x09,0x08,
      0x08,0x0b,0x0b,0x0a,0x08,0,0x07,
      0x06,0x07,0x06,0x05,0x04,0,0x01,
      0x01,0x06,0x06,0x05,0x04,0,0x08,
      0x07,0x06,0x05,0x03,0x04  };
uchar code table3[]={64021,64103,64260,64400,
         64524,64580,64684,64777,
         64820,64898,64968,65030,
         64934    };
void rhythm(uchar y)
{
TH0=(65536-y)/256;
TL0=(65536-y)%256;
TR0=1;//開啟定時器0
}
void init()
{
TMOD=0x01;
EA=1;
ET0=1;

}
void timer0 ()interrupt 1
{
speaker=1;
}
void delay(uint z,uchar temp)
{
uint x,j,k;
for(x=z;x>=0;x--)
{
  for(j=125;j>0;j--)
  {
   for(k=250;k>0;k--);
   rhythm(temp);
   speaker=0;
  }
}
}
void main()
{
while(1)
{
  init();
  for(a=0;a<60;a++)
  {
   delay(table1[a],table3[table2[a]]);
  }
}

}

回復

使用道具 舉報

ID:346807 發表于 2018-6-12 16:27 | 顯示全部樓層
C語言的程序不行啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 美日韩在线| 91久久国产综合久久91精品网站 | 午夜精品久久 | 91精品久久久久久久久久 | 超碰在线观看免费版 | 日本韩国三级 | 免费看大片a | 亚洲男人的天堂在线观看 | 国产日本在线观看 | 天天草天天草 | 91午夜精品亚洲一区二区三区 | 偷拍一区二区 | 国产高清视频在线播放 | 成人国产精品 | 国产成人亚洲精品自产在线 | 国产日韩欧美日韩大片 | 中文字幕超清在线观看 | 欧美亚洲国产日韩 | 久久久网站 | 91免费黄| 国产日韩在线视频 | 国产美女av | 九色91在线 | 亚洲黄色大片 | 教室脔到她哭h粗话h好爽视频 | 中文字幕第一页在线 | 亚洲激情中文字幕 | 天天爽天天操 | 91黄色大片 | 精品乱子伦一区二区三区 | 在线观看的av网站 | 欧美一区二区三区免费 | 91精品看片| 国产一区二区av | 日韩中文字幕一区二区三区 | 在线a视频| 麻豆成人免费视频 | av在线天堂网 | 欧美精品三区 | 日韩影音 | 成人免费高清视频 |