#include
论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

我的"欢乐颂"面世了

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:43:53

  这是我用中断,通过对计数器的设置编写出的音乐程序,而不同直接调用函数"sound"的.虽然还不完善,但也能听出是一首歌拉,哈哈....要执行就在turboc里编译一下就行了.

#include<stdio.h>
#include<dos.h>
int n=0,fg=0;
int b;
void soundkid(int x,int y)
{
  int a;
  outportb(0x43,0xb6);
  outportb(0x42,x);
  outportb(0x42,y);
  a=inportb(0x61);
  a=a|3;
  outportb(0x61,a);
};
void nosoundkid()
{
  int a;
  a=inportb(0x61);
  a=a&0xfd;
  outportb(0x61,a);
};
void interrupt(*old)(void);
void interrupt new()
{
  switch(b)
    {
       case 1:soundkid(200,17);break;
       case 2:soundkid(216,15);break;
       case 3:soundkid(30,14);break;
       case 4:soundkid(109,13);break;
       case 5:soundkid(226,11);break;
       case 6:soundkid(150,10);break;
       case 7:soundkid(110,9);break;
       case 0:nosoundkid();break;
       case'e':nosoundkid();break;
       default:;
}
   if(b!=0&b!='e')
    {
   n++;if(n>10){n=0;fg=1;}
    }
   else
    {n++;if(n>0){n=0;fg=1;}}
};
main()
{
  int code[42]={3,0,3,4,5,0,5,4,3,2,1,0,1,2,3,0,3,2,0,2,3,0,3,4,5,0,5,4,3,2,1,0,1,2,3,2,1,0,1,0,1,'e'};
  int i;
  for(i=0;i<42;i++)
   {
     b=code[i];
     old=getvect(0x1C);
     setvect(0x1c,new);
     for(;;)
      {
        if(fg==1)
  {fg=0;setvect(0x1c,old);break;}
      }
    }
}



点这里下载
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程