MSP430系列单片机C语言程序设计与开发MSP430系列是一个具有明显技术特色的单片机品种。关于它的硬件特性及汇编语言程序设计已在《MSP430系列超低功耗16位单片机的原理与应用》及《MSP430系列 FLASH型超低功耗16位单片机》等书中作了全面介绍。《MSP430系列单片机C语言程序设计与开发》介绍IAR公司为MSP430系列单片机配备的C程序设计语言C430。书中叙述了C语言的基本概念、C430的扩展特性及C库函数;对C430的集成开发环境的使用及出错信息作了详尽的说明;并以MSP430F149为例,对各种应用问题及外围模块操作提供了典型的C程序例程,供读者在今后的C430程序设计中参考。 《MSP430系列单片机C语言程序设计与开发》可以作为高等院校计算机、自动化及电子技术类专业的教学参考书,也可作为工程技术人员设计开发时的技术资料。MSP430系列超低功耗16位单片机的原理与应用目录MSP430系列单片机C语言程序设计与开发 目录 第1章 C语言基本知识1.1 标识符与关键字11.1.1 标识符11.1.2 关键字11.2 数据基本类型21.2.1 整型数据21.2.2 实型数据31.2.3 字符型数据41.2.4 各种数据转换关系61.3 C语言的运算符71.3.1 算术运算符71.3.2 关系运算符和逻辑运算符71.3.3 赋值运算符81.3.4 逗号运算符81.3.5 ? 与 :运算符81.3.6 强制转换运算符91.3.7 各种运算符优先级列表91.4 程序设计的三种基本结构101.4.1 语句的概念101.4.2 顺序结构111.4.3 选择结构121.4.4 循环结构141.5 函数181.5.1 函数定义181.5.2 局部变量与全局变量191.5.3 形式参数与实际参数201.5.4 函数调用方式201.5.5 函数嵌套调用211.5.6 变量的存储类别221.5.7 内部函数和外部函数231.6 数组231.6.1 一维数组241.6.2 多维数组241.6.3 字符数组261.7 指针271.7.1 指针与地址的概念271.7.2 指针变量的定义281.7.3 指针变量的引用281.7.4 数组的指针281.7.5 函数的指针301.7.6 指针数组311.8 结构和联合321.8.1 结构定义321.8.2 结构类型变量的定义331.8.3 结构类型变量的初始化341.8.4 结构类型变量的引用341.8.5 联合341.9 枚举361.9.1 枚举的定义361.9.2 枚举元素的值371.9. 3 枚举变量的使用371.10 类型定义381.10.1 类型定义的形式381.10.2 类型定义的使用381.11 位运算391.11.1 位运算符391.11.2 位域401.12 预处理功能411.12.1 简单宏定义和带参数宏定义411.12.2 文件包含431.12.3 条件编译命令44第2章 C430--MSP430系列的C语言2.1 MSP430系列的C语言452.1.1 C430概述452.1.2 C430程序设计工作流程462.1.3 开始462.1.4 C430程序生成472.2 C430的数据表达482.2.1 数据类型482.2.2 编码效率502.3 C430的配置512.3.1 引言512.3. 2 存储器分配522.3.3 堆栈体积522.3.4 输入输出522.3.5 寄存器的访问542.3.6 堆体积542.3.7 初始化54第3章 C430的开发调试环境3.1 引言563.1.1 Workbench特性563.1.2 Workbench的内嵌编辑器特性563.1.3 C编译器特性573.1. 4 汇编器特性573.1.5 连接器特性583.1.6 库管理器特性583.1.7 C?SPY调试器特性593.2 Workbench概述593.2.1 项目管理模式593.2.2 选项设置603.2.3 建立项目603.2.4 测试代码613.2.5 样本应用程序613.3 Workbench的操作623.3.1 开始633.3.2 编译项目683.3.3 连接项目693.3.4 调试项目713.3.5 使用Make命令733.4 Workbench的功能汇总753.4.1 Workbench的窗口753.4.2 Workbench的菜单功能813.5 Workbench的内嵌编辑器993.5.1 内嵌编辑器操作993.5.2 编辑键说明993.6 C?SPY概述1013.6.1 C?SPY的C语言级和汇编语言级调试1013.6.2 程序的执行1023.7 C?SPY的操作1033.7.1 程序生成1033.7.2 编译与连接1033.7.3 C?SPY运行1033.7.4 C语言级调试1043.7.5 汇编级调试1113.8 C?SPY的功能汇总1133.8.1 C?SPY的窗口1133.8.2 C?SPY的菜单命令功能1203.9 C?SPY的表达式与宏1323.9.1 汇编语言表达式1323.9.2 C语言表达式1333.9.3 C?SPY宏1353.9.4 C?SPY的设置宏1373.9.5 C?SPY的系统宏137 第4章 C430程序设计实例4.1 程序设计与调试环境1434.1.1 程序设计调试集成环境1434.1.2 设备连接1444.1.3 ProF149实验系统1444.2 数值计算1454.2.1 C语言表达式1454.2.2 利用MPY实现运算1464.3 循环结构1474.4 选择结构1484.5 SFR访问1494.6 RAM访问1504.7 FLASH访问1514.8 WDT操作1534.8. 1 WDT使程序自动复位1534.8.2 程序对WATCHDOG计数溢出的控制1544.8.3 WDT的定时器功能1554.9 Timer操作1554.9.1 用Timer产生时钟信号1554.9.2 用Timer检测脉冲宽度1564.10 UART操作1574.10.1 点对点通信1574.10.2 点对多点通信1604.11 SPI操作1634.12 比较器操作1654.13 ADC12操作1674.13.1 单通道单次转换1674.13.2 序列通道多次转换1684.14 时钟模块操作1704.15 中断服务程序1714.16 省电工作模式1754.17 调用汇编语言子程序1764.17.1 程序举例1764.17.2 生成C程序调用的汇编子程序177第5章 C430的扩展特性5.1 C430的语言扩展概述1785.1.1 扩展关键字1785.1.2 #pragma编译命令1785.1.3 预定义符号1795.1.4 本征函数1795.1.5 其他扩展特性1795.2 C430的关键字扩展1795.2.1 interrupt1805.2.2 monitor1805.2.3 no_init1815.2.4 sfrb1815.2.5 sfrw1825.3 C430的 #pragma编译命令1825.3.1 bitfields=default1825.3.2 bitfields=reversed1825.3.3 codeseg1835.3.4 function=default1835.3.5 function=interrupt1845.3.6 function=monitor1845.3.7 language=default1845.3.8 language=extended1845.3.9 memory=constseg1855.3.10 memory=dataseg1855.3.11 memory=default1855.3.12 memory=no_init1865.3.13 warnings=default1865.3.14 warnings=off1865.3.15 warnings=on1865.4 C430的预定义符号1865.4.1 DATE1875.4.2 FILE1875.4.3 IAR_SYSTEMS_ICC1875.4.4 LINE1875.4.5 STDC1875.4.6 TID1875.4.7 TIME1885.4.8 VER1885.5 C430的本征函数1885.5.1 _args$1885.5.2 _argt$1895.5.3 _BIC_SR1895.5.4 _BIS_SR1905.5.5 _DINT1905.5.6 _EINT1905.5.7 _NOP1905.5.8 _OPC1905.6 C430的汇编语言接口1915.6.1 创建汇编子程序框架1915.6.2 调用规则1915.6.3 C程序调用汇编子程序1935.7 C430的段定义1935.7.1 存储器分布与段定义1945.7.2 CCSTR段1945.7.3 CDATA0段1945.7.4 CODE段1955.7.5 CONST1955.7.6 CSTACK1955.7.7 CSTR1955.7.8 ECSTR1955.7.9 IDATA01965.7.10 INTVEC1965.7.11 NO_INIT1965.7.12 UDATA0196第6章 C430的库函数6.1 引言1976.1.1 库模块文件1976.1.2 头文件1976.1.3 库定义汇总1976.2C 库函数参考2046.2.1 C库函数的说明格式2046.2.2 C库函数说明204第7章 C430编译器的诊断消息7.1 编译诊断消息的类型2307.2 编译出错消息2317.3 编译警告消息243附录 AMSP430系列FLASH型芯片资料248附录 BProF149实验系统251附录 CMSP430x14x.H文件253附录 DIAR MSP430 C语言产品介绍275
上传时间: 2014-05-05
上传用户:253189838
EZ-USB FX系列单片机USB外围设备设计与应用:PART 1 USB的基本概念第1章 USB的基本特性1.1 USB简介21.2 USB的发展历程31.2.1 USB 1.131.2.2 USB 2.041.2.3 USB与IEEE 1394的比较41.3 USB基本架构与总线架构61.4 USB的总线结构81.5 USB数据流的模式与管线的概念91.6 USB硬件规范101.6.1 USB的硬件特性111.6.2 USB接口的电气特性121.6.3USB的电源管理141.7 USB的编码方式141.8 结论161.9 问题与讨论16第2章 USB通信协议2.1 USB通信协议172.2 USB封包中的数据域类型182.2.1 数据域位的格式182.3 封包格式192.4 USB传输的类型232.4.1 控制传输242.4.2 中断传输292.4.3 批量传输292.4.4 等时传输292.5 USB数据交换格式302.6 USB描述符342.7 USB设备请求422.8 USB设备群组442.9 结论462.10 问题与讨论46第3章 设备列举3.1注册表编辑器473.2设备列举的步骤493.3设备列举步骤的实现--使用CATC分析工具513.4结论613.5问题与讨论61第4章 USB芯片与EZUSB4.1USB芯片的简介624.2USB接口芯片644.2.1Philips接口芯片644.2.2National Semiconductor接口芯片664.3内含USB单元的微处理器684.3.1Motorola694.3.2Microchip694.3.3SIEMENS704.3.4Cypress714.4USB芯片总揽介绍734.5USB芯片的选择与评估744.6问题与讨论80第5章 设备与驱动程序5.1阶层式的驱动程序815.2主机的驱动程序835.3驱动程序的选择865.4结论865.5问题与讨论87第6章 HID群组6.1HID简介886.2HID群组的传输速率886.3HID描述符906.3.1报告描述符936.3.2主要 main 项目类型966.3.3整体 global 项目卷标976.3.4区域 local 项目卷标986.3.5简易的报告描述符996.3.6Descriptor Tool 描述符工具 1006.3.7兼容测试程序1016.4HID设备的基本请求1026.5Windows通信程序1036.6问题与讨论106PART 2 硬件技术篇第7章 EZUSB FX简介7.1简介1097.2EZUSB FX硬件框图1097.3封包与PID码1117.4主机是个主控者1137.4.1从主机接收数据1137.4.2传送数据至主机1137.5USB方向1137.6帧1147.7EZUSB FX传输类型1147.7.1批量传输1147.7.2中断传输1147.7.3等时传输1157.7.4控制传输1157.8设备列举1167.9USB核心1167.10EZUSB FX单片机1177.11重新设备列举1177.12EZUSB FX端点1187.12.1EZUSB FX批量端点1187.12.2EZUSB FX控制端点01187.12.3EZUSB FX中断端点1197.12.4EZUSB FX等时端点1197.13快速传送模式1197.14中断1207.15重置与电源管理1207.16EZUSB 2100系列1207.17FX系列--从FIFO1227.18FX系列--GPIF 通用型可程序化的接口 1227.19AN2122/26各种特性的摘要1227.20修订ID1237.21引脚描述123第8章 EZUSB FX CPU8.1简介1308.28051增强模式1308.3EZUSB FX所增强的部分1318.4EZUSB FX寄存器接口1318.5EZUSB FX内部RAM1318.6I/O端口1328.7中断1328.8电源控制1338.9特殊功能寄存器 SFR 1348.10内部总线1358.11重置136第9章 EZUSB FX内存9.1简介1379.28051内存1389.3扩充的EZUSB FX内存1399.4CS#与OE#信号1409.5EZUSB FX ROM版本141第10章 EZUSB FX输入/输出端口10.1简介14310.2I/O端口14310.3EZUSB输入/输出端口寄存器14610.3.1端口配置寄存器14710.3.2I/O端口寄存器14710.4EZUSB FX输入/输出端口寄存器14910.5EZUSB FX端口配置表15110.6I2C控制器15610.78051 I2C控制器15610.8控制位15810.8.1START位15810.8.2STOP位15810.8.3LASTRD位15810.9状态位15910.9.1DONE位15910.9.2ACK位15910.9.3BERR位15910.9.4ID1, ID015910.10送出 WRITE I2C数据16010.11接收 READ I2C数据16010.12I2C激活加载器16010.13SFR寻址 FX 16210.14端口A~E的SFR控制165第11章 EZUSB FX设备列举与重新设备列举11.1简介16711.2预设的USB设备16911.3USB核心对于EP0设备请求的响应17011.4固件下载17111.5设备列举模式17211.6没有存在EEPROM17311.7存在着EEPROM, 第一个字节是0xB0 0xB4, FX系列11.8存在着EEPROM, 第一个字节是0xB2 0xB6, FX系列11.9配置字节0,FX系列17711.10重新设备列举 ReNumerationTM 17811.11多重重新设备列举 ReNumerationTM 17911.12预设描述符179第12章 EZUSB FX批量传输12.1简介18812.2批量输入传输18912.3中断传输19112.4EZUSB FX批量IN的例子19112.5批量OUT传输19212.6端点对19412.7IN端点对的状态19412.8OUT端点对的状态19512.9使用批量缓冲区内存19512.10Data Toggle控制19612.11轮询的批量传输的范例19712.12设备列举说明19912.13批量端点中断19912.14中断批量传输的范例20112.15设备列举说明20512.16自动指针器205第13章 EZUSB控制端点013.1简介20913.2控制端点EP021013.3USB请求21213.3.1取得状态 Get_Status 21413.3.2设置特性(Set_Feature)21713.3.3清除特性(Clear_Feature)21813.3.4取得描述符(Get_Descriptor)21913.3.5设置描述符(Set Descriptor)22313.3.6设置配置(Set_Configuration)22513.3.7取得配置(Get_Configuration)22513.3.8设置接口(Set_Interface)22513.3.9取得接口(Get_Interface)22613.3.10设置地址(Set_Address)22713.3.11同步帧22713.3.12固件加载228第14章 EZUSB FX等时传输14.1简介22914.2等时IN传输23014.2.1初始化设置23014.2.2IN数据传输23014.3等时OUT传输23114.3.1初始化设置23114.3.2数据传输23214.4设置等时FIFO的大小23214.5等时传输速度23414.5.1EZUSB 2100系列23414.5.2EZUSB FX系列23514.6快速传输 仅存于2100系列 23614.6.1快速写入23614.6.2快速读取23714.7快速传输的时序 仅存于2100系列 23714.7.1快速写入波形23814.7.2快速读取波形23914.8快速传输速度(仅存于2100系列)23914.9其余的等时寄存器24014.9.1除能等时寄存器24014.9.20字节计数位24114.10以无数据来响应等时IN令牌24214.11使用等时FIFO242第15章 EZUSB FX中断15.1简介24315.2USB核心中断24415.3唤醒中断24415.4USB中断信号源24515.5SUTOK与SUDAV中断24815.6SOF中断24915.7中止 suspend 中断24915.8USB重置中断24915.9批量端点中断25015.10USB自动向量25015.11USB自动向量译码25115.12I2C中断25215.13IN批量NAK中断 仅存于AN2122/26与FX系列 25315.14I2C STOP反相中断 仅存于AN2122/26与FX系列 25415.15从FIFO中断 INT4 255第16章 EZUSB FX重置16.1简介25716.2EZUSB FX打开电源重置 POR 25716.38051重置的释放25916.3.1RAM的下载26016.3.2下载EEPROM26016.3.3外部ROM26016.48051重置所产生的影响26016.5USB总线重置26116.6EZUSB脱离26216.7各种重置状态的总结263第17章 EZUSB FX电源管理17.1简介26517.2中止 suspend 26617.3回复 resume 26717.4远程唤醒 remote wakeup 269第18章 EZUSB FX系统18.1简介27118.2DMA寄存器描述27218.2.1来源. 目的. 传输长度地址寄存器27218.2.2DMA起始与状态寄存器27518.2.3DMA同步突发使能寄存器27518.2.4虚拟寄存器27818.3RD/FRD与WR/FWR DMA闪控的选择27818.4DMA闪控波形与延伸位的交互影响27918.4.1DMA外部写入27918.4.2DMA外部读取280第19章 EZUSB FX寄存器19.1简介28219.2批量数据缓冲区寄存器28319.3等时数据FIFO寄存器28419.4等时字节计数寄存器28519.5CPU寄存器28719.6I/O端口配置寄存器28819.7I/O端口A~C输入/输出寄存器28919.8230 Kbaud UART操作--AN2122/26寄存器29119.9等时控制/状态寄存器29119.10I2C寄存器29219.11中断29419.12端点0控制与状态寄存器29919.13端点1~7的控制与状态寄存器30019.14整体USB寄存器30519.15快速传输30919.16SETUP数据31119.17等时FIFO的容量大小31119.18通用I/F中断使能31219.19通用中断请求31219.20输入/输出端口寄存器D与E31319.20.1端口D输出31319.20.2输入端口D脚位31319.20.3端口D输出使能31319.20.4端口E输出31319.20.5输入端口E脚位31419.20.6端口E输出使能31419.21端口设置31419.22接口配置31419.23端口A与端口C切换配置31619.23.1端口A切换配置#231619.23.2端口C切换配置#231719.24DMA寄存器31919.24.1来源. 目的. 传输长度地址寄存器31919.24.2DMA起始与状态寄存器32019.24.3DMA同步突发使能寄存器32019.24.4选择8051 A/D总线作为外部FIFO321PART 3 固件技术篇第20章 EZUSB FX固件架构与函数库20.1固件架构总览32320.2固件架构的建立32520.3固件架构的副函数钩子32520.3.1工作分配器32620.3.2设备请求 device request 32620.3.3USB中断服务例程32920.4固件架构整体变量33220.5描述符表33320.5.1设备描述符33320.5.2配置描述符33420.5.3接口描述符33420.5.4端点描述符33520.5.5字符串描述符33520.5.6群组描述符33520.6EZUSB FX固件的函数库33620.6.1包含文件 *.H 33620.6.2子程序33620.6.3整体变量33820.7固件架构的原始程序代码338第21章 EZUSB FX固件范例程序21.1范例程序的简介34621.2外围I/O测试程序34721.3端点对, EP_PAIR范例35221.4批量测试, BulkTest范例36221.5等时传输, ISOstrm范例36821.6问题与讨论373PART 4 实验篇第22章 EZUSB FX仿真器22?1简介37522?2所需的工具37622?3EZUSB FX框图37722.4EZUSB最终版本的系统框图37822?5第一次下载程序37822.6EZUSB FX开发系统框图37922.7设置开发环境38022.8EZUSB FX开发工具组的内容38122.9EZUSB FX开发工具组软件38222.9.1初步安装程序38222.9.2确认主机 个人计算机 是否支持USB38222.10安装EZUSB控制平台. 驱动程序以及文件38322.11EZUSB FX开发电路板38522.11.1简介38522.11.2开发电路板的浏览38522.11.3所使用的8051资源38622.11.4详细电路38622.11.5LED的显示38722.11.6Jumper38722.11.7连接器39122.11.8内存映象图39222.11.9PLD信号39422.11.10PLD源文件文件39522.11.11雏形板的扩充连接器P1~P639722.11.12Philips PCF8574 I/O扩充IC40022.12DMA USB FX I/O LAB开发工具介绍40122.12.1USBFX简介40122.12.2USBFX及外围整体环境介绍40322?12?3USBFX与PC连接软件介绍40422.12.4USBFX硬件功能介绍404第23章 LED显示器输出实验23.1硬件设计与基本概念40923.2固件设计41023.3.1固件架构文件FW.C41123.3.2描述符文件DESCR.A5141223.3.3外围接口文件PERIPH.C41723.4固件程序代码的编译与链接42123.5Windows程序, VB设计42323.6INF文件的编写设计42423.7结论42623.8问题与讨论427第24章 七段显示器与键盘的输入/输出实验24.1硬件设计与基本概念42824.2固件设计43124.2.1七段显示器43124.2.24×4键盘扫描43324.3固件程序代码的编译与链接43424.4Windows程序, VB设计43624.5问题与讨论437第25章 LCD文字型液晶显示器输出实验25.1硬件设计与基本概念43825.1.1液晶显示器LCD43825.2固件设计45225.3固件程序代码的编译与链接45625.4Windows程序, VB设计45725.5问题与讨论458第26章 LED点阵输出实验26.1硬件设计与基本概念45926.2固件设计46326.3固件程序代码的编译与链接46326.4Windows程序, VB设计46526.5问题与讨论465第27章 步进电机输出实验27.1硬件设计与基本概念46627.1.11相激磁46727.1.22相激磁46727.1.31-2相激磁46827?1?4PMM8713介绍46927.2固件设计47327.3固件程序代码的编译与链接47427.4Windows程序, VB设计47627.5问题与讨论477第28章 I2C接口输入/输出实验28.1硬件设计与基本概念47828.2固件设计48128.3固件程序代码的编译与链接48328.4Windows程序, VB设计48428.5问题与讨论485第29章 A/D转换器与D/A转换器的输入/输出实验29.1硬件设计与基本概念48629.1.1A/D转换器48629.1.2D/A转换器49029.2固件设计49329.2.1A/D转换器的固件设计49329.2.2D/A转换器的固件设计49629.3固件程序代码的编译与链接49729.4Windows程序, VB设计49829.5问题与讨论499第30章 LCG绘图型液晶显示器输出实验30.1硬件设计与基本概念50030.1.1绘图型LCD50030.1.2绘图型LCD控制指令集50330.1.3绘图型LCD读取与写入时序图50530.2固件设计50630.2.1LCG驱动程序50630.2.2USB固件码51330.3固件程序代码的编译与链接51630.4Windows程序, VB设计51730.5问题与讨论518附录A Cypress控制平台的操作A.1EZUSB控制平台总览519A.2主画面520A.3热插拔新的USB设备521A.4各种工具栏的使用524A.5故障排除526A.6控制平台的进阶操作527A.7测试Unary Op工具栏上的按钮功能528A.8测试制造商请求的工具栏 2100 系列的开发电路板 529A.9测试等时传输工具栏532A.10测试批量传输工具栏533A.11测试重置管线工具栏535A.12测试设置接口工具栏537A.13测试制造商请求工具栏 FX系列开发电路板A.14执行Get Device Descriptor 操作来验证开发板的功能是否正确539A.15从EZUSB控制平台中, 加载dev_io的范例并且加以执行540A.16从Keil侦错应用程序中, 加载dev_io范例程序代码, 然后再加以执行542A.17将dev_io 目标文件移开, 且使用Keil IDE 集成开发环境 来重建545A.18在侦错器下执行dev_io目标文件, 并且使用具有侦错能力的IDE547A.19在EZUSB控制平台下, 执行ep_pair目标文件A.20如何修改fw范例, 并在开发电路板上产生等时传输550附录BEZUSB 2100系列及EZUSB FX系列引脚表B.1EZUSB 2100系列引脚表555B?2EZUSB FX系列引脚图表561附录C EZUSB FX寄存器总览附录D EEPROM烧录方式
上传时间: 2013-11-21
上传用户:努力努力再努力
Lattice 下载电缆导致单板无法上电案例一则及解决方案:Lattice下载电缆连接单板时JTAG 连接器VCC 管脚会呈现一个计算机并口窜过来的电压,该电压对VCC 电源来说是一个干扰电压。若电源对该电压敏感,则有可能造成VCC 无法正常上电。在JTAG 连接器VCC 管脚上串接一个肖特基二极管可解决此问题。
上传时间: 2013-10-19
上传用户:sdlqbbla
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil 即可看出。Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51 系列单片机的爱好者来说是十分必要的,如果你使用C 语言编程,那么Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。我们将通过一些实例来学习 Keil 软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图1 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于MCS-51 系列,其内部有4K 的FLASH ROM,可以反复擦写,非常适于做实验。89C51 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的第一个任务是让接在P1 引脚上的发光二极管依次循环点亮。
上传时间: 2013-11-06
上传用户:aesuser
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51 单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil 软件是目前最流行开发MCS-51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil 即可看出。Keil 提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil 软件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51 系列单片机的爱好者来说是十分必要的,如果你使用C 语言编程,那么Keil 几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C 语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。我们将通过一些实例来学习Keil 软件的使用,在这一部份我们将学习如何输入源程序,建立工程、对工程进行详细的设置,以及如何将源程序变为目标代码。图1 所示电路图使用89C51 单片机作为主芯片,这种单片机性属于MCS-51 系列,其内部有4K 的FLASH ROM,可以反复擦写,非常适于做实验。89C51 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的第一个任务是让接在P1 引脚上的发光二极管依次循环点亮。 一、Keil 工程的建立首先启动Keil 软件的集成开发环境,这里假设读者已正确安装了该软件,可以从桌面上直接双击uVision 的图标以启动该软件。UVison启动后,程序窗口的左边有一个工程管理窗口,该窗口有3 个标签,分别是Files、Regs、和Books,这三个标签页分别显示当前项目的文件结构、CPU 的寄存器及部份特殊功能寄存器的值(调试时才出现)和所选CPU 的附加说明文件,如果是第一次启动Keil,那么这三个标签页全是空的。
上传时间: 2013-12-26
上传用户:liulinshan2010
随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C语言为主,市场上几种常见的单片机均有其C语言开发环境。这里以最为流行的80C51单片机为例来学习单片机的C语言编程技术。大家都有C语言基础,但是编单片机程序,大家还得找专门的书来学习一下。这里我们只介绍Keil这种工具软件的用法。学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(µVision)将这些部份组合在一起。下面我以一个实验举一个例子,一步一步学习Keil软件的使用。 首先我们看硬件原理图: 很明显,要点亮使发光二极管,必须使单片机的I/O口P1.0输出低电平。于是我们的任务就是编程序使P1.0输出地电平。1. 使用Keil前必须先安装。安装过程简单,这里不在叙述。2. 安装好了Keil软件以后,我们打开它。打开以后界面如下:
上传时间: 2013-11-07
上传用户:wtrl
RS-232-C 是PC 机常用的串行接口,由于信号电平值较高,易损坏接口电路的芯片,与TTL电平不兼容故需使用电平转换电路方能与TTL 电路连接。本产品(转接器),可以实现任意电平下(0.8~15)的UART串行接口到RS-232-C/E接口的无源电平转接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特点?传输电缆长度如何考虑?答: 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。(1) 接口的信号内容实际上RS-232-C 的25 条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9 条引线。(2) 接口的电气特性 在RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V 的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”(3) 接口的物理结构 RS-232-C 接口连接器一般使用型号为DB-25 的25 芯插头座,通常插头在DCE 端,插座在DTE端. 一些设备与PC 机连接的RS-232-C 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9 的9 芯插头座,传输线采用屏蔽双绞线。(4) 传输电缆长度由RS-232C 标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50 英尺,美国DEC 公司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2 号电缆为不带屏蔽的电缆。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特点?答: 由于RS-232-C 接口标准出现较早,难免有不足之处,主要有以下四点:(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。(2) 传输速率较低,在异步传输时,波特率为20Kbps。(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4) 传输距离有限,最大传输距离标准值为50 英尺,实际上也只能 用在50 米左右。针对RS-232-C 的不足,于是就不断出现了一些新的接口标准,RS-485 就是其中之一,它具有以下特点:1. RS-485 的电气特性:逻辑“1”以两线间的电压差为+(2—6) V 表示;逻辑“0”以两线间的电压差为-(2—6)V 表示。接口信号电平比RS-232-C 降低了,就不易损坏接口电路的芯片, 且该电平与TTL 电平兼容,可方便与TTL 电路连接。2. RS-485 的数据最高传输速率为10Mbps3. RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4. RS-485 接口的最大传输距离标准值为4000 英尺,实际上可达 3000 米,另外RS-232-C接口在总线上只允许连接1 个收发器, 即单站能力。而RS-485 接口在总线上是允许连接多达128 个收发器。即具有多站能力,这样用户可以利用单一的RS-485 接口方便地建立起设备网络。因RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 因为RS485 接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485 接口连接器采用DB-9 的9 芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485 采用DB-9(针)。3. 采用RS485 接口时,传输电缆的长度如何考虑?答: 在使用RS485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个 长度数据主要是受信号失真及噪声等影响所限制。下图所示的最大电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线 径为0.51mm),线间旁路电容为52.5PF/M,终端负载电阻为100 欧 时所得出。(曲线引自GB11014-89 附录A)。由图中可知,当数据信 号速率降低到90Kbit/S 以下时,假定最大允许的信号损失为6dBV 时, 则电缆长度被限制在1200M。实际上,图中的曲线是很保守的,在实 用时是完全可以取得比它大的电缆长度。 当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例 如:当数据信号速率为600Kbit/S 时,采用24AWG 电缆,由图可知最 大电缆长度是200m,若采用19AWG 电缆(线径为0。91mm)则电缆长 度将可以大于200m; 若采用28AWG 电缆(线径为0。32mm)则电缆 长度只能小于200m。
上传时间: 2013-10-11
上传用户:时代电子小智
单片机的C 语言轻松入门随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使用高级语言开发,其中主要是以C 语言为主,市场上几种常见的单片机均有其C 语言开发环境。这里以最为流行的80C51 单片机为例来学习单片机的C 语言编程技术。本书共分六章,每章一个专题,以一些待完成的任务为中心,围绕该任务介绍C 语言的一些知识,每一个任务都是可以独立完成的,每完成一个任务,都能掌握一定的识,等到所有的任务都完成后,即可以完成C 语言的入门工作。C 语言概述及其开发环境的建立学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件是目前最流行开发80C51 系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部份组合在一起。在学会使用汇编语言后,学习C 语言编程是一件比较容易的事,我们将通过一系列的实例介绍C 语言编程的方法。图1-1 所示电路图使用89S52 单片机作为主芯片,这种单片机性属于80C51 系列,其内部有8K 的FLASH ROM,可以反复擦写,并有ISP 功能,支持在线下载,非常适于做实验。89S52 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接4 个按钮开关,我们的任务是让接在P1 引脚上的发光二极管按要求发光。
上传时间: 2013-11-04
上传用户:467368609
单片机应用系统抗干扰技术:第1章 电磁干扰控制基础. 1.1 电磁干扰的基本概念1 1.1.1 噪声与干扰1 1.1.2 电磁干扰的形成因素2 1.1.3 干扰的分类2 1.2 电磁兼容性3 1.2.1 电磁兼容性定义3 1.2.2 电磁兼容性设计3 1.2.3 电磁兼容性常用术语4 1.2.4 电磁兼容性标准6 1.3 差模干扰和共模干扰8 1.3.1 差模干扰8 1.3.2 共模干扰9 1.4 电磁耦合的等效模型9 1.4.1 集中参数模型9 1.4.2 分布参数模型10 1.4.3 电磁波辐射模型11 1.5 电磁干扰的耦合途径14 1.5.1 传导耦合14 1.5.2 感应耦合(近场耦合)15 .1.5.3 电磁辐射耦合(远场耦合)15 1.6 单片机应用系统电磁干扰控制的一般方法16 第2章 数字信号耦合与传输机理 2.1 数字信号与电磁干扰18 2.1.1 数字信号的开关速度与频谱18 2.1.2 开关暂态电源尖峰电流噪声22 2.1.3 开关暂态接地反冲噪声24 2.1.4 高速数字电路的EMI特点25 2.2 导线阻抗与线间耦合27 2.2.1 导体交直流电阻的计算27 2.2.2 导体电感量的计算29 2.2.3 导体电容量的计算31 2.2.4 电感耦合分析32 2.2.5 电容耦合分析35 2.3 信号的长线传输36 2.3.1 长线传输过程的数学描述36 2.3.2 均匀传输线特性40 2.3.3 传输线特性阻抗计算42 2.3.4 传输线特性阻抗的重复性与阻抗匹配44 2.4 数字信号传输过程中的畸变45 2.4.1 信号传输的入射畸变45 2.4.2 信号传输的反射畸变46 2.5 信号传输畸变的抑制措施49 2.5.1 最大传输线长度的计算49 2.5.2 端点的阻抗匹配50 2.6 数字信号的辐射52 2.6.1 差模辐射52 2.6.2 共模辐射55 2.6.3 差模和共模辐射比较57 第3章 常用元件的可靠性能与选择 3.1 元件的选择与降额设计59 3.1.1 元件的选择准则59 3.1.2 元件的降额设计59 3.2 电阻器60 3.2.1 电阻器的等效电路60 3.2.2 电阻器的内部噪声60 3.2.3 电阻器的温度特性61 3.2.4 电阻器的分类与主要参数62 3.2.5 电阻器的正确选用66 3.3 电容器67 3.3.1 电容器的等效电路67 3.3.2 电容器的种类与型号68 3.3.3 电容器的标志方法70 3.3.4 电容器引脚的电感量71 3.3.5 电容器的正确选用71 3.3.6 电容器使用注意事项73 3.4 电感器73 3.4.1 电感器的等效电路74 3.4.2 电感器使用的注意事项74 3.5 数字集成电路的抗干扰性能75 3.5.1 噪声容限与抗干扰能力75 3.5.2 施密特集成电路的噪声容限77 3.5.3 TTL数字集成电路的抗干扰性能78 3.5.4 CMOS数字集成电路的抗干扰性能79 3.5.5 CMOS电路使用中注意事项80 3.5.6 集成门电路系列型号81 3.6 高速CMOS 54/74HC系列接口设计83 3.6.1 54/74HC 系列芯片特点83 3.6.2 74HC与TTL接口85 3.6.3 74HC与单片机接口85 3.7 元器件的装配工艺对可靠性的影响86 第4章 电磁干扰硬件控制技术 4.1 屏蔽技术88 4.1.1 电场屏蔽88 4.1.2 磁场屏蔽89 4.1.3 电磁场屏蔽91 4.1.4 屏蔽损耗的计算92 4.1.5 屏蔽体屏蔽效能的计算99 4.1.6 屏蔽箱的设计100 4.1.7 电磁泄漏的抑制措施102 4.1.8 电缆屏蔽层的屏蔽原理108 4.1.9 屏蔽与接地113 4.1.10 屏蔽设计要点113 4.2 接地技术114 4.2.1 概述114 4.2.2 安全接地115 4.2.3 工作接地117 4.2.4 接地系统的布局119 4.2.5 接地装置和接地电阻120 4.2.6 地环路问题121 4.2.7 浮地方式122 4.2.8 电缆屏蔽层接地123 4.3 滤波技术126 4.3.1 滤波器概述127 4.3.2 无源滤波器130 4.3.3 有源滤波器138 4.3.4 铁氧体抗干扰磁珠143 4.3.5 贯通滤波器146 4.3.6 电缆线滤波连接器149 4.3.7 PCB板滤波器件154 4.4 隔离技术155 4.4.1 光电隔离156 4.4.2 继电器隔离160 4.4.3 变压器隔离 161 4.4.4 布线隔离161 4.4.5 共模扼流圈162 4.5 电路平衡结构164 4.5.1 双绞线在平衡电路中的使用164 4.5.2 同轴电缆的平衡结构165 4.5.3 差分放大器165 4.6 双绞线的抗干扰原理及应用166 4.6.1 双绞线的抗干扰原理166 4.6.2 双绞线的应用168 4.7 信号线间的串扰及抑制169 4.7.1 线间串扰分析169 4.7.2 线间串扰的抑制173 4.8 信号线的选择与敷设174 4.8.1 信号线型式的选择174 4.8.2 信号线截面的选择175 4.8.3 单股导线的阻抗分析175 4.8.4 信号线的敷设176 4.9 漏电干扰的防止措施177 4.10 抑制数字信号噪声常用硬件措施177 4.10.1 数字信号负传输方式178 4.10.2 提高数字信号的电压等级178 4.10.3 数字输入信号的RC阻容滤波179 4.10.4 提高输入端的门限电压181 4.10.5 输入开关触点抖动干扰的抑制方法181 4.10.6 提高器件的驱动能力184 4.11 静电放电干扰及其抑制184 第5章 主机单元配置与抗干扰设计 5.1 单片机主机单元组成特点186 5.1.1 80C51最小应用系统186 5.1.2 低功耗单片机最小应用系统187 5.2 总线的可靠性设计191 5.2.1 总线驱动器191 5.2.2 总线的负载平衡192 5.2.3 总线上拉电阻的配置192 5.3 芯片配置与抗干扰193 5.3.1去耦电容配置194 5.3.2 数字输入端的噪声抑制194 5.3.3 数字电路不用端的处理195 5.3.4 存储器的布线196 5.4 译码电路的可靠性分析197 5.4.1 过渡干扰与译码选通197 5.4.2 译码方式与抗干扰200 5.5 时钟电路配置200 5.6 复位电路设计201 5.6.1 复位电路RC参数的选择201 5.6.2 复位电路的可靠性与抗干扰分析202 5.6.3 I/O接口芯片的延时复位205 5.7 单片机系统的中断保护问题205 5.7.1 80C51单片机的中断机构205 5.7.2 常用的几种中断保护措施205 5.8 RAM数据掉电保护207 5.8.1 片内RAM数据保护207 5.8.2 利用双片选的外RAM数据保护207 5.8.3 利用DS1210实现外RAM数据保护208 5.8.4 2 KB非易失性随机存储器DS1220AB/AD211 5.9 看门狗技术215 5.9.1 由单稳态电路实现看门狗电路216 5.9.2 利用单片机片内定时器实现软件看门狗217 5.9.3 软硬件结合的看门狗技术219 5.9.4 单片机内配置看门狗电路221 5.10 微处理器监控器223 5.10.1 微处理器监控器MAX703~709/813L223 5.10.2 微处理器监控器MAX791227 5.10.3 微处理器监控器MAX807231 5.10.4 微处理器监控器MAX690A/MAX692A234 5.10.5 微处理器监控器MAX691A/MAX693A238 5.10.6 带备份电池的微处理器监控器MAX1691242 5.11 串行E2PROM X25045245 第6章 测量单元配置与抗干扰设计 6.1 概述255 6.2 模拟信号放大器256 6.2.1 集成运算放大器256 6.2.2 测量放大器组成原理260 6.2.3 单片集成测量放大器AD521263 6.2.4 单片集成测量放大器AD522265 6.2.5 单片集成测量放大器AD526266 6.2.6 单片集成测量放大器AD620270 6.2.7 单片集成测量放大器AD623274 6.2.8 单片集成测量放大器AD624276 6.2.9 单片集成测量放大器AD625278 6.2.10 单片集成测量放大器AD626281 6.3 电压/电流变换器(V/I)283 6.3.1 V/I变换电路..283 6.3.2 集成V/I变换器XTR101284 6.3.3 集成V/I变换器XTR110289 6.3.4 集成V/I变换器AD693292 6.3.5 集成V/I变换器AD694299 6.4 电流/电压变换器(I/V)302 6.4.1 I/V变换电路302 6.4.2 RCV420型I/V变换器303 6.5 具有放大、滤波、激励功能的模块2B30/2B31305 6.6 模拟信号隔离放大器313 6.6.1 隔离放大器ISO100313 6.6.2 隔离放大器ISO120316 6.6.3 隔离放大器ISO122319 6.6.4 隔离放大器ISO130323 6.6.5 隔离放大器ISO212P326 6.6.6 由两片VFC320组成的隔离放大器329 6.6.7 由两光耦组成的实用线性隔离放大器333 6.7 数字电位器及其应用336 6.7.1 非易失性数字电位器x9221336 6.7.2 非易失性数字电位器x9241343 6.8 传感器供电电源的配置及抗干扰346 6.8.1 传感器供电电源的扰动补偿347 6.8.2 单片集成精密电压芯片349 6.8.3 A/D转换器芯片提供基准电压350 6.9 测量单元噪声抑制措施351 6.9.1 外部噪声源的干扰及其抑制351 6.9.2 输入信号串模干扰的抑制352 6.9.3 输入信号共模干扰的抑制353 6.9.4 仪器仪表的接地噪声355 第7章 D/A、A/D单元配置与抗干扰设计 7.1 D/A、A/D转换器的干扰源357 7.2 D/A转换原理及抗干扰分析358 7.2.1 T型电阻D/A转换器359 7.2.2 基准电源精度要求361 7.2.3 D/A转换器的尖峰干扰362 7.3 典型D/A转换器与单片机接口363 7.3.1 并行12位D/A转换器AD667363 7.3.2 串行12位D/A转换器MAX5154370 7.4 D/A转换器与单片机的光电接口电路377 7.5 A/D转换器原理与抗干扰性能378 7.5.1 逐次比较式ADC原理378 7.5.2 余数反馈比较式ADC原理378 7.5.3 双积分ADC原理380 7.5.4 V/F ADC原理382 7.5.5 ∑Δ式ADC原理384 7.6 典型A/D转换器与单片机接口387 7.6.18 位并行逐次比较式MAX 118387 7.6.28 通道12位A/D转换器MAX 197394 7.6.3 双积分式A/D转换器5G14433399 7.6.4 V/F转换器AD 652在A/D转换器中的应用403 7.7 采样保持电路与抗干扰措施408 7.8 多路模拟开关与抗干扰措施412 7.8.1 CD4051412 7.8.2 AD7501413 7.8.3 多路开关配置与抗干扰技术413 7.9 D/A、A/D转换器的电源、接地与布线416 7.10 精密基准电压电路与噪声抑制416 7.10.1 基准电压电路原理417 7.10.2 引脚可编程精密基准电压源AD584418 7.10.3 埋入式齐纳二极管基准AD588420 7.10.4 低漂移电压基准MAX676/MAX677/MAX678422 7.10.5 低功率低漂移电压基准MAX873/MAX875/MAX876424 7.10.6 MC1403/MC1403A、MC1503精密电压基准电路430 第8章 功率接口与抗干扰设计 8.1 功率驱动元件432 8.1.1 74系列功率集成电路432 8.1.2 75系列功率集成电路433 8.1.3 MOC系列光耦合过零触发双向晶闸管驱动器435 8.2 输出控制功率接口电路438 8.2.1 继电器输出驱动接口438 8.2.2 继电器—接触器输出驱动电路439 8.2.3 光电耦合器—晶闸管输出驱动电路439 8.2.4 脉冲变压器—晶闸管输出电路440 8.2.5 单片机与大功率单相负载的接口电路441 8.2.6 单片机与大功率三相负载间的接口电路442 8.3 感性负载电路噪声的抑制442 8.3.1 交直流感性负载瞬变噪声的抑制方法442 8.3.2 晶闸管过零触发的几种形式445 8.3.3 利用晶闸管抑制感性负载的瞬变噪声447 8.4 晶闸管变流装置的干扰和抑制措施448 8.4.1 晶闸管变流装置电气干扰分析448 8.4.2 晶闸管变流装置的抗干扰措施449 8.5 固态继电器451 8.5.1 固态继电器的原理和结构451 8.5.2 主要参数与选用452 8.5.3 交流固态继电器的使用454 第9章 人机对话单元配置与抗干扰设计 9.1 键盘接口抗干扰问题456 9.2 LED显示器的构造与特点458 9.3 LED的驱动方式459 9.3.1 采用限流电阻的驱动方式459 9.3.2 采用LM317的驱动方式460 9.3.3 串联二极管压降驱动方式462 9.4 典型键盘/显示器接口芯片与单片机接口463 9.4.1 8位LED驱动器ICM 7218B463 9.4.2 串行LED显示驱动器MAX 7219468 9.4.3 并行键盘/显示器专用芯片8279482 9.4.4 串行键盘/显示器专用芯片HD 7279A492 9.5 LED显示接口的抗干扰措施502 9.5.1 LED静态显示接口的抗干扰502 9.5.2 LED动态显示接口的抗干扰506 9.6 打印机接口与抗干扰技术508 9.6.1 并行打印机标准接口信号508 9.6.2 打印机与单片机接口电路509 9.6.3 打印机电磁干扰的防护设计510 9.6.4 提高数据传输可靠性的措施512 第10章 供电电源的配置与抗干扰设计 10.1 电源干扰问题概述513 10.1.1 电源干扰的类型513 10.1.2 电源干扰的耦合途径514 10.1.3 电源的共模和差模干扰515 10.1.4 电源抗干扰的基本方法516 10.2 EMI电源滤波器517 10.2.1 实用低通电容滤波器518 10.2.2 双绕组扼流圈的应用518 10.3 EMI滤波器模块519 10.3.1 滤波器模块基础知识519 10.3.2 电源滤波器模块521 10.3.3 防雷滤波器模块531 10.3.4 脉冲群抑制模块532 10.4 瞬变干扰吸收器件532 10.4.1 金属氧化物压敏电阻(MOV)533 10.4.2 瞬变电压抑制器(TVS)537 10.5 电源变压器的屏蔽与隔离552 10.6 交流电源的供电抗干扰方案553 10.6.1 交流电源配电方式553 10.6.2 交流电源抗干扰综合方案555 10.7 供电直流侧抑制干扰措施555 10.7.1 整流电路的高频滤波555 10.7.2 串联型直流稳压电源配置与抗干扰556 10.7.3 集成稳压器使用中的保护557 10.8 开关电源干扰的抑制措施559 10.8.1 开关噪声的分类559 10.8.2 开关电源噪声的抑制措施560 10.9 微机用不间断电源UPS561 10.10 采用晶闸管无触点开关消除瞬态干扰设计方案564 第11章 印制电路板的抗干扰设计 11.1 印制电路板用覆铜板566 11.1.1 覆铜板材料566 11.1.2 覆铜板分类568 11.1.3 覆铜板的标准与电性能571 11.1.4 覆铜板的主要特点和应用583 11.2 印制板布线设计基础585 11.2.1 印制板导线的阻抗计算585 11.2.2 PCB布线结构和特性阻抗计算587 11.2.3 信号在印制板上的传播速度589 11.3 地线和电源线的布线设计590 11.3.1 降低接地阻抗的设计590 11.3.2 减小电源线阻抗的方法591 11.4 信号线的布线原则592 11.4.1 信号传输线的尺寸控制592 11.4.2 线间串扰控制592 11.4.3 辐射干扰的抑制593 11.4.4 反射干扰的抑制594 11.4.5 微机自动布线注意问题594 11.5 配置去耦电容的方法594 11.5.1 电源去耦595 11.5.2 集成芯片去耦595 11.6 芯片的选用与器件布局596 11.6.1 芯片选用指南596 11.6.2 器件的布局597 11.6.3 时钟电路的布置598 11.7 多层印制电路板599 11.7.1 多层印制板的结构与特点599 11.7.2 多层印制板的布局方案600 11.7.3 20H原则605 11.8 印制电路板的安装和板间配线606 第12章 软件抗干扰原理与方法 12.1 概述607 12.1.1 测控系统软件的基本要求607 12.1.2 软件抗干扰一般方法607 12.2 指令冗余技术608 12.2.1 NOP的使用609 12.2.2 重要指令冗余609 12.3 软件陷阱技术609 12.3.1 软件陷阱609 12.3.2 软件陷阱的安排610 12.4 故障自动恢复处理程序613 12.4.1 上电标志设定614 12.4.2 RAM中数据冗余保护与纠错616 12.4.3 软件复位与中断激活标志617 12.4.4 程序失控后恢复运行的方法618 12.5 数字滤波619 12.5.1 程序判断滤波法620 12.5.2 中位值滤波法620 12.5.3 算术平均滤波法621 12.5.4 递推平均滤波法623 12.5.5 防脉冲干扰平均值滤波法624 12.5.6 一阶滞后滤波法626 12.6 干扰避开法627 12.7 开关量输入/输出软件抗干扰设计629 12.7.1 开关量输入软件抗干扰措施629 12.7.2 开关量输出软件抗干扰措施629 12.8 编写软件的其他注意事项630 附录 电磁兼容器件选购信息632
上传时间: 2013-10-20
上传用户:xdqm
Keil C51 V8 专业开发工具(PK51) PK51是为8051系列单片机所设计的开发工具,支持所有8051系列衍生产品,,支持带扩展存储器和扩展指令集(例如Dallas390/5240/400,Philips 51MX,Analog Devices MicroConverters)的新设备,以及支持很多公司的一流的设备和IP内核,比如Analog Devices, Atmel, Cypress Semiconductor, Dallas Semiconductor, Goal, Hynix, Infineon, Intel, NXP(founded by Philips), OKI, Silicon Labs,SMSC, STMicroeleectronics,Synopsis, TDK, Temic, Texas Instruments,Winbond等。 通过PK51专业级开发工具,可以轻松地了解8051的On-chip peripherals与及其它关键特性。 The PK51专业级开发工具包括… l μVision Ø 集成开发环境 Ø 调试器 Ø 软件模拟器 l Keil 8051扩展编译工具 Ø AX51宏汇编程序 Ø ANSI C编译工具 Ø LX51 连接器 Ø OHX51 Object-HEX 转换器 l Keil 8051编译工具 Ø A51宏汇编程序 Ø C51 ANSI C编译工具 Ø BL51 代码库连接器 Ø OHX51 Object-HEX 转换器 Ø OC51 集合目标转换器 l 目标调试器 Ø FlashMON51 目标监控器 Ø MON51目标监控器 Ø MON390 (Dallas 390)目标监控器 Ø MONADI (Analog Devices 812)目标监控器 Ø ISD51 在系统调试 l RTX51微实时内核 你应该考虑PK51开发工具包,如果你… l 需要用8051系列单片机来开发 l 需要开发 Dallas 390 或者 Philips 51MX代码 l 需要用C编写代码 l 需要一个软件模拟器或是没有硬件仿真器 l 需要在单芯片上基于小实时内核创建复杂的应用
上传时间: 2013-10-30
上传用户:yy_cn