精华内容
下载资源
问答
  • 提出以一个可获得高的分辨率和宽的信号带宽的二阶ΔΣ时间数字转换器(TDC),TDC基于门控环形振荡器型TDC并结合时间差加法器构成的时间累加器实现了二阶量化噪声整形。采用SMIC 28nm工艺设计,Spectre仿真结果表明,...
  • 内有从官网下载的较为齐全的中英文资料,C代码和工具软件等,基本上满足...笔者曾经做过先关的项目,亲自验证acam公司的TDC-GP系列芯片是精度极高稳定可靠的时间数字转换器,希望这款芯片和这些资料对您的项目能有帮助。
  • TDC时间数字转换器

    2015-12-03 18:49:26
    介绍了基于TDC-GP21的时间数字转换器技术的原理及实现方法,以及测试
  • 使用TDC-GP22时间数字转换器的激光测距仪.pdf
  • 具有流水线ΔΣ时间数字转换器的2.4GHz全数字锁相环
  • 时间数字转换器tdc-gp2

    2013-12-12 12:53:58
    时间数字转换器gp2中文资料,有需要的赶紧来收藏了,可测温度,可测时间
  • 行业分类-物理装置-一种时间数字转换器及转换方法
  • 时间数字转换器(TDCs) 在激光测距中的应用!!!!!!!!!!!
  • FPGA上的数字转换器时间
  • 数字时间转换器的飞行时间范围探测器的像素设计
  • 使用互补并行单边带调制架构和数字信号处理的优化单次光子时间拉伸数字转换器
  • 英语数字转换器

    千次阅读 2016-01-27 20:54:23
    1. 英语数字转换器 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)注意: 总时间限制: 1000ms 内存限制: 65536kB 描述在这个问题中,将用英语给你一个或多个整数。你的任务是将...

    这是我在coursrea上做练习的时候碰到的一道题。原题如下:

    1. 英语数字转换器

    来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)

    注意: 总时间限制: 1000ms 内存限制: 65536kB

    描述

    在这个问题中,将用英语给你一个或多个整数。你的任务是将这些数字转换成整型表示。数字范围从-999,999,999到999,999,999.下面是你的程序必须考虑的详尽的英语单词表:

    negative, zero, one, two, three, four,five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen,fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, fifty,sixty, seventy, eighty, ninety, hundred, thousand, million

    输入

    输入包括多个样例,注意:

    1.负数前面有词negative

    2.当能用thousand的时候,将不用hundred。例如1500将写为”one thousand five hundred”,而不是”fifteen hundred”.

    输入将以一个空行结束

    输出

    输出将是每一个单独一行,每一个后面一个换行符

    样例输入

    six
    negative seven hundred twenty nine
    one million one hundred one
    eight hundred fourteen thousand twenty two


    样例输出

    6
    -729
    1000101
    814022

    解题思路:
    首先,涉及到字符和字符所对应的数字。对于不同的数字,如hundred,thousand和million表示的是基数单位类型不同。由此建立了结构体,包含字符、字符所对应的数字和字符的基数大小。这样存放单词表的数据结构就确定了。
    然后,输入的是一个字符串,根据“ ”不同位置,就能把每个单词划分出来,用string自带的find函数就可以解决这个问题。根据单词,在单词表中就有对应的数字和基数类型。将找出来的数字和基数存分别存放在一维数组中。
    最后,根据基数类型不同,将数组中的数字转换成long类型的数字。
    ps:代码中的命名太随意,求勿喷。

    
    
    #include<iostream>
    #include<string>
    using namespace std;
    struct strCha{
        string s;
        int t;
        int i;
        strCha(string s1, int t1, int i1) :s(s1), t(t1), i(i1){}
    };
    strCha stand[32] = {
        { "negative", -1, 1 },
        { "zero", 0, 0 },
        { "one", 1, 0 },
        { "two", 2, 0 },
        { "three", 3, 0 },
        { "four", 4, 0 },
        { "five", 5, 0 },
        { "six", 6, 0 },
        { "seven", 7, 0 },
        { "eight", 8, 0 },
        { "nine", 9, 0 },
        { "ten", 10, 0 },
        { "eleven", 11, 0 },
        { "twelve", 12, 0 },
        { "thirteen", 13, 0 },
        { "fourteen", 14, 0 },
        { "fifteen", 15, 0 },
        { "sixteen", 16, 0 },
        { "seventeen", 17, 0 },
        { "eighteen", 18, 0 },
        { "nineteen", 19, 0 },
        { "twenty", 20, 0 },
        { "thirty", 30, 0 },
        { "forty", 40, 0 },
        { "fifty", 50, 0 },
        { "sixty", 60, 0 },
        { "seventy", 70, 0 },
        { "eighty", 80, 0 },
        { "ninety", 90, 0 },
        { "hundred", 100, 2 },
        { "thousand", 1000, 3 },
        { "million", 1000000, 4 },
    };
    
    long ExchangeS(string& InputS)
    {   
        long resul=0;
        string valueS;
        int pos = 0, next = -1;
        int j = 0;
        int flag = 1;
        int num = InputS.size();
        int Shu[32];
        int np[32];
        while (pos != string::npos)
        {    
             pos = InputS.find(" ", pos+1);
            if (pos != string::npos)
            {
                valueS = InputS.substr(next+1,pos-next-1);
            }
            else
            {
                valueS = InputS.substr(next+1);
            }
            //在stand中寻找相匹配的字符串
            for (int i = 0; i < 32;i++)
            {
                if (valueS==stand[i].s)
                {
                    Shu[j] = stand[i].t;
                    np[j] = stand[i].i;
                    j++;
                    break;
                }
            }
            next = pos;
        }
        //转换成数字
        int i = 0;
        long nu = 0;
        long res = 0;
        while ( i < j)
        {
            switch (np[i])
            {
            case 1:flag = -1; i++;
            case 0:resul += Shu[i]; i++; 
                if (i >= j){ nu = nu + resul; resul = 0; break; }
                else  continue;//nu = nu + resul; resul = 0;
            case 2:if (nu<100){ nu += resul; nu *= Shu[i]; resul = 0; i++; break; }
                   else{ resul *= Shu[i]; i++; nu = nu + resul; resul = 0; break; }
            case 3:if (nu < 1000){ nu += resul; nu *= Shu[i]; resul = 0; i++; break; }
                   else{ resul *= Shu[i]; i++; nu = nu + resul; resul = 0; i++; break; }
            case 4:if (resul != 0)nu = resul+nu;  
                nu *= Shu[i]; i++; resul = 0; res = nu; nu = 0; break; 
            default:nu = nu + Shu[i]; resul = 0; break;
            }
        }
        if (res==0)
        return nu*flag;
        else return(nu + res)*flag;
    }
    int main()
    {
        char s[512];
        cin.getline(s, 512);
        string InputS(s);
        while (!InputS.empty())
        {
            cout << ExchangeS(InputS) << endl;
            cin.getline(s,512);
            InputS = s;
        }
        return 0;
    }
    展开全文
  • 英语数字转换器(POJ NO.1123)

    千次阅读 2017-08-16 22:51:27
    英语数字转换器(POJ NO.1123)总时间限制: 1000ms 内存限制: 65536kBQuestion 描述 在这个问题中,将用英语给你一个或多个整数。你的任务是将这些数字转换成整型表示。

    英语数字转换器(POJ NO.1123)

    总时间限制: 1000ms
    内存限制: 65536kB

    Question

    描述
    在这个问题中,将用英语给你一个或多个整数。你的任务是将这些数字转换成整型表示。数字范围从-999,999,999到999,999,999.下面是你的程序必须考虑的详尽的英语单词表:

    negative, zero, one, two, three, four,five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen,fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, fifty,sixty, seventy, eighty, ninety, hundred, thousand, million

    输入
    输入包括多个样例,注意:
    1. 负数前面有词negative
    2. 当能用thousand的时候,将不用hundred。例如1500将写为”one thousand five hundred”,而不是”fifteen hundred”.
    输入将以一个空行结束

    输出
    输出将是每一个单独一行,每一个后面一个换行符

    样例输入

    six
    negative seven hundred twenty nine
    one million one hundred one
    eight hundred fourteen thousand twenty two

    样例输出

    6
    -729
    1000101
    814022

    My Hints

    Algorithm

    此题主要有两点需要注意:

    1.字符串的分割

    C++库里没有定义像python的split函数,所以这里要自己写。刚好C++的strtok函数有类似功能。

    • 原型:char *strtok(char s[], const char *delim);
    • 功能:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。
      例如:strtok("abc,def,ghi",","),最后可以分割成为abc def ghi.尤其在点分十进制的IP中提取应用较多。
      如果,s为空值NULL,则函数保存的指针SAVE_PTR在下一次调用中将作为起始位置。
    • 说明:strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串中包含的所有字符。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时,则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。
    • 返回值:从s开头开始的一个个被分割的串。当s中的字符查找到末尾时,返回NULL。
      如果查找不到delim中的字符时,返回当前strtok的字符串的指针。
      所有delim中包含的字符都会被滤掉,并将被滤掉的地方设为一处分割的节点。
    • 使用:strtok函数会破坏被分解字符串的完整,调用前和调用后的s已经不一样了。如果要保持原字符串的完整,可以使用strchr和sscanf的组合等。

    2.英语到数字的转换

    在这里我将英语分为以下几种类型:

    英文数字转换器

    接下来编写程序的时候按照这个分类去考虑,思路会清晰很多。

    Codes

    @ hzhang_97@foxmail.com
    // Author: Florence
    // Created Time: 2017-08-16 18:24:33
    
    #include <iostream>
    #include <vector>
    #include <cstring>
    using namespace std;
    
    string word[] = {"negative","zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety","hundred","thousand","million"};
    int number[] = {-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,30,40,50,60,70,80,90,100,1000,1000000};
    string str;
    int num,temp; 
    vector<string> res;//存放分割的字符 
    vector<string>::iterator ite;
    int pos;
    
    //分割输入的字符串 
    void split(){
        res.clear();
        char *cstr,*p;
        cstr = new char[str.size()+1];
        cstr = strcpy(cstr,str.c_str());
        p = strtok(cstr," ");//空格作为分隔符 
        while (p != NULL){
            res.push_back(p);
            p = strtok(NULL," ");//第一次调用后再次调用要将字符串参数置空 
        }
    }
    
    void Eng2Num(){
        temp = 0;
        for (ite = res.begin();ite != res.end();ite++){
            for (string::size_type i = 0;i < 32;i++){
                if (*ite == word[i]){
                    pos = i;
                    break;
                }
            }
    
            //若第一个字符为negative,则为负数 
            if (pos == 0){
                cout << "-";
            }else if (pos == 29){//出现hundred的情况 
                temp *= number[pos];
            }else if (pos >= 30){//不会出现thousand和million一起的情况,放在一起讨论 
                temp *= number[pos];
                num += temp;
                temp = 0;
            }else{//小于100直接相加即可 
                temp += number[pos];
            }
        }
        num += temp;
        cout << num << endl;
    }
    
    int main(int argc, char** argv) {
        while (getline(cin,str)){//字符串中有空格,选用getline()输入 
            if (str.empty()) break;
            num = 0;
            split();//分割输入的字符串 
            Eng2Num();//将英语转换为数字 
        }
        return 0;
    }

    此题思路还是很巧妙的,想清楚之后发现转换起来也没那么复杂了。

    展开全文
  • 这篇文章作为模拟 / 数字转换器(ADC)的学习笔记,主要是根据《STM8S参考手册_中文》(以下简称《参考手册》)和《STM8S003K3_STM8S003F3_Datasheet_EN》(以下简称《数据手册》)来学习。 一 综述 根据《参数...

    虽然使用STM8S003F有一年了,但是对于其中的一些知识还是不是很详尽,从今天开始对照芯片资料做一个完整的学习。这篇文章作为模拟 / 数字转换器(ADC)的学习笔记,主要是根据《STM8S参考手册_中文》(以下简称《参考手册》)和《STM8S003K3_STM8S003F3_Datasheet_EN》(以下简称《数据手册》)来学习。

    一 综述

    根据《参数手册》我们知道,ADC1和ADC2是10位的逐次比较型模拟数字转换器。提供多达16个多功能的输入通道(实际准确的通道数量在数据手册的引脚描述说明)。A/D转换的各个通道可以执行单次和连续的转换模式。相对于ADC2,ADC1具有一些扩展功能,包括扫描模式、带缓存的连续模式、模拟看门狗。我们在使用的时候要根据《数据手册》来了解不同产品型号的ADC1和ADC2的功能信息。(STM8S003xx只有ADC1——编者注)

    二 详细介绍

    2.1 功能介绍

    主要功能如下(ADC1和ADC2的功能):

    • 10位的分辨率 
    • 单次和连续的转换模式 
    • 可编程的(转换频率的)预分频:fMASTER 可以被分频 2 到 18 
    • 可以选择ADC专用外部中断(ADC_ETR)或者定时器触发信号(TRGO)来作为外部触发信号 
    • 模拟放大(对于具有VREF引脚的型号)
    • 转换结束时可产生中断 
    •  灵活的数据对齐方式 
    • ADC 输入电压范围: VSSA ≤ VIN ≤ VDDA
    ADC1具有以下扩展功能
    • 带缓冲的连续转换模式(数据缓存大小依不同型号而异(10X10bit或8X10bit),详情参见《数据手册》)
    • 单次和连续转换的扫描模式 
    • 具有上限和下限门槛的模拟看门狗 
    • 模拟看门狗事件发生可产生中断

    根据《数据手册》我们知道,STM8S003xx产品包含10位逐次比较A/D转换器(ADC1),最多包含5个外部多路输入通道,其他特性如下:

    • 输入电压范围:0~VDD
    • 转换时间:14个时钟周期
    • 有单次、连续和缓冲连续3种转换模式
    • 当n=输入通道数时,缓存区的大小为:n*10bits
    • 通道序列的单次和连续转换的扫描模式
    • 有可编程上限和下限阈值的模拟看门狗(具有上限和下限门槛的模拟看门狗 )
    • 模拟看门狗中断(模拟看门狗事件发生可产生中断 )
    • 外部触发输入
    • TIM1 TRGO的触发器
    • 转换结束(EOC)中断
    根据《数据手册》我们知道,10位ADC特性如下(除另有规定外,VDD、fMASTER、TA都受一般操作条件的限制):

    表44:ADC特性
    (1)在采样时间期间,输入电容CAIN(最大3pF)可由外部源充电/放电。内部模拟源的电阻必须允许电容达到其最终电压水平tS。在最后采样时间tS底之后,模拟输入电压的变化对转换结果没有影响。采样时钟tS的值取决于编程。
    ADC准确特性待完成【】

    四 引脚描述

    表64 ADC引脚(《参考手册》)

    五 功能描述

    5.1 ADC开关控制
    通过置位ADC_CR1寄存器的 ADON(bit0)位来开启ADC。当首次置位ADON位时,ADC从低功耗模式唤醒。为了启动转换 必须第二次使用写指令来置位 寄存器的 位。在转换结束时ADC会保持在上电状态,用户只需要置位ADON位一次来启动下一次的转换【注:置位(Set):使变量的某一位为1;复位(Reset):使变量的某一位为0;】。 如果长时间没有使用ADC,推荐ADON 位来实现。 当ADC模块上电后,所选通道对应的I/O口 输出模块是被禁用的。因此推荐在ADC上电之前要选择合适的ADC转换通道。
    5.2 ADC时钟
    ADC 的时钟是由fMASTER时钟经过预分频后供给的。时钟的预分频因子是由 ADC_CR1寄存器的 SPSEL[2:0]决定的。
    5.3 通道选择
    STM8系列单片机有多达 16 个外部输入通道。但实际外部通道的数量取决于MCU 封装大小。STM3S003F3有5个外部输入通道。如果在一次转换过程中改变通道选择,那么当前的转换被复位同时一个新的开始指令脉冲被发 送到 ADC。
    5.4 转换模式
    ADC支持5种转换模式:单次模式,连续模式,带缓存的连续模式,单次扫描模式,连续扫描模式。
    5.4.1 单次模式
    在单次转换模式中,ADC仅在由ADC_CSR寄存器的CH[3:0]选定的通道上完成 一次转换。该模式是在当CONT位为0时通过置位ADC_CR1寄存器的ADON位来启动的。
    一旦转换完成,转换后的数据存储在ADC_DR寄存器中,EOC(转换结束,在ADC_CSR中)标志被置位,如果EOCIE (在ADC_CSR中)被置位将产生一个中断。(噪音采集用的单次) 
    5.4.2 连续模式和带缓存的连续模式
    在续转转换模式中 ADC在完成一次转换后就立刻开始下一次的转换。当CONT位被置位时即将ADC设为连续模式,该模式是通过置位 ADC_CR1寄存器的 ADON 位来启动的。
    ● 如果缓冲功能没有被使能(ADC_CR3寄存器的DBUF位=0),那么转换结果数据保存在ADC_DR寄存器中,同时 EOC 标志被置位。如果EOCIE 位已被置位时将产生一次中断。然后开始下一次转换。
    ● 如果缓存功能被使能(ADC_CR3寄存器的DBUF=1),那么某个选定通道上的8个或者10个连续的转换结果会填满数据缓存,当缓存被填满时,EOC(转换结束)标志被置位,如果EOCIE位已被置位,则会产生一个中断,然后一个新的转换自动开始。如果某个数据缓存寄存器在被读走之前被覆盖,OVR(在ADC_CR3中)标志将置1。(见24.5.5)
    如果要停止连续转换,可以复位清零CONT位来停止转换或者复位清零ADON位来关闭ADC的电源。
    5.4.3 单次扫描模式
    一定要注意,单次模式和单次扫描模式是不一样的!该模式是用来转换从AIN0到AINn之间的一连串模拟通道,'n’是在 ADC_CSR寄存器的CH[3:0]位中指定的通道编号。在扫描转换的过程中,序号 CH[3:0]位的值是被硬件自动更新的。它总保存当前正在被转换的通道编号。单次转换模式可以在在SCAN 位(在    中)被置位且COUNT位以清零时通过置位ADON来启动。
    注意:当使用扫描模式时, 不可以将AIN0到AINn之间通道对应的I/O口设为输出状态,因为ADC的多路选择器已经将这些I/O口的输出模块禁用了。 对于单次扫描模式,转换是       从AIN0通道开始的,而且结果数据被存储在数据缓冲寄存器ADC_DBxR 中,当最后一个通道(通道‘n’)被转换完成后,EOC(转换结束)标志被置位,当
        EOCIE 位已被置位时将产生一个中断。
    可以从缓冲寄存器中读取各个通道的转换结果值。如果某个数据缓存寄存器在被读走之前被覆盖,OVR标志将置1。(见24.5.5)
    转换序列正在进行过程中不要清零SCAN位;单次扫描模式可通过清零ADON位来立即停止。 为了开启一次新SCAN扫描转换,可以通过对ADC_CR1寄存器的EOC位清零和ADON位置位来实现。
    5.4.4 连续扫描模式
    该模式和单次扫描模式相近,只是每一次在最后通道转换完成时,一次新的从通道0到通道n扫描转换会自动开始。如果某个数据缓存寄存器在被读走之前被覆盖,OVR标志将置1(见24.5.5) 。连续扫描模式是在当SCAN位和CONT位已被置时,通过置位ADON位来启动的。 在转换序列正在进行过程中不要清零SCAN位。 连续扫描模式可以通过清零ADON位来立即停止。另外一种选择就是当转换过程中清除CONT位那么转换会在下一次的最后一个通道转换完成时停止。
    注意:在扫描模式中,不要使用位操作指令(BRES)去清除EOC标志位,这是因为该指令是对整个ADC_CSR寄存器的一个读-修改-写操作。从CH[3:0]寄存器中读取当前的通道编号和写回该寄存器,将会改变扫描系列的最后通道编号。
    在连续扫描模式中正确的清除EOC标志位的方法是 从一个RAM变量中载入一个字节到ADC_CSR寄存器,这样来清除 EOC标志位同时还重新载入扫描系列新的最后通道编号。 
    5.4.5 溢出标志位
    在带缓冲的连续模式,单次扫描模式或者连续扫描模式中,溢出错误标志位OVR位是由硬件置位的。它是用来指示10个缓冲寄存器中的某个值在被读走之前被一个新的转换结果值覆盖。在这种情况下,推荐重新开启一次新的转换过程(因为某个有效的结果已经被覆盖了)。(言外之一就是说,在出现错误就重启ADC转换,以前的值丢弃。——编者注) 
    注意:置位ADON位会自动清除OVR标志位。
    5.4.6 模拟看门狗
    暂时未看
    5.4.7 基于外部触发信号的转换
    暂时未看
    5.4.8 模拟放大
    暂时未看
    5.4.9 时序图
    如 图149所示,在ADC上电后,在开始精确转换之前ADC需要一个稳定时间tSTAB (等于一次转换的时间 tCONV),对于之后接下来的转换就不需要稳定延时,而且ADON位只需要被置位一次。 一次ADC转换需要14个时钟周期,在转换完成后EOC标志被置位,同时转换结果保存在10位ADC数据寄存器里面。
    图149 单次模式的时序图(CONT=0)

    图150 连续模式的时序图(CONT=1)

    六 低功耗模式

    暂时未看

    七 中断

    暂时未看

    八 数据对齐

    ADC_CR2寄存器中的ALIGN位用于选择转换后数据的对齐方式。 数据可以按如下方式对齐:
    左对齐:8个高位数据被写入ADC_DH寄存器中,其余的低位数据被写入ADC_DL寄存器中。读取时必须先读高位再读低位。
    右对齐:8个低位数据被写入ADC_DL寄存器中,其余的高位数据被写入ADC_DH寄存器中。读取时必须须先读低位再读高位。

    图152 数据左对齐

    图151 数据右对齐

    九 读取数据转换结果

    当读取ADC转换结果时,须注意要依据所选择的数据对齐方式,按照指定的方式连续使用两条指令来读取数据寄存器 (什么叫连续使用两条指令?——编者注)。为了保证数据一致性,MCU采用内部锁存机制。对应ADC_DR的高位寄存器和低位寄存器,直到读取一个指定数据寄存器之前,另一个寄存器的转换数据结果不会被修改。因此,按照错误的顺序来读取寄存器将得到错误的结果。 寄存器读取顺序由数据对齐方式决定(参考《笔记1》——八 数据对齐) 
    为了得到正确的结果:
    ● 在左对齐模式下,先读高位字节寄存器(ADC_DRH),再读低位字节寄存器(ADC_DRL)。
    ● 在右对齐模式下,先读低位字节寄存器(ADC_DRL),再读高位字节寄存器(ADC_DRH) 。此时,用户也可以选择使用LDW指令来读取整个ADC_DR,因为该指令和右对齐模式采用同样的读取顺序。

    十 施密特触发器禁止寄存器

    暂时未看

    十一  寄存器描述

    11.1 寄存器(ADC_DBxRH)(x=0..7 or 0..9) ADC高位数据缓存
    暂时未写
    11.2  ADC低位数据缓存寄存器(ADC_DBxRL)(x=0..7 or 0..9)
    暂时未写
    11.3 ADC控制/状态寄存器(ADC_CSR) configure state register
    地址偏移值:0x00
    复位值:0x00


    11.4 ADC配置寄存器1(ADC_CR1 )configure register 1
    地址偏移值:0x01
    复位值: 0x00


    11.5 ADC 配置寄存器 2 (ADC_CR2) configure register 2
    地址偏移值:0x02
    复位值: 0x00


    11.5 ADC 配置寄存器 2 (ADC_CR2)
    暂时未写
    11.6 ADC配置寄存器 3 (ADC_CR3)
    暂时未写
    11.7 ADC 数据高位寄存器(ADC_DRH)
    暂时未写
    11.8 ADC 数据低位寄存器(ADC_DRL)
    暂时未写
    11.9 ADC 施密特触发器禁止寄存器高位 (ADC_TDRH)
    暂时未写
    11.10 ADC 施密特触发器禁止寄存器低位 (ADC_TDRL)
    暂时未写
    11.11 ADC 上限门槛值高位寄存器(ADC_HTRH)
    暂时未写
    11.12 ADC 上限门槛值低位寄存器(ADC_HTRL)
    暂时未写
    11.13 ADC 下限门槛值高位寄存器(ADC_LTRH)
    暂时未写
    11.14 ADC 下限门槛值低位寄存器(ADC_LTRL)
    暂时未写
    11.15 ADC看门狗状态高位寄存器(ADC_AWSRH)
    暂时未写
    11.16 ADC看门狗状态低位寄存器(ADC_AWSRL)
    暂时未写
    11.17 ADC看门狗控制高位寄存器(ADC_AWCRH)
    暂时未写
    11.18 ADC看门狗控制低位寄存器(ADC_AWCRL)
    暂时未写
    十一  ADC寄存器映像表和复位值
    暂时未看
    十二 结束语
    这是一篇学习文档,由于内容较多,所以只对重点的地方和用到了的地方进行了一个阅读。

    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    版本:V1.0
    时间:2015.11.10
    作者:Alan
    说明:完成文章。
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    展开全文
  • 以上各款数字/模拟转换器的功耗都极低,若在2.7V至5.5V的供电电压范围内操作,稳定时间介于3us至6us (典型值)之间。以DAC122S085为例,这款12位双通道数字/模拟转换器若以3.6V的电压正常操作,其功耗最高也不会超过...
  • AD转换器的选择

    2020-11-13 11:18:11
    AD转换器的主要指标如下。  (1)分辨率(Resolution)。指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辨率又称精度,通常以数字信号的位数来表示。  (2)转换速率(Conversion Rate...
  • 而大家也知道mp3是通用的音频格式,因此有些时候我们需要固定格式的音频文件,所以我们就需要一款好用的音频转换器了。也不知道音频格式转换器哪个好?下面小编给大家推荐几款免费的mp3格式转换器。 Mp3音频格式...

    音乐在调节情绪、平衡心理方面有独特的疗效。大家平时都会接触到各种各样的音频文件,不同的音频文件其播放效果也不一样。而大家也知道mp3是通用的音频格式,因此有些时候我们需要固定格式的音频文件,所以我们就需要一款好用的音频转换器了。也不知道音频格式转换器哪个好?下面小编给大家推荐几款免费的mp3格式转换器。

    Mp3音频格式转换器是什么:

    MP3是一种音频压缩技术,其全称是动态影像专家压缩标准音频层面3(Moving Picture Experts Group Audio Layer III),简称为MP3。它被设计用来大幅度地降低音频数据量。mp3格式转换器是一类专门针对MP3数字音频格式进行编解码的软件,对MP3进行解码,即将MP3转换成其他格式,常见的转换模式包括MP3转WMA、MP3转WAV、MP3转AAC,对MP3进行编码,即将其他格式转换成MP3格式,常见的转换模式包括WAV转MP3、WMA转MP3、FLV转MP3、AVI转MP3等等。

    软件一:迅捷音频转换器

    一款专业的音频编辑工具,拥有音频剪切、音频提取、音频转换等多种功能,能够用多种分割方式进行音频剪切,而且支持批量操作,功能强大,操作简单,绝对是一款不容错过的软件。

    软件特色

    1、多种音频剪切方式

    支持平均分割、时间分割、手动分割

    2、产品功能丰富

    支持音频剪切、音频提取、音频转换

    3、支持文件批量操作

    不仅支持单个文件操作,还支持文件批量操作,提高效率

    软件二:佳佳mp3格式转换器

    《佳佳MP3格式转换器》是一款专业的并且操作简单的的MP3、WMA、WAV音频格式转换工具、影视视频音乐提取工具、音频压缩工具……佳佳MP3格式转换器可以在MP3、WAV、WMA、CD、OGG、AAC、RM、FLAC、AC3、M4A、CDA等流行音频格式之间相互转换。

    软件三:闪电MP3格式转换器

    《闪电MP3格式转换器》是一款功能强大的MP3音频格式转换工具。本MP3转换器能将几乎所有流行的音频格式(如WMA、WAV、AAC、FLAC、OGG、APE、MP2、AC3、RM等)转换为MP3音频文件。软件中预制了多种MP3格式转换方案(如标准MP3格式、高清MP3格式、高压缩MP3格式、适合移动设备播放的MP3格式等等),可以满足您的不同的转换需求。

    软件四:音频转换专家

    音频转换专家是一款操作简单,功能强大的音频转换软件,它是涵盖了音频格式转换、音频合并、音频截取、音量调整等功能的超级音频工具合集。

    软件特色:

    功能强大,简单易用。

    同时支持对视频文件中的音频进行操作。

    强大的音视频转换功能,支持任何主流音视频格式。

    以上就是小编今天给大家的分享,其实像音频转换起来的步骤本来就不多,而且都是小编自己试过很多次的,所以大家完全可以放心的去下载去尝试。

    展开全文
  • DAC0832转换器

    千次阅读 多人点赞 2020-05-26 09:39:24
    D/A转换器的转换速度较快,一般其电流建立时间为1μs。有些D/A转换器具有其它功能,如能输出多路模拟量、输出工业控制用的标准电流信号。典型的D/A转换器如8位通用型DAC0832、12位的DAC1208、电压输出型的AD558和多...
  • ADC模数转换器

    千次阅读 2020-12-21 11:17:55
    1.ADC模数转换器是什么? ADC,指模/数转换器或者模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。真实世界的模拟信号,例如温度、压力、声音或者图像等,需要转换成更容易储存、处理和发射的...
  • 罗马数字与阿拉伯数字的相互转换

    千次阅读 2018-05-02 09:27:22
      最近遇到一道非常有趣的题目,题目大意如下:有一个富翁在银河系里做生意,而银河系使用的是罗马数字,所以他需要一个精明能干的助手,帮助他完成罗马数字与阿拉伯数字的相互转换,题目在这个背景下衍生出交易...
  • 转换器的一些性能指标

    千次阅读 2016-01-26 15:47:08
    实例分析几种转换器模拟到数字转换器(Analog to Digital Converter,ADC)是将模拟信号转换为数字信号的一种器件。直接对模拟信号以高于奈奎斯特频率的采样频率进行采样。模拟到信息转换器(Analog to Information ...
  • 基于FPGA的TDC(数字时间转换)设计

    千次阅读 2020-04-17 16:35:28
    76为一个进位链的延迟(大概哈) 我的方法是这样的: 假设上图第一个信号是时钟信号,第二个是我们所要求的测量时间,我们可以把它分为如下的测距形式: 这也就解释了为什么我后仿的公式粗技术要减1了吧。...
  • 6. 模数转换器ADC

    千次阅读 2019-02-25 10:34:58
    6. 模数转换器ADC 6.1 ADC结构及寄存器说明 6.2 ADC设计实例 ...模数转换器ADC的主要功能是将模拟信号转化为数字信号以便于微控制器进行数据处理 ADC按转换原理分为逐次比较型、双积分型和∑...
  • AD/DA转换器

    千次阅读 2019-07-09 15:19:31
    一、数模转换器(DAC):将数字信号到模拟信号的转换。按照基本原理可以分为电流求和型和分压器型两种。 电流求和型包括:权电阻型DAC、权电流型DAC、倒T型电阻网络DAC。 分压器型包括:开关树型DAC、权电容网络DAC...
  • DA转换器原理及应用(报告)

    千次阅读 2020-06-15 17:24:34
    D/A转换器是将数字量转换为模拟量的电路,主要用于数据传输系统、自动测试设备、医疗信息处理、电视信号的数字化、图像信号的处理和识别、数字通信和语音信息处理等[1]。 D/A转换器的分类 按照解码网络结构不同,D/A...
  • AD转换器相关名词解释 1)分辩率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辩率又称精度,通常以数字信号的位数来表示。 2) 转换速率(Conversion Rate)是指完成一次从模拟...
  • [嵌入式]A/D转换器

    千次阅读 2016-12-26 20:16:33
    A/D转换器 8.1 A/D转换原理 在我们的日常生活中,会遇到很多的物理量,遇到很多的物理参数,其中,我们经常遇到的物理参数,如...这样,就需要一种能在模拟信号与数字信号之间起桥梁作用的电路—模数和数模转换器
  • ADC模数转换器工作原理及分类

    万次阅读 多人点赞 2016-06-02 13:45:41
    现在的软件、无线电、数字图像采集都需要有高速的A/D采样保证有效性和精度,一般的测控系统也希望在精度上有所突破,人类数字化的浪潮推动了A/D转换器不断变革,而A/D转换器是人类实现数字化的先锋。A/D转换器发展了...
  • Δ-Σ模数转换器是一种低速,高精度的过采样模数转换器广泛的应用于信号采集和处理、数字通信、自动检测、自动控制和多媒体技术等领域。作为Δ-Σ模数转换器首级的梳状滤波器的设计就显得非常重要,滤波器的设计直接...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 298,620
精华内容 119,448
关键字:

时间数字转换器