| 网站首页 | 文章中心 | 下载中心 | 编程世界论坛 | 图片中心 | 留言板 | 发布源码 | 
您现在的位置: 编程世界 >> 文章中心 >> C语言文章 >> 文章正文 用户登录 新用户注册
各种编程语言实现控制PC喇叭发声代码       ★★★ 【字体:
各种编程语言实现控制PC喇叭发声代码
作者:佚名    文章来源:本站原创    点击数:    更新时间:2008-3-9    

各种编程语言实现控制PC喇叭发声代码

编程语言包括51Asm 51C QB VB等

51Asm(演奏一首曲子,所以代码比较长):
        org 0000h       ;MUSIC
        LJMP START
        ORG 000BH
        LJMP INTT0
START: MOV SP,#50H
        MOV TH0,#0D8H
        MOV TL0,#0EFH
        MOV TMOD,#01H
        MOV IE,#82H
MUSIC0: NOP
        MOV DPTR,#DAT
        MOV 20H,#00H
MUSIC1: NOP
        CLR A
        MOVC A,@A+DPTR
        JZ END0
        CJNE A,#0FFH,MUSIC5
        LJMP MUSIC3
MUSIC5: NOP
        MOV R6,A
        INC DPTR
        MOV A,#0
        MOVC A,@A+DPTR
        MOV R7,A
        SETB TR0
MUSIC2: NOP
        CPL P1.0
        MOV A,R6
        MOV R3,A
        LCALL DEL
        MOV A,R7
        CJNE A,20H,MUSIC2
        MOV 20H,#00H
        INC DPTR
        LJMP MUSIC1
MUSIC3: NOP
        CLR TR0
        MOV R2,#0DH
MUSIC4: NOP
        MOV R3,#0FFH
        LCALL DEL
        DJNZ R2,MUSIC4
        INC DPTR
        LJMP MUSIC1
END0:   NOP
        MOV R2,#0FFH
MUSIC6: MOV R3,#00H
        LCALL DEL
        DJNZ R2,MUSIC6
        LJMP MUSIC0
DEL:    NOP
DEL3:   MOV R4,#02H
DEL4:   NOP
        DJNZ R4,DEL4
        NOP
        DJNZ R3,DEL3
        RET
        NOP
INTT0: INC 20H
        MOV TH0,#0D8H
        MOV TL0,#0EFH
        RETI
DAT:
DB 18H,30H,1CH,10H
DB 20H,40H,1CH,10H
DB 18H,10H,20H,10H
DB 1CH,10H,18H,40H
DB 1CH,20H,20H,20H
DB 1CH,20H,18H,20H
DB 20H,80H,0FFH,20H
DB 30H,1CH,10H,18H
DB 20H,15H,20H,1CH
DB 20H,20H,20H,26H
DB 40H,20H,20H,2BH
DB 20H,26H,20H,20H
DB 20H,30H,80H,0FFH
DB 20H,20H,1CH,10H
DB 18H,10H,20H,20H
DB 26H,20H,2BH,20H
DB 30H,20H,2BH,40H
DB 20H,20H,1CH,10H
DB 18H,10H,20H,20H
DB 26H,20H,2BH,20H
DB 30H,20H,2BH,40H
DB 20H,30H,1CH,10H
DB 18H,20H,15H,20H
DB 1CH,20H,20H,20H
DB 26H,40H,20H,20H

DB 2BH,20H,26H,20H
DB 20H,20H,30H,80H
DB 20H,30H,1CH,10H
DB 20H,10H,1CH,10H
DB 20H,20H,26H,20H
DB 2BH,20H,30H,20H
DB 2BH,40H,20H,15H
DB 1FH,05H,20H,10H
DB 1CH,10H,20H,20H
DB 26H,20H,2BH,20H
DB 30H,20H,2BH,40H
DB 20H,30H,1CH,10H
DB 18H,20H,15H,20H
DB 1CH,20H,20H,20H
DB 26H,40H,20H,20H
DB 2BH,20H,26H,20H
DB 20H,20H,30H,30H
DB 20H,30H,1CH,10H
DB 18H,40H,1CH,20H
DB 20H,20H,26H,40H
DB 13H,60H,18H,20H
DB 15H,40H,13H,40H
DB 18H,80H,00H
END

 

51C:


#include <AT89X52.h>

void main()
{
unsigned int i;

while (1)
{
    P1_1=1;
    for(i=0;i<=60000;i++);
    P1_1=0;
    for(i=0;i<=60000;i++);
}
}

 

TP:


   {Delay.PAS}

{Sample code for the Delay, NoSound, and Sound procedures.}

uses Crt;

begin
    Sound(220);        { Beep }
    Delay(200);        { For 200 ms }
    NoSound;           { Relief! }
end.

 

QB:

FOR i% = 440 TO 1000 STEP 5
SOUND i%, i% / 1000
NEXT i%


VB:

Option Explicit
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Private Sub Form_Load()
Const Duration As Integer = 500

'低低音组
Beep 131, Duration
Beep 147, Duration
Beep 165, Duration
Beep 176, Duration
Beep 196, Duration
Beep 220, Duration
Beep 247, Duration

'低音组
Beep 262, Duration
Beep 296, Duration
Beep 329.7, Duration
Beep 349.2, Duration
Beep 392, Duration
Beep 440, Duration
Beep 493.9, Duration

'中音组
Beep 523.3, Duration '中央C
Beep 587.3, Duration
Beep 659.3, Duration
Beep 698.5, Duration
Beep 784, Duration
Beep 880, Duration
Beep 987.8, Duration

'高音组
Beep 1046.5, Duration
Beep 1174.7, Duration
Beep 1318.5, Duration
Beep 1396.9, Duration
Beep 1568, Duration
Beep 1760, Duration
Beep 1975.5, Duration
End Sub

上面都是播放一首小音乐,并不是一个音的代码,如果是一个音可自行简化。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)