基于CH371的USB接口虚拟示波器设计
file://**********CH371初始化程序******************************
voidch371_init()
{
CH371_INT_SET=0;file://CH371中断数据设定寄存器的地址偏移
CH371_LENGTH=0X0F;file://置上传数据长度寄存器为15,表示暂时没有数据上传
save_length=0;file://保存下传数据长度
IT0=1;file://外部信号为下降沿触发
IE0=0;file://清中断标志
PX0=1;file://置高优先级
EX0=1;file://允许中断
}
file://***********上传数据子程序********************************
voidch371_upload(unsignedcharlen)file://参数传入数据长度
{
unsignedchari;
unsignedchar*up_buf;
unsignedchar*ch371_buf;
if(len!=0)
{
up_buf=&ret_buffer;file://指向数据的地址
ch371_buf=&CH371_BUFFER;file://指向数据缓冲区
for(i=0;i{
*ch371_buf=*up_buf;file://写入上传数据缓冲区
ch371_buf++;up_buf++;
}
}
CH371_LENGTH=len;file://写入本次数据的长度
}
file://********中断子程序使用中断0寄存器组2********
voidch371_inter()interrupt0using2{
unsignedchar*down_buf;
unsignedchar*ch371_buf;
unsignedchari;
&
nbsp;IE0=0;file://清中断标志
if((CH371_STATUS&0x01)==0){
file://读取状态信息寄存器,判断数据传输状态
save_length=CH371_LENGTH;file://保持下传数据长度
down_buf=&save_buffer;
ch371_buf=&CH371_BUFFER;
for(i=0;i{
*down_buf=*ch371_buf;file://读取一字节的下传数据
down_buf++;ch371_buf++;
}
}
elseCH371_LENGTH=0x0f;file://置上传数据长度寄存器为15
}
计算机端软件:
计算机端软件主要功能是模拟一个示波器的界面,实现数据的显示以及满足不同需要的分析功能,同时完成对数据采集硬件的参数设定。在这个设计中已经实现了基本的功能,虚拟示波器的界面如下图。进一步开发后可以实现量程的自动转换、数据的深度分 《基于CH371的USB接口虚拟示波器设计(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/170136.html
voidch371_init()
{
CH371_INT_SET=0;file://CH371中断数据设定寄存器的地址偏移
CH371_LENGTH=0X0F;file://置上传数据长度寄存器为15,表示暂时没有数据上传
save_length=0;file://保存下传数据长度
IT0=1;file://外部信号为下降沿触发
IE0=0;file://清中断标志
PX0=1;file://置高优先级
EX0=1;file://允许中断
}
file://***********上传数据子程序********************************
voidch371_upload(unsignedcharlen)file://参数传入数据长度
{
unsignedchari;
unsignedchar*up_buf;
unsignedchar*ch371_buf;
if(len!=0)
{
up_buf=&ret_buffer;file://指向数据的地址
ch371_buf=&CH371_BUFFER;file://指向数据缓冲区
for(i=0;i{
*ch371_buf=*up_buf;file://写入上传数据缓冲区
ch371_buf++;up_buf++;
}
}
CH371_LENGTH=len;file://写入本次数据的长度
}
file://********中断子程序使用中断0寄存器组2********
voidch371_inter()interrupt0using2{
unsignedchar*down_buf;
unsignedchar*ch371_buf;
unsignedchari;
&
nbsp;IE0=0;file://清中断标志
if((CH371_STATUS&0x01)==0){
file://读取状态信息寄存器,判断数据传输状态
save_length=CH371_LENGTH;file://保持下传数据长度
down_buf=&save_buffer;
ch371_buf=&CH371_BUFFER;
for(i=0;i{
*down_buf=*ch371_buf;file://读取一字节的下传数据
down_buf++;ch371_buf++;
}
}
elseCH371_LENGTH=0x0f;file://置上传数据长度寄存器为15
}
计算机端软件:
计算机端软件主要功能是模拟一个示波器的界面,实现数据的显示以及满足不同需要的分析功能,同时完成对数据采集硬件的参数设定。在这个设计中已经实现了基本的功能,虚拟示波器的界面如下图。进一步开发后可以实现量程的自动转换、数据的深度分 《基于CH371的USB接口虚拟示波器设计(第3页)》