MCP定时器产生中心对称PWM输出:PWM波是一种脉宽可调的脉冲波,用于交、直流电机的电压控制。PWM一共有两种调整方法,一是定频调宽、另一种是定宽调频。其中定频调宽是种最常见的脉宽调制方式,它使脉冲波的频率保持不变,只调整脉冲宽度。同时定频调宽的PWM波形也分为两种,一种是单边的PWM,另一种是中心对称的双边PWM。中心对称的PWM主要应用在需要对称PWM波形的场合,如半桥、全桥的双极性驱动等。中心对称的PWM的生成原理如图1-2所示:定时计数器工作在连续增减计数方式,在计数初值设置为0且比较值小于周期值的条件下,当增计数过程中计数值和比较值匹配时置位输出,而在周期匹配时会改计数方向为减计数,当减计数过程中计数值和比较值匹配时复位输出,当减计数到零时会改计数方向为增计数,开始下一个循环。因此中心对称的PWM的周期为设定周期的二倍,占空比为:%100))((×−TPRNTPR(N为比较匹配数据,TPR为周期寄存器的值)。比较值的改变会影响PWM的两边的波形,并且两边相对高电平的中心对称,这便是中心对称双边PWM波形的特点。如果比较值为零,那么PWM将一直输出高电平;如比较值大于等于周期值,则PWM会一直输出低电平,占空比为0。
上传时间: 2013-11-13
上传用户:sammi
MCP定时器产生边沿PWM输出:PWM波是一种脉宽可调的脉冲波,用于交、直流电机的电压控制。PWM一共有两种调整方法,一是定频调宽、另一种是定宽调频。其中定频调宽是种最常见的脉宽调制方式,它使脉冲波的频率保持不变,只调整脉冲宽度。同时定频调宽的PWM波形也分为两种,一种是单边的PWM,另一种是中心对称的双边PWM。单边的PWM的生成原理如图1-2:定时计数器工作在增计数方式,在计数初值设置为0且比较值小于周期值的条件下,当计数值和比较值匹配时置位输出,而在周期匹配时复位输出,同时清零计数器,开始下一个循环。因此单边PWM的占空比为:%100))((×−TPRNTPR(N为比较匹配数据,TPR为周期寄存器的值)。比较值的改变只影响PWM的单边波形,这便是单边PWM波形的特点。如果比较值为零,那么PWM将一直输出高电平;如比较值同周期值相等,则PWM会输出一个时钟周期的低电平,占空比近似为0;当比较值大于周期值,那么PWM将一直输出低电平。
上传时间: 2013-11-07
上传用户:moerwang
基于中颖SH79F164单片机的电子血压计应用:电子血压计因具有无创性、操作简单、携带方面等优点,目前得到广泛的应用和推广。无创检测血压的方法很多,如柯氏音法,测振法,超声法、双袖带法、恒定袖带法、逐拍跟踪法、张力定测法和恒定容积法等。其中测振法就是我们常说的示波法,由于具有较好的抗干扰能力,能比较可靠地判断血压、实现血压的自动检测而成为无创血压的主流。目前国内外大多数电子血压计都采用示波法。示波法的原理同柯氏音法,也需要充气袖套来阻断动脉流,但在放气过程中不是检测柯氏音,而是检测气袖内气体的振荡波(测振法由此得名),这些振荡波是袖带与动脉耦合的结果,源于心血管周期内血管壁由于收缩舒张引起的压力脉动。理论计算和实践均证明此振荡波的幅度有一定的规律,与动脉收缩压、平均压以及舒张压有一定的函数关系。针对示波法,本文将详细介绍基于中颖电子SH79F164 单片机的血压计系统方案与软硬件实现。 在硬件电路设计方面,笔者参考了大量的资料,最终选定SH79F164 单片机作为主控IC。其理由是SH79F164 内建资源丰富,既能节省大量外围器件,又方便系统调试。SH79F164 内建资源主要有:可编程仪表放大器(PGA)、带通滤波器、固定增益放大器、恒流源放大器、10 位A/D 转换器、时基定时器(RTC)。硬件部分构成:压力传感器、SH79F164 单片机、LCD、袖套、充气泵、放气阀、按键等(见图3)。
上传时间: 2013-10-23
上传用户:muhongqing
抽样z变换频率抽样理论:我们将先阐明:(1)z变换与DFT的关系(抽样z变换),在此基础上引出抽样z变换的概念,并进一步深入讨论频域抽样不失真条件。(2)频域抽样理论(频域抽样不失真条件)(3)频域内插公式一、z变换与DFT关系(1)引入连续傅里叶变换引出离散傅里叶变换定义式。离散傅里叶变换看作是序列的傅里叶变换在 频 域 再 抽 样 后 的 变 换 对.在Z变换与L变换中,又可了解到序列的傅里叶 变换就是单位圆上的Z 变 换.所以对序列的傅里叶变换进行频域抽样时, 自 然可以看作是对单位圆上的 Z变换进行抽样. (2)推导Z 变 换 的 定 义 式 (正 变 换) 重 写 如 下: 取z=ejw 代 入 定 义 式, 得 到 单 位 圆 上 Z 变 换 为w是 单 位 圆 上 各 点 的 数 字 角 频 率.再 进 行 抽 样-- N 等 分.这 样w=2kπ/N, 即w值为0,2π/N,4π/N,6π/N…, 考虑到x(n)是N点有限长序列, 因而n只需0~N-1即可。将w=2kπ/N代入并改变上下限, 得 则这正是离散傅里叶变换 (DFT)正变换定义式.
上传时间: 2014-12-28
上传用户:zhaistone
Smith控制算法仿真与控制:了解计算机控制过程,及用不同种高级语言编写实验程序的方法与特点。了解Smith算法和程序设计。掌握阶跃信号、自定义信号下,Smith算法的参数整定及被控对象的仿真与控制。了解组态软件在工业自动化方面的应用和基本使用方法。 单回路温度控制箱A/D、DA转换板温度检测元件XMZ数字显示仪万用表 1 Smith控制算法的参数整定仿真,绘制仿真曲线。2 Smith控制算法实时控制的参数整定,绘制实时控制曲线。
上传时间: 2013-11-25
上传用户:europa_lin
单片机音乐中音调和节拍的确定方法:调号-音乐上指用以确定乐曲主音高度的符号。很明显一个八度就有12个半音。A、B、C、D、E、F、G。经过声学家的研究,全世界都用这些字母来表示固定的音高。比如,A这个音,标准的音高为每秒钟振动440周。 升C调:1=#C,也就是降D调:1=BD;277(频率)升D调:1=#D,也就是降E调:1=BE;311升F调:1=#F,也就是降G调:1=BG;369升G调:1=#G,也就是降A调:1=BA;415升A调:1=#A,也就是降B调:1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所谓1=A,就是说,这首歌曲的“导”要唱得同A一样高,人们也把这首歌曲叫做A调歌曲,或叫“唱A调”。1=C,就是说,这首歌曲的“导”要唱得同C一样高,或者说“这歌曲唱C调”。同样是“导”,不同的调唱起来的高低是不一样的。各调的对应的标准频率为: 单片机演奏音乐时音调和节拍的确定方法 经常看到一些刚学单片机的朋友对单片机演奏音乐比较有兴趣,本人也曾是这样。在此,本人将就这方面的知识做一些简介,但愿能对单片机演奏音乐比较有兴趣而又不知其解的朋友能有所启迪。 一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。 在音乐中所谓“音调”,其实就是我们常说的“音高”。在音乐中常把中央C上方的A音定为标准音高,其频率f=440Hz。当两个声音信号的频率相差一倍时,也即f2=2f1时,则称f2比f1高一个倍频程, 在音乐中1(do)与 ,2(来)与 ……正好相差一个倍频程,在音乐学中称它相差一个八度音。在一个八度音内,有12个半音。以1—i八音区为例, 12个半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。这12个音阶的分度基本上是以对数关系来划分的。如果我们只要知道了这十二个音符的音高,也就是其基本音调的频率,我们就可根据倍频程的关系得到其他音符基本音调的频率。 知道了一个音符的频率后,怎样让单片机发出相应频率的声音呢?一般说来,常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢?以标准音高A为例: A的频率f = 440 Hz,其对应的周期为:T = 1/ f = 1/440 =2272μs 由上图可知,单片机上对应蜂鸣器的I/O口来回取反的时间应为:t = T/2 = 2272/2 = 1136μs这个时间t也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0,则定时器的予置初值由下式来确定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL为定时器待确定的计数初值。因此定时器的高低计数器的初值为: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 将t=1136μs代入上面两式(注意:计算时应将时间和频率的单位换算一致),即可求出标准音高A在单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值为 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根据上面的求解方法,我们就可求出其他音调相应的计数器的予置初值。 音符的节拍我们可以举例来说明。在一张乐谱中,我们经常会看到这样的表达式,如1=C 、1=G …… 等等,这里1=C,1=G表示乐谱的曲调,和我们前面所谈的音调有很大的关联, 、 就是用来表示节拍的。以 为例加以说明,它表示乐谱中以四分音符为节拍,每一小结有三拍。比如: 其中1 、2 为一拍,3、4、5为一拍,6为一拍共三拍。1 、2的时长为四分音符的一半,即为八分音符长,3、4的时长为八分音符的一半,即为十六分音符长,5的时长为四分音符的一半,即为八分音符长,6的时长为四分音符长。那么一拍到底该唱多长呢?一般说来,如果乐曲没有特殊说明,一拍的时长大约为400—500ms 。我们以一拍的时长为400ms为例,则当以四分音符为节拍时,四分音符的时长就为400ms,八分音符的时长就为200ms,十六分音符的时长就为100ms。可见,在单片机上控制一个音符唱多长可采用循环延时的方法来实现。首先,我们确定一个基本时长的延时程序,比如说以十六分音符的时长为基本延时时间,那么,对于一个音符,如果它为十六分音符,则只需调用一次延时程序,如果它为八分音符,则只需调用二次延时程序,如果它为四分音符,则只需调用四次延时程序,依次类推。通过上面关于一个音符音调和节拍的确定方法,我们就可以在单片机上实现演奏音乐了。具体的实现方法为:将乐谱中的每个音符的音调及节拍变换成相应的音调参数和节拍参数,将他们做成数据表格,存放在存储器中,通过程序取出一个音符的相关参数,播放该音符,该音符唱完后,接着取出下一个音符的相关参数……,如此直到播放完毕最后一个音符,根据需要也可循环不停地播放整个乐曲。另外,对于乐曲中的休止符,一般将其音调参数设为FFH,FFH,其节拍参数与其他音符的节拍参数确定方法一致,乐曲结束用节拍参数为00H来表示。下面给出部分音符(三个八度音)的频率以及以单片机晶振频率f0=12Mhz,定时器在工作方式1下的定时器高低计数器的予置初值 : C调音符 频率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC调音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7频率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C调音符 频率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上传时间: 2013-10-20
上传用户:哈哈haha
第6章 定时与计数技术6.1 概 述1.定时 定义:提供的时间基准。 分类:内部定时、外部定时。2.计数 定时与计数本质上是一致的。 计数的信号随机,定时的信号具有周期性。3.应用分时系统切换任务的时间基准、测速、计数6.1.2 定时方法1.软件定时 通过软件指令周期方法定时,如执行循环程序。 增加CPU负担,通用性差,一般用于短延时。2.不可编程硬件定时 采用中小规模IC构成。 不增加CPU负担,成本低,定时值不可改变。3.可编程硬件定时 采用可编程计数器完成,软件可改变计数值。 可编程定时/计数器:实质上定时和计数本质上都是脉冲计数器,定时计的是内部基准时钟源产生的脉冲,计数是计外部脉冲。6.1.3 定时/计数器基本原理1.内部逻辑CPU接口: 片选、低端地址线、读写控制线、数据线外设接口: 时钟、控制、输出内部逻辑: 端口地址译码器、各种寄存器2.工作过程 设初值、控制(计数)、输出
上传时间: 2013-11-07
上传用户:yuzsu
15-1.实现定时的方法15-2.定时器/计数器的结构和工作原理 15-3.定时器/计数器的控制15-4.定时器/计数器的工作方式 15-5.定时器/计数器应用 软件定时软件延时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。例如延时程序。采用时基电路定时例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程,且定时时间容易漂移。可编程定时器定时最方便的办法是利用单片机内部的定时器/计数器。结合了软件定时精确和硬件定时电路独立的特点。定时器/计数器的结构 定时器/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。
上传时间: 2014-12-28
上传用户:rnsfing
介绍了一种多运动目标检测算法及序列图像的仿真效果,同时对多运动目标检测后的二值图像进行了连通成分标记袁最后根据标记结果在原图像中准确地框定了各运动目标。关键字 多运动目标 跟踪 序列图像 连通成分标记
上传时间: 2013-10-29
上传用户:nanfeicui
用C51写的普通拼音输入法源程序代码:原作使用了一个二维数组用以查表,我认为这样比较的浪费空间,而且每个字表的索引地址要手工输入,效率不高。所以我用结构体将其改写了一下。就是大家现在看到的这个。 因为代码比较的大,共有6,000多汉字,这样就得要12,000 byte来存放GB内码,所以也是没办法的.编译结果约为3000h,因为大部分是索引表,代码优化几乎无效。 在Keil C里仿真芯片选用的是华邦的W77E58,它有32k ROM, 256B on-chip RAM, 1K on-chip SRAM (用DPTR1指针寻址,相当于有1K的片上xdata)。条件有限,没有上片试验,仿真而已。 打算将其移植到AVR上,但CodeAVRC与IAR EC++在结构体、指针的定义使用上似乎与C51不太一样,现在还未搞定。还希望在这方面有经验的网友能给予指导。 #include<stdio.h> char * py_ime(char *); void main(void){ while(1) { char input_string[]="yI"; xdata char chinese_string[255]; sprintf(chinese_string,"%s",py_ime(input_string)); }}
上传时间: 2013-10-30
上传用户:cainaifa