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
介绍用PIC16C73 自带的八位A/D 转换器扩展为十二位A/D 转换器,给出了具体的设计方案和程序流程。它是用以 PIC16C73 为MCU 构成的海水有机磷测控仪A/D 转换部分的一种解决方案。为监测海洋生态环境,研制了用于海水有机磷农药现场监测的生物传感器。为测定生物传感器的信号,使传感器可用于船载及台站的海洋生态环境现场自动监测,需要对整个的采样和排液装置进行控制以及对传感器来的信号进行实时采集处理,形成有机磷的浓度传给上位机。为此,开发了以PIC16C73 单片机为核心的小型测控仪器,很好的完成了上述功能。PIC1673 单片机自带8 位的A/D 转换器,但不能满足系统对精度的要求,本设计在单片机自带8 位A/D 基础上加少量的硬件和软件开销,使其扩展为十二位A/D 转换器,满足了系统的要求。
上传时间: 2013-10-30
上传用户:a296386173
基于MSP430 系列单片机设计了体外临时心脏起搏器的起搏装置,给出了硬件设计电路和软件的系统结构。经实验研究,该装置比原有的以AT89c2051 型单片机制造的体外临时心脏起搏器在单位电池供电的情况下使用期限更长,以实现低功耗,即将原来的工作电流削减一半以上,电池更换的频率由原先的1 次/周,降低至1 次/月 。心脏起搏器是目前临床上用于治疗心搏徐缓的最有效医疗设备。当患者心脏的窦房结或心肌的神经传导组织发生障碍时,心脏起搏器就会通过起搏装置人为的发放电脉冲,再经体内的导管电极刺激房室搏动[7]。随着现代电子技术的飞速发展,电子产品的低功耗设计越来越受到人们的重视。低功耗设计包括了低电压设计、低电流设计、相应得软硬件设计、充分利用现有资源、开发新资源等多层含意与技术[5] [6]。微功耗体外临时心脏起搏器已经成为各国、各公司竞相研究的一个重要领域。
上传时间: 2013-11-18
上传用户:xyipie
介绍了一种基于高性能51 内核网络微控制器的串口至以太网接口转换器的设计方案,采用网络单片机DS80C410,利用集成的MAC 通过以太网收发器与以太网相连,借助TINI SDK 软件开发包通过Java编程实现串口和以太网之间的数据通讯。串口至以太网接口转换器使得带有RS232/422/485 通讯接口的设备和以太网服务器进行数据流传输,通过以太网服务器对串口设备进行实时监控。互联网硬件和软件的迅猛发展,使得各种电气设备、仪器仪表以及生产过程中的数据采集与控制设备逐渐走向网络化。计算机技术、测控技术、网络与通讯技术不断发展与融合是一个必然的趋势。目前以太网已经广泛应用于计算机网络,成为互联网链接不可缺少的部分,另外以太网一般都基于TCP/IP协议,使得整个网络只有一种互联通讯协议,满足控制系统各个层次的要求,而且易于和Internet实现无缝连接。现今大多数现场设备通过串口与外界通讯,甚至串口是它们与外界通讯的唯一通道,串口设备的广泛使用以及对设备上网能力的不断需求,使得如何实现串口到以太网的转换显得尤为重要。DS80C410利用集成的MAC通过物理层器件与以太网相连,借助TINI SDK软件开发包可以轻松实现串口至以太网的接口转换。
上传时间: 2013-10-20
上传用户:a296386173
基于中颖SH79F164单片机的电子血压计应用:电子血压计因具有无创性、操作简单、携带方面等优点,目前得到广泛的应用和推广。无创检测血压的方法很多,如柯氏音法,测振法,超声法、双袖带法、恒定袖带法、逐拍跟踪法、张力定测法和恒定容积法等。其中测振法就是我们常说的示波法,由于具有较好的抗干扰能力,能比较可靠地判断血压、实现血压的自动检测而成为无创血压的主流。目前国内外大多数电子血压计都采用示波法。示波法的原理同柯氏音法,也需要充气袖套来阻断动脉流,但在放气过程中不是检测柯氏音,而是检测气袖内气体的振荡波(测振法由此得名),这些振荡波是袖带与动脉耦合的结果,源于心血管周期内血管壁由于收缩舒张引起的压力脉动。理论计算和实践均证明此振荡波的幅度有一定的规律,与动脉收缩压、平均压以及舒张压有一定的函数关系。针对示波法,本文将详细介绍基于中颖电子SH79F164 单片机的血压计系统方案与软硬件实现。 在硬件电路设计方面,笔者参考了大量的资料,最终选定SH79F164 单片机作为主控IC。其理由是SH79F164 内建资源丰富,既能节省大量外围器件,又方便系统调试。SH79F164 内建资源主要有:可编程仪表放大器(PGA)、带通滤波器、固定增益放大器、恒流源放大器、10 位A/D 转换器、时基定时器(RTC)。硬件部分构成:压力传感器、SH79F164 单片机、LCD、袖套、充气泵、放气阀、按键等(见图3)。
上传时间: 2013-10-23
上传用户:muhongqing
设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59秒)进行倒计时,当计时到0时数码管闪烁“00”(以1Hz闪烁),按键功能如下:(1)设定键:在倒计时模式时,按下此键后停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。(2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。(3)递一键:在设置状态时,每按一次递减键,初始值的数字减1。(4)确认键:在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显示倒计时的数字。如果已经处于计时状态则此键无效。3.1.2 模块1:系统设计(1)任务分析与整体设计思路根据题目的要求,需要实现如下几个方面的功能。计时功能:要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控制溢出中断的时间间隔,再利用一个变量记录定时器溢出的次数,达到定时1秒中的功能。然后,当计时每到1秒钟后,倒计时的计数器减1。当倒计时计数器到0时,触发另一个标志变量,进入闪烁状态。显示功能:显示倒计时的数字要采用动态扫描的方式将数字拆成“十位”和“个位”动态扫描显示。如果处于闪烁状态,则可以不需要动态扫描显示,只需要控制共阴极数码管的位控线,实现数码管的灭和亮。键盘扫描和运行模式的切换:主程序在初始化一些变量和寄存器之后,需要不断循环地读取键盘的状态和动态扫描数码管显示相应的数字。根据键盘的按键值实现设置状态、计时状态的切换。 (2)单片机型号及所需外围器件型号,单片机硬件电路原理图选用MCS-51系列AT89S51单片机作为微控制器,选择两个四联的共阴极数码管组成8位显示模块,由于AT89S51单片机驱动能力有限,采用两片74HC244实现总线的驱动,一个74HC244完成位控线的控制和驱动,另一个74HC244完成数码管的7段码输出,在输出口上各串联一个100欧姆的电阻对7段数码管限流。由于键盘数量不多,选择独立式按键与P1口连接作为四个按键输入。没有键按下时P1.0-P1.3为高电平,当有键按下时,P1.0-P1.3相应管脚为低电平。电路原理图如图3-1所示。
上传时间: 2013-11-13
上传用户:曹云鹏
基于单片机的红外门进控制系统设计与制作:我们所做的创新实验项目“基于单片机的红外门控系统”已基本完成,现将其工作原理简要说明。该系统主要分为两大部分:一是红外传感器部分。二是单片机计数显示控制部分。基本电路图如下:其中红外传感器部分我们采用红外对管实现,红外对管平行放置,平常处于接收状态,经比较器输出低电平,当有人经过时,红外线被挡住,接收管接收不到红外线,经比较器输出高电平。这样,当有人经过时便会产生一个电平的跳变。单片机控制部分主要是通过外部两个中断判断是否有人经过,如果有人经过,由于电平跳变的产生,进入中断服务程序,这里我们采用了两对红外传感器接到两个外部中断口,中断0作为入口,实现加1操作,中断1作为出口,实现减1操作。另外,我们通过P0口控制室内灯的亮暗,当寄存器计数值为0时,熄灯,不为0时,灯亮。显示部分,采用两位数码管动态显示,如有必要,可以很方便的扩展为四位计数。精益求精!在实验过程中,我们走了非常多的弯路,做出来的东西根本不是自己想要的,我们本想做成室内只有一个门的进出计数,原理已清楚,即在门的两边放置两对红外对管,进出时,挡住两对对管的顺序不同,因此,可判断是进入还是出去,从而实现加减计数,编程时,可分别在两个中断服务程序的入口置标志位,根据标志位判断进出,详细内容在程序部分。理论如此,但在实际过程中,还是发现实现不了上述功能,我们初步判定认为是程序掌握得不够好,相信随着自己对单片机了解的深入,应该会做出更好的 (因为我们是临时学的单片机),程序的具体内容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化缓存区 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;调用数制转换子程序 ACALL DISPLAY ;调用显示子程序 LJMP NEXT1 ORG 0100H ;中断0服务程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中断1服务程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六进制转化为十进制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;将十六进制中最高位移入进位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位数加上本身相当于将这个数乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十进制调整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段码表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延时子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 该系统实际应用广泛。可用在生产线上产品数量统计、公交车智能计数问候(需添加语音芯片)、超市内人数统计等公共场合。另外,添加串口通信部分便可实现与PC数据交换的功能。 由于,实验简化了,剩下不少零件和资金,所以我们又做了两项其他的实验。
上传时间: 2013-12-22
上传用户:tangsiyun
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
自制一台ATMEL 89系列FLASH单片机编程器学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。支持的器件: 这个编程器支持以下ATMEL单片机AT89C51,AT89C52,AT89C55,AT89S51,AT89S52,AT89S53,AT89C51RC,AT89C55WD,AT89S8252,AT89C1051U,AT89C2051,AT89C4051注意:20脚的单片机需要一个简单的适配器。(图 2 ) 硬件: 图1显示了这个FLASH 编程器的电路图,编程器和标准的计算机并口连接。电路图中的U2是用于控制计算机和控制器之间的数据流,U4 锁存低位地址字节 ,U5 锁存高位地址字节 ,U3用于产生控制信号给被编程的单片机。IC U1用于产生编程脉冲给单片机.当U7提供编程电压给控制器时,电源部分用U8产生逻辑5v供给。IC U6用于产生5V或6.5V VDD 电源电压给单片机。
上传时间: 2013-10-18
上传用户:bakdesec