虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

脉宽<b>调制技术</b>

  • MSP430系列flash型超低功耗16位单片机

    MSP430系列flash型超低功耗16位单片机MSP430系列单片机在超低功耗和功能集成等方面有明显的特点。该系列单片机自问世以来,颇受用户关注。在2000年该系列单片机又出现了几个FLASH型的成员,它们除了仍然具备适合应用在自动信号采集系统、电池供电便携式装置、超长时间连续工作的设备等领域的特点外,更具有开发方便、可以现场编程等优点。这些技术特点正是应用工程师特别感兴趣的。《MSP430系列FLASH型超低功耗16位单片机》对该系列单片机的FLASH型成员的原理、结构、内部各功能模块及开发方法与工具作详细介绍。MSP430系列FLASH型超低功耗16位单片机 目录  第1章 引 论1.1 MSP430系列单片机1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 结构概述2.1 引 言2.2 CPU2.3 程序存储器2.4 数据存储器2.5 运行控制2.6 外围模块2.7 振荡器与时钟发生器第3章 系统复位、中断及工作模式3.1 系统复位和初始化3.1.1 引 言3.1.2 系统复位后的设备初始化3.2 中断系统结构3.3 MSP430 中断优先级3.3.1 中断操作--复位/NMI3.3.2 中断操作--振荡器失效控制3.4 中断处理 3.4.1 SFR中的中断控制位3.4.2 中断向量地址3.4.3 外部中断3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗应用的要点23第4章 存储空间4.1 引 言4.2 存储器中的数据4.3 片内ROM组织4.3.1 ROM 表的处理4.3.2 计算分支跳转和子程序调用4.4 RAM 和外围模块组织4.4.1 RAM4.4.2 外围模块--地址定位4.4.3 外围模块--SFR4.5 FLASH存储器4.5.1 FLASH存储器的组织4.5.2 FALSH存储器的数据结构4.5.3 FLASH存储器的控制寄存器4.5.4 FLASH存储器的安全键值与中断4.5.5 经JTAG接口访问FLASH存储器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序计数器PC5.1.2 系统堆栈指针SP5.1.3 状态寄存器SR5.1.4 常数发生寄存器CG1和CG25.2 寻址模式5.2.1 寄存器模式5.2.2 变址模式5.2.3 符号模式5.2.4 绝对模式5.2.5 间接模式5.2.6 间接增量模式5.2.7 立即模式5.2.8 指令的时钟周期与长度5.3 指令组概述5.3.1 双操作数指令5.3.2 单操作数指令5.3.3 条件跳转5.3.4 模拟指令的简短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 无符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符号数相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 无符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符号数乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的软件限制6.4.1 寻址模式6.4.2 中断程序6.4.3 MACS第7章 基础时钟模块7.1 基础时钟模块7.2 LFXT1与XT27.2.1 LFXT1振荡器7.2.2 XT2振荡器7.2.3 振荡器失效检测7.2.4 XT振荡器失效时的DCO7.3 DCO振荡器7.3.1 DCO振荡器的特性7.3.2 DCO调整器7.4 时钟与运行模式7.4.1 由PUC启动7.4.2 基础时钟调整7.4.3 用于低功耗的基础时钟特性7.4.4 选择晶振产生MCLK7.4.5 时钟信号的同步7.5 基础时钟模块控制寄存器7.5.1 DCO时钟频率控制7.5.2 振荡器与时钟控制寄存器7.5.3 SFR控制位第8章 输入输出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中断控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口逻辑第9章 看门狗定时器WDT9.1 看门狗定时器9.2 WDT寄存器9.3 WDT中断控制功能9.4 WDT操作第10章 16位定时器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定时器模式控制10.2.2 时钟源选择和分频10.2.3 定时器启动10.3 定时器模式10.3.1 停止模式10.3.2 增计数模式10.3.3 连续模式10.3.4 增/减计数模式10.4 捕获/比较模块10.4.1 捕获模式10.4.2 比较模式10.5 输出单元10.5.1 输出模式10.5.2 输出控制模块10.5.3 输出举例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕获/比较控制寄存器CCTLx10.6.4 Timer_A中断向量寄存器10.7 Timer_A的UART应用 第11章 16位定时器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定时器长度11.2.2 定时器模式控制11.2.3 时钟源选择和分频11.2.4 定时器启动11.3 定时器模式11.3.1 停止模式11.3.2 增计数模式11.3.3 连续模式11.3.4 增/减计数模式11.4 捕获/比较模块11.4.1 捕获模式11.4.2 比较模式11.5 输出单元11.5.1 输出模式11.5.2 输出控制模块11.5.3 输出举例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕获/比较控制寄存器CCTLx11.6.4 Timer_B中断向量寄存器第12章 USART通信模块的UART功能12.1 异步模式12.1.1 异步帧格式12.1.2 异步通信的波特率发生器12.1.3 异步通信格式12.1.4 线路空闲多机模式12.1.5 地址位多机通信格式12.2 中断和中断允许12.2.1 USART接收允许12.2.2 USART发送允许12.2.3 USART接收中断操作12.2.4 USART发送中断操作12.3 控制和状态寄存器12.3.1 USART控制寄存器UCTL12.3.2 发送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率选择和调整控制寄存器12.3.5 USART接收数据缓存URXBUF12.3.6 USART发送数据缓存UTXBUF12.4 UART模式,低功耗模式应用特性12.4.1 由UART帧启动接收操作12.4.2 时钟频率的充分利用与UART的波特率12.4.3 多处理机模式对节约MSP430资源的支持12.5 波特率计算 第13章 USART通信模块的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的从模式13.2 中断与控制功能 13.2.1 USART接收/发送允许位及接收操作13.2.2 USART接收/发送允许位及发送操作13.2.3 USART接收中断操作13.2.4 USART发送中断操作13.3 控制与状态寄存器13.3.1 USART控制寄存器13.3.2 发送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率选择和调制控制寄存器13.3.5 USART接收数据缓存URXBUF13.3.6 USART发送数据缓存UTXBUF第14章 比较器Comparator_A14.1 概 述14.2 比较器A原理14.2.1 输入模拟开关14.2.2 输入多路切换14.2.3 比较器14.2.4 输出滤波器14.2.5 参考电平发生器14.2.6 比较器A中断电路14.3 比较器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比较器A应用14.4.1 模拟信号在数字端口的输入14.4.2 比较器A测量电阻元件14.4.3 两个独立电阻元件的测量系统14.4.4 比较器A检测电流或电压14.4.5 比较器A测量电流或电压14.4.6 测量比较器A的偏压14.4.7 比较器A的偏压补偿14.4.8 增加比较器A的回差第15章 模数转换器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC内核15.2.2 参考电平15.3 模拟输入与多路切换15.3.1 模拟多路切换15.3.2 输入信号15.3.3 热敏二极管的使用15.4 转换存储15.5 转换模式15.5.1 单通道单次转换模式15.5.2 序列通道单次转换模式15.5.3 单通道重复转换模式15.5.4 序列通道重复转换模式15.5.5 转换模式之间的切换15.5.6 低功耗15.6 转换时钟与转换速度15.7 采 样15.7.1 采样操作15.7.2 采样信号输入选择15.7.3 采样模式15.7.4 MSC位的使用15.7.5 采样时序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 转换存储寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中断标志寄存器ADC12IFG.x和中断允许寄存器ADC12IEN.x15.8.5 中断向量寄存器ADC12IV15.9 ADC12接地与降噪第16章 FLASH型芯片的开发16.1 开发系统概述16.1.1 开发技术16.1.2 MSP430系列的开发16.1.3 MSP430F系列的开发16.2 FLASH型的FET开发方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 标准复位过程和进入BSL过程16.3.2 BSL的UART协议16.3.3 数据格式16.3.4 退出BSL16.3.5 保护口令16.3.6 BSL的内部设置和资源附录A 寻址空间附录B 指令说明B.1 指令汇总B.2 指令格式B.3 不增加ROM开销的模拟指令B.4 指令说明(字母顺序)B.5 用几条指令模拟的宏指令附录C MSP430系列单片机参数表附录D MSP430系列单片机封装形式附录E MSP430系列器件命名

    标签: flash MSP 430 超低功耗

    上传时间: 2014-04-28

    上传用户:sssnaxie

  • 以单片微机87C196MC为核心的电梯门机变频调速控制系统

    电梯的开关门过程是一个变速运动过程 ,需要对电梯门系统的驱动电机进行调速控制;本文提出了一种以高性能单片微机87C196MC 为核心的电梯门机变频调速控制系统,功率驱动电路采用驱动MOSFET 的专用集成电路IR2130;分析了基于PWM 技术控制电梯门机运行的方法;采用单片微机和功率驱动专用集成电路将门系统电机的交流变频器和驱动控制器集为一体,得到了一种可靠性高、控制灵活、成本低、体积小的电梯门机控制器。关键字:变频器;正弦脉宽调制;电梯门机系统 电梯的门机系统是电梯的一个非常重要的子系统。门机系统性能的优劣直接关系着整个电梯系统能否正常地运行。所以说,对门机系统的设计开发及制造是电梯系统设计开发及制造的一个关键环节。从控制这个角度来说,研究的重点应侧重于如何把先进的变频调速技术应用到门机系统中,使门机系统能高效经济可靠地运行。在目前的工程实践中,交流电机的变频调速策略主要有两种方法,即正弦脉宽调制方法(SPWM)和空间矢量脉宽调制方法(SVPWM)。其中SPWM 的基本原理就是用正弦波和高频三角载波比较产生PWM 脉冲序列:当基波(正弦波)高于三角载波时,相应的开关器件导通,反之,当基波低于三角载波时,相应的开关器件截止。产生的PWM 脉冲序列作为逆变器功率开关器件的驱动控制信号。本电梯门机变频调速系统就是采用SPWM 调制方法,采用INTEL 公司的16 位高性能微控制器87C196MC 作为核心控制芯片,由87C196MC 的PWM 波形发生模块产生PWM 信号去驱动功率电路,从而带动门机按照预先设定的运行曲线运行。

    标签: C196 196 87C 87

    上传时间: 2013-10-16

    上传用户:zhaoman32

  • TEA1504开关电源低功耗控制芯片的应用

    TEA1504开关电源低功耗控制芯片的应用:介绍了Philips 公司开发的Green Chip TM 绿色芯片TEA1504 的内部结构及工作原理,该控制芯片集成了开关电源的PWM 控制、高低频模式转换、栅极驱动和保护等功能,同时上有瞬态响应快,启动电流过冲小,待机功耗低等特点。关键词:开关电源 TEA1504 脉宽调制低功耗1 前言开关电源以其供电效率高,稳压范围大,体积小被越来越多的电子电器设备所采用,在大屏幕电视机、监视器、计算机等电器的待机或备用(stand-by)状态会继续耗电,为此,Philips 公司采用BiCOMS 工艺开发出了被之为Green Chip TM(绿色芯片)的高压开关电源控制芯片。该类集成芯片(IC)的稳压范围为90~276V(AC),能将开关电源待机功耗降至2W 以下,其本身的待机损耗小于100mW,并具有快速和高效的片内启动电流源;在负载功率较低时,它还能自动转换到低频工作模式,从而降低了开关电源的损耗。高水平的集成技术使IC 的外围元件大大减少,以实现开关电源的小型化、高效率和高可靠性。本文介绍的TEA1504 是Green Chip TM 系列IC 中的重要成员之一。

    标签: 1504 TEA 开关电源 低功耗

    上传时间: 2013-12-27

    上传用户:lyy1234

  • 单片机应用技术选编3

    单片机应用技术选编(3) 目录  第一章 单片机的综合应用技术1.1 8098单片机存储器的扩展技术1.2 87C196KC单片机的DMA功能1.3 MCS?96系列单片机高精度接口设计1.4 利用PC机的8096软件开发系统1.5 EPROM模拟器及其应用1.6 MCS?51智能反汇编软件的设计与实现1.7 MCS?51系列软件设计与调试中一个值得注意的问题1.8 PL/M语言在微机开发系统中的应用特性1.9 MCS?51单片机开发系统中的断点产生1.10 C语言实型数与单片机浮点数之间数据格式的转换1.11 微机控制系统初始化问题探讨1.12 MCS?51中断系统中的复位问题1.13 工业控制软件的编程原则与编程技巧1.14 CMOS微处理器的功耗特性及其功耗控制原理和应用1.15 基于PLL技术的A/D、D/A转换器的设计1.16 智能仪器监控程序的模块化设计1.17 用软件逻辑开关实现单片机的地址重叠使用1.18 8259A可编程中断控制器与8031单片机接口电路及编程1.19 NSC810及其在各种微处理机中的应用1.20 MC146818在使用中的几个问题1.21 交流伺服系统中采用8155兼作双口信箱存储器的双微机结构1.22 实用汉字库芯片的制作 第二章 新一代存储器及逻辑器件2.1 新一代非易失性记忆元件--闪烁存储器2.2 Flash存储器及应用2.3 随机静态存储器HM628128及应用2.4 非挥发性随机存储器NOVRAM2.5 ASIC的设计方法和设计工具2.6 GAL器件的编程方法及其应用2.7 第三代可编程逻辑器件--高密EPLD辑器件EPLDFPGA设计转换 第三章 数据采集、前向通道与测量技术 3.1 温度传感器通道接口技术 3.2 LM135系列精密温度传感器的原理和应用 3.3 仪表放大器AD626的应用 3.4 5G7650使用中应注意的问题 3.5 用集成运算放大器构成电荷放大器组件 3.6 普通光电耦合器的线性应用 3.7 高线性光耦合型隔离放大器的研制 3.8 一种隔离型16位单片机高精度模拟量接口3.9 单片16位A/D转换器AD7701及其与8031单片机的串行接口3.10 双积分型A/D转换器与MCS?51系列单片机接口的新方法3.11 8031单片机与AD574A/D转换器的最简接口3.12 8098单片机A/D转换接口及其程序设计3.13 提高A/D转换器分辨率的实用方案3.14 用CD4051提高8098单片机内10位A/D转换器分辨率的方法3.15 单片机实现16位高速积分式A/D转换器3.16 434位A/D转换器MAX133(134)的原理及应用3.17 AD574A应用中应注意的问题 3.18 CC14433使用中应注意的问题 3.19 高精度宽范围数据采集系统的温度补偿途径 3.20 缩短ICL7135A/D采样程序时间的一种方法 3.21 用单片机实现的数字式自动增益控制 3.22 自动量程转换电路 3.23 双积分型A/D的自动量程切换电路 3.24 常用双积分型A/D转换器自换程功能的扩展3.25 具有自动量程转换功能的单片机A/D接口3.26 混合型数据采集器SDM857的功能与应用3.27 高速数据采集系统的传输接口3.28 SJ2000方向鉴别位移脉宽频率检测多用途专用集成电路3.29 多路高速高精度F/D专用集成电路3.30 数控带通滤波器的实现及其典型应用 第四章 控制系统与后向通道接口技术4.1 模糊逻辑与模糊控制4.2 自动控制技术的新发展--模糊控制技术4.3 模糊控制表的确定原则4.4 变结构模糊控制系统的实验研究4.5 新型集成模糊数据相关器NLX1124.6 功率固态继电器的应用4.7 双向功率MOS固态继电器4.8 SSR小型固态继电器与PSSR功率参数固态继电器4.9 JGD型多功能固态继电器的原理和应用4.10 光电耦合器在晶闸管触发电路中的应用4.11 一种廉价的12位D/A转换器AD667及接口4.12 利用单片机构成高精度PWM式12位D/A4.13 三相高频PWM模块SLE45204.14 专用集成电路TCA785及其应用4.15 单片温度控制器LM3911的应用4.16 工业测控系统软件设计的若干问题研究 第五章 人机对话通道接口技术5.1 廉价实用的8×8键盘5.2 单片机遥控键盘接口5.3 对8279键盘显示接口的改进5.4 用单片机8031的七根I/O线实现对键盘与显示器的控制5.5 通用8位LED数码管驱动电路ICM7218B5.6 利用条图显示驱动器LM3914组成100段LED显示器的方法5.7 液晶显示器的多极驱动方式5.8 点阵式液晶显示屏的构造与应用5.9 点阵式液晶显示器图形程序设计5.10 DMF5001N点阵式液晶显示器和8098单片机的接口技术5.11 8098单片机与液晶显示控制器HD61830接口5.12 利用PL/M语言对点阵式液晶显示器进行汉字程序设计5.13 语音合成器TMS 5220的开发与应用5.14 制作T6668语音系统的一些技术问题5.15 单片机、单板机在屏显系统中的应用 第六章 多机通讯网络与遥控技术6.1 用双UART构成的可寻址遥测点装置--兼谈如何组成系统6.2 IBM?PC微机与8098单片机的多机通讯6.3 80C196单片机与IBM?PC机的串行通讯6.4 IBM?PC与MCS?51多机通讯的研究6.5 半双工方式传送的单片机多机通信接口电路及软件设计6.6 单片机与IBM/PC机通讯的新型接口及编程6.7 用光耦实现一点对多点的总线式通讯电路6.8 用EPROM作为通讯变换器实现多机通讯6.9 ICL232单电源双RS?232发送/接收器及其应用6.10 DTMF信号发送/接收电路芯片MT8880及应用6.11 通用红外线遥控系统6.12 8031单片机在遥控解码方面的应用 第七章 电源、电压变换及电源监视7.1 用于微机控制系统的高可靠性供电方法7.2 80C31单片机防掉电和抗干扰电源的设计7.3 可编程基准电压源7.4 电源电压监视器件M81953B7.5 检出电压可任意设定的电源电压监测器7.6 低压降(LDO?Low Drop?Out)稳压器7.7 LM317三端可调稳压器应用二例7.8 三端集成稳压器的扩流应用 第八章 可靠性与抗干扰技术8.1 数字电路的可靠性设计实践与体会8.2 单片机容错系统的设计与实现8.3 微机测控系统的接地、屏蔽和电源供给8.4 ATE的抗干扰及接地技术8.5 微处理器监控电路MAX690A/MAX692A8.6 电测仪表电路的实用抗干扰技术8.7 工业镀锌电阻炉温度控制机的抗干扰措施8.8 一种简单的抗干扰控制算法 ? 第九章 综合应用实例9.1 蔬菜灌溉相关参数的自动检测9.2 MH?214溶解氧测定仪9.3 COP840C单片机在液晶线控空调电脑控制器中的应用9.4 单片机在电饭煲中的应用9.5 用PIC单片机制作电扇自然风发生器 第十章 文章摘要 一、 单片机的综合应用技术1.1 摩托罗拉8位单片机的应用和开发1.2 NS公司的COP800系列8位单片机1.3 M68HC11与MCS?51单片机功能比较1.4 8098单片机8M存储空间的扩展技术1.5 80C196KC单片机的外部设备事件服务器1.6 一种多进程实时控制系统的软件设计1.7 开发单片机的结构化高级语言PL/M?961.8 应用软件开发中的菜单接口技术1.9 单片机用户系统EPROM中用户程序的剖析方法1.10 BJS?98硬件、软件典型实验1.11 FORTH语言系统的开发应用1.12 在Transputer系统上用并行C语言编程的特点1.13 一种软件扩展8031内部计数器简易方法1.14 MCS 51系列单片机功能测试方法研究1.15 用CD 4520B设计对称输出分频器的方法1.16 多路模拟开关CC 4051功能扩展方法1.17 条形码技术及其应用系统的设计与实现? 二、 新一代存储器及逻辑器件2.1 一种多功能存储器M6M 72561J2.2 串行E2PROM及其在智能仪器中的应用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM编程卡2.5 电子盘的设计与实现2.6 NS GAL器件的封装标签、类型代码和编程结构间的关系 三、数据采集、前向通道与测量技术3.1 仪器用精密运放CA3193的应用3.2 集成电压?电流转换器XTR100的应用3.3 瞬时浮点放大器及应用3.4 隔离放大器289J及其应用3.5 ICS?300系列新型加速度传感器3.6 一种实用的压力传感器接口电路3.7 霍尔传感器的应用3.8 一种对多个传感器进行调理的方法3.9 两线制压力变送器3.10 小信号双线变送器XTR101的使用3.11 两线长距离频率传输压力变送器的设计3.12 测温元件AD590及其应用3.13 热敏电阻应用动态3.14 一种组合式A/D、D/A转换器的设计3.15 一种复合式A/D转换器3.16 TLC549串行输出ADC及其应用3.17 提高A/D转换精度的方法--双通道A/D转换3.18 模数转换器ICL7135的0~3.9999V显示3.19 微型光耦合器3.20 一种高精度的分压器电路3.21 利用单片机软件作热电偶非线性补偿3.22 三线制RTD测量电路及应用中要注意的问题3.23 微伏信号高精度检测中极易被忽略的问题3.24 宽范围等分辨率精密测量法3.25 传感器在线校准系统3.26 一种高精度的热敏电阻测温电路3.27 超声波专用集成电路LM1812的原理与应用3.28 旋转变压器数字化检测及其在8098单片机控制伺服系统中的应用3.29 单片集成两端式感温电流源AD590在温度测控系统中的应用?3.30 数字示波器和单片机构成的自动测试系统3.31 霍尔效应式功率测量研究 四、 控制系统与后向通道接口技术4.1 模糊逻辑与模糊控制(实用模糊控制讲座之一)4.2 红绿灯模糊控制器(实用模糊控制讲座之二)4.3 国外模糊技术新产品4.4 交流串级调速双环模糊PI单片机控制系统4.5 时序控制专用集成电路LT156及其应用4.6 电池充电控制集成电路4.7 双向晶闸管4.8 双向可控硅的自触发电路及其应用4.9 微处理器晶闸管频率自适应触发器4.10 F18系列晶闸管模块介绍4.11 集成电路UAA4002的原理及应用4.12 IGBT及其驱动电路4.13 TWH8751应用集锦4.14 结构可变式计算机工业控制系统设计4.15 单片机控制的音响编辑器 五、 人机对话通道接口技术5.1 5×7点阵LED智能显示器的应用5.2 基于8031串行口的LED电子广告牌5.3 点阵液晶显示控制器与计算机的接口技术5.4 单片机控制可编程液晶显示系统5.5 大规模语言集成电路应用综述5.6 最新可编程语言集成电路MSSIO61的应用5.7 用PC打印机接口扩展并行接口 六、 多机系统、网络与遥控技术6.1 用8098单片机构成的分布式测温系统6.2 平衡接口EIA?422和EIA485设计指南6.3 I2C BUS及其系统设计6.4 摩托罗拉可寻址异步接受/发送器6.5 用5V供电的RS232C接口芯片6.6 四通道红外遥控器6.7 TA7333P和TA7657P的功能及应用 七、 电源、电压变换及电源监视7.1 单片机控制的可控硅三相电源调压稳压技术7.2 集成开关电源控制器MC34063的原理及应用7.3 LM299精密基准电压源7.4 集成过压保护器的应用7.5 3V供电的革命7.6 HMOS微机的超低电源电压运行技术 八、 可靠性与抗干扰设计8.1 浅谈舰船电磁兼容与可靠性 九、 综合应用实例9.1 8098单片机交流电气参数测试系统的设计和应用9.2 主轴回转误差补偿控制器9.3 FWK?A型大功率发射台微机控制系统9.4 高性能压控振荡型精密波形发生器ICL8038及应用9.5 单片机COP 840C在洗碗机中的应用

    标签: 单片机 应用技术

    上传时间: 2013-11-10

    上传用户:lijinchuan

  • 三相SPWM波在TMS320F28335中的实现

    载波相移正弦脉宽调制(SPWM)技术是一种适用于大功率电力开关变换装置的高性能开关调制策略,在有源电力滤波器中有良好的应用前景。本文介绍了如何利用高性能数字信号处理器TMS320F28335的片内外设事件管理器(EV)模块产生三相SPWM波,给出了程序流程图及关键程序源码。该方法采用不对称规则采样算法,参数计算主要采用查表法,计算量小,实时性高。在工程实践中表明,该方法既能满足控制精度要求,又能满足实时性要求,可以很好地控制逆变电源的输出。

    标签: F28335 28335 SPWM 320F

    上传时间: 2013-11-05

    上传用户:tzrdcaabb

  • DSP的聚光光伏发电自动跟踪系统的设计

    为提高聚光光伏发电的太阳能利用率,提出了一种环形轨道式光伏发电双轴跟踪系统的设计方案。系统采用DSP控制伺服电机的方法,利用空间电压矢量脉宽调制(SVPWM)技术,形成了闭环的位置伺服控制。通过MATLAB/SIMULINK进行了速度环仿真,结果表明该系统运行稳定,具有较好的静态和动态特性。

    标签: DSP 聚光光伏 发电 自动跟踪系统

    上传时间: 2013-10-10

    上传用户:Vici

  • 一种OQPSK信号的调制技术

    信号的调制识别技术在目前数字通信中应用极为广泛,针对QPSK的倒 现象,文中介绍了一种OQPSK调制方法,其具有较高的传输可靠性和频带利用率,并对基带信号的产生方法和用正交调制法实现OQPSK信号调制的基本原理和电路进行了说明。

    标签: OQPSK 信号 调制技术

    上传时间: 2013-11-06

    上传用户:tom_man2008

  • 基于Proteus的直流电机PWM调速系统研究

    为了提高直流电机调速系统的控制精度和降低开发成本,提出了一种基于Proteus的直流电机PWM调速系统设计方案。系统以AT89S51单片机为核心,利用ADC0808采样直流电机占空比设定值,运用脉宽调制技术控制PWM波输出占空比α,完成直流电机的转速调节。利用Proteus 软件进行了仿真调试,结果表明所设计的直流电机PWM调速系统具有较高的控制精度和较快的动态响应速度;并且 Proteus仿真技术的运用,可有效地降低系统开发成本,缩短研制周期。

    标签: Proteus PWM 直流电机 调速

    上传时间: 2013-11-18

    上传用户:zq70996813

  • Arduino学习笔记4_Arduino软件模拟PWM

    注:1.这篇文章断断续续写了很久,画图技术也不精,难免错漏,大家凑合看.有问题可以留言.      2.论坛排版把我的代码缩进全弄没了,大家将代码粘贴到arduino编译器,然后按ctrl+T重新格式化代码格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脉宽调制波,通过调整输出信号占空比,从而达到改 变输出平均电压的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 个8 位精度PWM 引脚,分别是3, 5, 6, 9, 10, 11 脚。我们可以使用analogWrite()控 制PWM 脚输出频率大概在500Hz 的左右的PWM 调制波。分辨率8 位即2 的8 次方等于 256 级精度。但是有时候我们会觉得6 个PWM 引脚不够用。比如我们做一个10 路灯调光, 就需要有10 个PWM 脚。Arduino Duemilanove 2009 有13 个数字输出脚,如果它们都可以 PWM 的话,就能满足条件了。于是本文介绍用软件模拟PWM。 二、Arduino 软件模拟PWM Arduino PWM 调压原理:PWM 有好几种方法。而Arduino 因为电源和实现难度限制,一般 使用周期恒定,占空比变化的单极性PWM。 通过调整一个周期里面输出脚高/低电平的时间比(即是占空比)去获得给一个用电器不同 的平均功率。 如图所示,假设PWM 波形周期1ms(即1kHz),分辨率1000 级。那么需要一个信号时间 精度1ms/1000=1us 的信号源,即1MHz。所以说,PWM 的实现难点在于需要使用很高频的 信号源,才能获得快速与高精度。下面先由一个简单的PWM 程序开始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 这是一个软件PWM 控制Arduino D13 引脚的例子。只需要一块Arduino 即可测试此代码。 程序解析:由for 循环可以看出,完成一个PWM 周期,共循环255 次。 假设bright=100 时候,在第0~100 次循环中,i 等于1 到99 均小于bright,于是输出PWMPin 高电平; 然后第100 到255 次循环里面,i 等于100~255 大于bright,于是输出PWMPin 低电平。无 论输出高低电平都保持30us。 那么说,如果bright=100 的话,就有100 次循环是高电平,155 次循环是低电平。 如果忽略指令执行时间的话,这次的PWM 波形占空比为100/255,如果调整bright 的值, 就能改变接在D13 的LED 的亮度。 这里设置了每次for 循环之后,将bright 加一,并且当bright 加到255 时归0。所以,我们 看到的最终效果就是LED 慢慢变亮,到顶之后然后突然暗回去重新变亮。 这是最基本的PWM 方法,也应该是大家想的比较多的想法。 然后介绍一个简单一点的。思维风格完全不同。不过对于驱动一个LED 来说,效果与上面 的程序一样。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,这段代码少了一个For 循环。它先输出一个高电平,然后维持(bright*30)us。然 后输出一个低电平,维持时间((255-bright)*30)us。这样两次高低就能完成一个PWM 周期。 分辨率也是255。 三、多引脚PWM Arduino 本身已有PWM 引脚并且运行起来不占CPU 时间,所以软件模拟一个引脚的PWM 完全没有实用意义。我们软件模拟的价值在于:他能将任意的数字IO 口变成PWM 引脚。 当一片Arduino 要同时控制多个PWM,并且没有其他重任务的时候,就要用软件PWM 了。 多引脚PWM 有一种下面的方式: int brights[14] = {0}; //定义14个引脚的初始亮度,可以随意设置 int StartPWMPin = 0, EndPWMPin = 13; //设置D0~D13为PWM 引脚 int PWMResolution = 255; //设置PWM 占空比分辨率 void setup() { //定义所有IO 端输出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //随便定义个初始亮度,便于观察 brights[ i ] = random(0, 255); } } void loop() { //这for 循环是为14盏灯做渐亮的。每次Arduino loop()循环, //brights 自增一次。直到brights=255时候,将brights 置零重新计数。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是计数一个PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每个PWM 周期均遍历所有引脚 { if(i < brights[j])\   所以我们要更改PWM 周期的话,我们将精度(代码里面的变量:PWMResolution)降低就行,比如一般调整LED 亮度的话,我们用64 级精度就行。这样速度就是2x32x64=4ms。就不会闪了。

    标签: Arduino PWM 软件模拟

    上传时间: 2013-10-08

    上传用户:dingdingcandy

  • Arduino学习笔记4_Arduino软件模拟PWM

    注:1.这篇文章断断续续写了很久,画图技术也不精,难免错漏,大家凑合看.有问题可以留言.      2.论坛排版把我的代码缩进全弄没了,大家将代码粘贴到arduino编译器,然后按ctrl+T重新格式化代码格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脉宽调制波,通过调整输出信号占空比,从而达到改 变输出平均电压的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 个8 位精度PWM 引脚,分别是3, 5, 6, 9, 10, 11 脚。我们可以使用analogWrite()控 制PWM 脚输出频率大概在500Hz 的左右的PWM 调制波。分辨率8 位即2 的8 次方等于 256 级精度。但是有时候我们会觉得6 个PWM 引脚不够用。比如我们做一个10 路灯调光, 就需要有10 个PWM 脚。Arduino Duemilanove 2009 有13 个数字输出脚,如果它们都可以 PWM 的话,就能满足条件了。于是本文介绍用软件模拟PWM。 二、Arduino 软件模拟PWM Arduino PWM 调压原理:PWM 有好几种方法。而Arduino 因为电源和实现难度限制,一般 使用周期恒定,占空比变化的单极性PWM。 通过调整一个周期里面输出脚高/低电平的时间比(即是占空比)去获得给一个用电器不同 的平均功率。 如图所示,假设PWM 波形周期1ms(即1kHz),分辨率1000 级。那么需要一个信号时间 精度1ms/1000=1us 的信号源,即1MHz。所以说,PWM 的实现难点在于需要使用很高频的 信号源,才能获得快速与高精度。下面先由一个简单的PWM 程序开始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 这是一个软件PWM 控制Arduino D13 引脚的例子。只需要一块Arduino 即可测试此代码。 程序解析:由for 循环可以看出,完成一个PWM 周期,共循环255 次。 假设bright=100 时候,在第0~100 次循环中,i 等于1 到99 均小于bright,于是输出PWMPin 高电平; 然后第100 到255 次循环里面,i 等于100~255 大于bright,于是输出PWMPin 低电平。无 论输出高低电平都保持30us。 那么说,如果bright=100 的话,就有100 次循环是高电平,155 次循环是低电平。 如果忽略指令执行时间的话,这次的PWM 波形占空比为100/255,如果调整bright 的值, 就能改变接在D13 的LED 的亮度。 这里设置了每次for 循环之后,将bright 加一,并且当bright 加到255 时归0。所以,我们 看到的最终效果就是LED 慢慢变亮,到顶之后然后突然暗回去重新变亮。 这是最基本的PWM 方法,也应该是大家想的比较多的想法。 然后介绍一个简单一点的。思维风格完全不同。不过对于驱动一个LED 来说,效果与上面 的程序一样。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,这段代码少了一个For 循环。它先输出一个高电平,然后维持(bright*30)us。然 后输出一个低电平,维持时间((255-bright)*30)us。这样两次高低就能完成一个PWM 周期。 分辨率也是255。 三、多引脚PWM Arduino 本身已有PWM 引脚并且运行起来不占CPU 时间,所以软件模拟一个引脚的PWM 完全没有实用意义。我们软件模拟的价值在于:他能将任意的数字IO 口变成PWM 引脚。 当一片Arduino 要同时控制多个PWM,并且没有其他重任务的时候,就要用软件PWM 了。 多引脚PWM 有一种下面的方式: int brights[14] = {0}; //定义14个引脚的初始亮度,可以随意设置 int StartPWMPin = 0, EndPWMPin = 13; //设置D0~D13为PWM 引脚 int PWMResolution = 255; //设置PWM 占空比分辨率 void setup() { //定义所有IO 端输出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //随便定义个初始亮度,便于观察 brights[ i ] = random(0, 255); } } void loop() { //这for 循环是为14盏灯做渐亮的。每次Arduino loop()循环, //brights 自增一次。直到brights=255时候,将brights 置零重新计数。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是计数一个PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每个PWM 周期均遍历所有引脚 { if(i < brights[j])\   所以我们要更改PWM 周期的话,我们将精度(代码里面的变量:PWMResolution)降低就行,比如一般调整LED 亮度的话,我们用64 级精度就行。这样速度就是2x32x64=4ms。就不会闪了。

    标签: Arduino PWM 软件模拟

    上传时间: 2013-10-23

    上传用户:mqien