⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soundl.cpp

📁 病人监测系统
💻 CPP
字号:
#include "StdAfx.h"
//*-------------------------------------------------------*/
//*    SoundL.cpp(声-光报警器接口实验)                    * /
//*    声-光报警器 Source File                            */
//*    Copyright (c) 2005 by HUST                         */
//*-------------------------------------------------------*/
#include <conio.h>     //kbhit();
#include "myport.h"

void delay(double minisecond)
{
	LARGE_INTEGER litmp;
	LONGLONG QPart1,QPart2;
	double dfMinus, dfFreq, dfTim;
	QueryPerformanceFrequency(&litmp);
	dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率
	QueryPerformanceCounter(&litmp);
	QPart1 = litmp.QuadPart;// 获得初始值
	do
	{
		QueryPerformanceCounter(&litmp);
		QPart2 = litmp.QuadPart;//获得中止值
		dfMinus = (double)(QPart2-QPart1);
		dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒
	}while(dfTim * 1e3 < minisecond); 
}

void SoundL()
{
	int xu[8]={0x81,0x42,0x24,0x18,0x81,0x42,0x24,0x18};	//LED发光顺序
	unsigned long int i=0,j=0;
	int num = 0;

	OpenPortTalk();

	outportb(0x303,0x83);								//初始化
	outportb(0x300,0x00);								//LED全灭
	outportb(0x303,0x0c);								//关闭SPK 
 
//	do
//	{
	  outportb(0x300,xu[i]);							//按顺序送发光信号
	  i++;
	  if(i==8) i=0;
      for(j=0;j<=100;j++)
	  {
	    outportb(0x303,0x0d);							//令PC6=1,发高频音
		delay(1);
	    outportb(0x303,0x0c);							//令PC6=0,关闭SPK
		delay(1);
	  }
	  outportb(0x300,0x00);								//LED全灭
      for(j=0;j<=10;j++)
	  {
		  outportb(0x303,0x0d);
		  delay(30);									//令PC6=1,发低频音
	      outportb(0x303,0x0c);							//令PC6=0,消音
		  delay(30);
	  }
//	  num ++;
//	}while(num < 3);
	outportb(0x300,0x00);								//LED全灭
	outportb(0x303,0x0c);								//关闭SPK

	ClosePortTalk();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -