关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于USB总线的多路电话录音系统

基于USB总线的多路电话录音系统

作者: 时间:2010-05-19 来源:网络 收藏


ADC_INT: CLRAD0INT;清ADC中断位
  PUSHACC
  PUSHPSW
  PUSHB
  PUSHDPH
  PUSHDPL
  MOVA,ADC_COUNTER
  MOVB, #3
  MULAB
  MOV DPTR,#ADC_TAB
  JMP @A+DPTR
ADC_TAB:
  LJMP ADC_0
  LJMP ADC_1
  LJMP ADC_2
  LJMP ADC_3
ADC_4:;查询电话状态
  MOV ADC_COUNTER,#1
  ;将ADC切换至通道4
  JMP ADC_INT_END
ADC_0:;读取电话1语音信号
  ;将ADC切换至通道5
  JMP ADC_INT_END
ADC_1:;读取电话2语音信号
  ;将ADC切换到通道6
  JMP ADC_INT_END
ADC_2:;读取电话3语音信号
  ;将ADC切换到通道7
  JMP ADC_INT_END
ADC_3:;读取电话4语音信号
  ;将ADC切换至通道8
ADC_3_1:DEC A
  JNZ ADC_3_2
  ;将ADC切换至通道1
  JMP ADC_INT_END
ADC_3_2:DEC A
  JNZADC_3_3
  ;将ADC切换至通道2
  JMP ADC_INT_END
ADC_3_3:;将ADC切换至通道3
ADC_INT_END:INCADC_COUNTER
  POPDPL
  POPDPH
  POPB
  POPPSW
  POPACC
  RETI

本文引用地址://m.amcfsurvey.com/article/202542.htm

3.3 上位机应用程序的设计

  系统选用 Visual C++ 6.0进行上位机应用程序的开发。程序采用多线程的思想,主线程为用户界面线程,负责应用程序与用户的交互;另外开辟一个工作线程,用于数据的传输。应用程序首先通过Xpress提供的接口函数F32x_GetNumDevices()来取得当前连接的设备数。然后,根据获得的标识号利用接口函数F32x_Open()打开相应设备,并获得设备的句柄作为USB设备的标识。该句柄在程序中是独一无二的。这样,就可以调用F32x_Read()和F32x_Write()接口函数来读/写设备,控制数据的传输。为了准确读取录音数据,USBXpress提供了接口函数F32x_CheckRXQueue()来返回设备接收队列中的字节数,以确保录音数据的无差错传输。录音数据以PCM的格式存储在电脑硬盘中。

结语

  该基于Silicon Laboratories公司提供的USBXpress软件开发包开发设计。开发调试简单、快捷,实现了四路电话同时录音,录音清晰,并实现了电话监听功能。通过对基于USB的的调试测试,证明了它不仅实现了基本的录音功能,达到了很好的录音效果,而且克服了以往传统方法的缺陷,实现了真正意义上的即插即用,极大地方便了用户使用。



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭