制作基于PIC Mcu 的ADS-B接收机的全套资料,包括SCH、PCB、源码和PC端软件。
上传时间: 2013-04-24
上传用户:cx111111
很多网友渴望自己设计电路原理图(SCH)、电路板(PCB),同时希望从原始SCH到PCB自动布线、再到成品PCB电路板的设计周期可以缩短到1天以内!是不是不可能呢?当然不是,因为现在的EDA软件已经达到了几乎无所不能的地步!由于电子很重实践,可以说,不曾亲自设计过PCB电路板的电子工程师,几乎是不可想象的。 很多电子爱好者都有过学习PROTEL的经历,本人也是一样,摸索的学习,耐心的体会,充分的体会什么是成功之母。不希望大家把不必要的时间浪费在学习PROTEL的初期操作上,在这里做这个教程是为了给渴望快速了解和操作PROTEL的初学者们一个走捷径的机会,教程大家都可以看到,可以省走很多不必要的弯路及快速建立信心,网络的魅力之一就在于学习的效率很高。由于本人的水平很有限,所以教程做的比较浅,就是教大家:1.画画简单的原理图(SCH)2.学会创建SCH零件 2.把原理图转换成电路板(PCB) 3.对PCB进行自动布线 4.学会创建PCB零件库 5.学会一些常用的PCB高级技巧。鉴于此,如果您这方面已经是水平很高的专业人士,无需看此教程。 同时也愿这些简单的图片教程可以使大家在今后的电子电路设计之路上所向披靡。 关于教程涉及软件版本:此教程采用的样板软件是PROTEL99SE汉化版,99SE是PROTEL家族中目前最稳定的版本,功能强大。采用了*.DDB数据库格式保存文件,所有同一工程相关的SCH、PCB等文件都可以在同一*.DDB数据库中并存,非常科学,利于集体开发和文件的有效管理。还有一个优点就是自动布线引擎很强大。在双面板的前提下,可以在很短的时间内自动布通任何的超复杂线路! 关于软件的语言:采用的是主菜单汉化版,有少量的深层对话框是英文的,重要的细节部分都在教程中作了中文注释,希望大家不要对少量的英文抱有恐惧的心理,敢于胜利是学习的一个前提。再就是不要太急于求成,有一颗平常心可以避免欲速则不达的问题。我可以向大家保证,等大家学会了自动布线,就会对设计PCB信心百倍。 5天(每天2小时),你就可以搞定PROTEL99SE的常规操作了。
上传时间: 2013-11-18
上传用户:wpwpwlxwlx
2012TI杯陕西赛题H题,2012TI杯陕西赛题B题--频率补偿电路.
上传时间: 2013-10-07
上传用户:ysystc670
磁芯电感器的谐波失真分析 摘 要:简述了改进铁氧体软磁材料比损耗系数和磁滞常数ηB,从而降低总谐波失真THD的历史过程,分析了诸多因数对谐波测量的影响,提出了磁心性能的调控方向。 关键词:比损耗系数, 磁滞常数ηB ,直流偏置特性DC-Bias,总谐波失真THD Analysis on THD of the fer rite co res u se d i n i nductancShi Yan Nanjing Finemag Technology Co. Ltd., Nanjing 210033 Abstract: Histrory of decreasing THD by improving the ratio loss coefficient and hysteresis constant of soft magnetic ferrite is briefly narrated. The effect of many factors which affect the harmonic wave testing is analysed. The way of improving the performance of ferrite cores is put forward. Key words: ratio loss coefficient,hysteresis constant,DC-Bias,THD 近年来,变压器生产厂家和软磁铁氧体生产厂家,在电感器和变压器产品的总谐波失真指标控制上,进行了深入的探讨和广泛的合作,逐步弄清了一些似是而非的问题。从工艺技术上采取了不少有效措施,促进了质量问题的迅速解决。本文将就此热门话题作一些粗浅探讨。 一、 历史回顾 总谐波失真(Total harmonic distortion) ,简称THD,并不是什么新的概念,早在几十年前的载波通信技术中就已有严格要求<1>。1978年邮电部公布的标准YD/Z17-78“载波用铁氧体罐形磁心”中,规定了高μQ材料制作的无中心柱配对罐形磁心详细的测试电路和方法。如图一电路所示,利用LC组成的150KHz低通滤波器在高电平输入的情况下测量磁心产生的非线性失真。这种相对比较的实用方法,专用于无中心柱配对罐形磁心的谐波衰耗测试。 这种磁心主要用于载波电报、电话设备的遥测振荡器和线路放大器系统,其非线性失真有很严格的要求。 图中 ZD —— QF867 型阻容式载频振荡器,输出阻抗 150Ω, Ld47 —— 47KHz 低通滤波器,阻抗 150Ω,阻带衰耗大于61dB, Lg88 ——并联高低通滤波器,阻抗 150Ω,三次谐波衰耗大于61dB Ld88 ——并联高低通滤波器,阻抗 150Ω,三次谐波衰耗大于61dB FD —— 30~50KHz 放大器, 阻抗 150Ω, 增益不小于 43 dB,三次谐波衰耗b3(0)≥91 dB, DP —— Qp373 选频电平表,输入高阻抗, L ——被测无心罐形磁心及线圈, C ——聚苯乙烯薄膜电容器CMO-100V-707APF±0.5%,二只。 测量时,所配用线圈应用丝包铜电磁线SQJ9×0.12(JB661-75)在直径为16.1mm的线架上绕制 120 匝, (线架为一格) , 其空心电感值为 318μH(误差1%) 被测磁心配对安装好后,先调节振荡器频率为 36.6~40KHz, 使输出电平值为+17.4 dB, 即选频表在 22′端子测得的主波电平 (P2)为+17.4 dB,然后在33′端子处测得输出的三次谐波电平(P3), 则三次谐波衰耗值为:b3(+2)= P2+S+ P3 式中:S 为放大器增益dB 从以往的资料引证, 就可以发现谐波失真的测量是一项很精细的工作,其中测量系统的高、低通滤波器,信号源和放大器本身的三次谐波衰耗控制很严,阻抗必须匹配,薄膜电容器的非线性也有相应要求。滤波器的电感全由不带任何磁介质的大空心线圈绕成,以保证本身的“洁净” ,不至于造成对磁心分选的误判。 为了满足多路通信整机的小型化和稳定性要求, 必须生产低损耗高稳定磁心。上世纪 70 年代初,1409 所和四机部、邮电部各厂,从工艺上改变了推板空气窑烧结,出窑后经真空罐冷却的落后方式,改用真空炉,并控制烧结、冷却气氛。技术上采用共沉淀法攻关试制出了μQ乘积 60 万和 100 万的低损耗高稳定材料,在此基础上,还实现了高μ7000~10000材料的突破,从而大大缩短了与国外企业的技术差异。当时正处于通信技术由FDM(频率划分调制)向PCM(脉冲编码调制) 转换时期, 日本人明石雅夫发表了μQ乘积125 万为 0.8×10 ,100KHz)的超优铁氧体材料<3>,其磁滞系数降为优铁
上传时间: 2014-12-24
上传用户:7891
本书全面、系统地介绍了MCS-51系列单片机应用系统的各种实用接口技术及其配置。 内容包括:MCS-51系列单片机组成原理:应用系统扩展、开发与调试;键盘输入接口的设计及调试;打印机和显示器接口及设计实例;模拟输入通道接口技术;A/D、D/A、接口技术及在控制系统中的应用设计;V/F转换器接口技术、串行通讯接口技术以及其它与应用系统设计有关的实用技术等。 本书是为满足广大科技工作者从事单片机应用系统软件、硬件设计的需要而编写的,具有内容新颖、实用、全面的特色。所有的接口设计都包括详细的设计步骤、硬件线路图及故障分析,并附有测试程序清单。书中大部分接口软、硬件设计实例都是作者多年来从事单片机应用和开发工作的经验总结,实用性和工程性较强,尤其是对应用系统中必备的键盘、显示器、打印机、A/D、D/A通讯接口设计、模拟信号处理及开发系统应用举例甚多,目的是让将要开始和正在从事单片机应用开发的科研人员根据自己的实际需要来选择应用,一书在手即可基本完成单片机应用系统的开发工作。 本书主要面向从事单片机应用开发工作的广大工程技术人员,也可作为大专院校有关专业的教材或教学参考书。 第一章MCS-51系列单片机组成原理 1.1概述 1.1.1单片机主流产品系列 1.1.2单片机芯片技术的发展概况 1.1.3单片机的应用领域 1.2MCS-51单片机硬件结构 1.2.1MCS-51单片机硬件结构的特点 1.2.2MCS-51单片机的引脚描述及片外总线结构 1.2.3MCS-51片内总体结构 1.2.4MCS-51单片机中央处理器及其振荡器、时钟电路和CPU时序 1.2.5MCS-51单片机的复位状态及几种复位电路设计 1.2.6存储器、特殊功能寄存器及位地址空间 1.2.7输入/输出(I/O)口 1.3MCS-51单片机指令系统分析 1.3.1指令系统的寻址方式 1.3.2指令系统的使用要点 1.3.3指令系统分类总结 1.4串行接口与定时/计数器 1.4.1串行接口简介 1.4.2定时器/计数器的结构 1.4.3定时器/计数器的四种工作模式 1.4.4定时器/计数器对输入信号的要求 1.4.5定时器/计数器的编程和应用 1.5中断系统 1.5.1中断请求源 1.5.2中断控制 1.5.3中断的响应过程 1.5.4外部中断的响应时间 1.5.5外部中断方式的选择 第二章MCS-51单片机系统扩展 2.1概述 2.2程序存贮器的扩展 2.2.1外部程序存贮器的扩展原理及时序 2.2.2地址锁存器 2.2.3EPROM扩展电路 2.2.4EEPROM扩展电路 2.3外部数据存贮器的扩展 2.3.1外部数据存贮器的扩展方法及时序 2.3.2静态RAM扩展 2.3.3动态RAM扩展 2.4外部I/O口的扩展 2.4.1I/O口扩展概述 2.4.2I/O口地址译码技术 2.4.38255A可编程并行I/O扩展接口 2.4.48155/8156可编程并行I/O扩展接口 2.4.58243并行I/O扩展接口 2.4.6用TTL芯片扩展I/O接口 2.4.7用串行口扩展I/O接口 2.4.8中断系统扩展 第三章MCS-51单片机应用系统的开发 3.1单片机应用系统的设计 3.1.1设计前的准备工作 3.1.2应用系统的硬件设计 3.1.3应用系统的软件设计 3.1.4应用系统的抗干扰设计 3.2单片机应用系统的开发 3.2.1仿真系统的功能 3.2.2开发手段的选择 3.2.3应用系统的开发过程 3.3SICE—IV型单片机仿真器 3.3.1SICE-IV仿真器系统结构 3.3.2SICE-IV的仿真特性和软件功能 3.3.3SICE-IV与主机和终端的连接使用方法 3.4KHK-ICE-51单片机仿真开发系统 3.4.1KHK—ICE-51仿真器系统结构 3.4.2仿真器系统功能特点 3.4.3KHK-ICE-51仿真系统的安装及其使用 3.5单片机应用系统的调试 3.5.1应用系统联机前的静态调试 3.5.2外部数据存储器RAM的测试 3.5.3程序存储器的调试 3.5.4输出功能模块调试 3.5.5可编程I/O接口芯片的调试 3.5.6外部中断和定时器中断的调试 3.6用户程序的编辑、汇编、调试、固化及运行 3.6.1源程序的编辑 3.6.2源程序的汇编 3.6.3用户程序的调试 3.6.4用户程序的固化 3.6.5用户程序的运行 第四章键盘及其接口技术 4.1键盘输入应解决的问题 4.1.1键盘输入的特点 4.1.2按键的确认 4.1.3消除按键抖动的措施 4.2独立式按键接口设计 4.3矩阵式键盘接口设计 4.3.1矩阵键盘工作原理 4.3.2按键的识别方法 4.3.3键盘的编码 4.3.4键盘工作方式 4.3.5矩阵键盘接口实例及编程要点 4.3.6双功能及多功能键设计 4.3.7键盘处理中的特殊问题一重键和连击 4.48279键盘、显示器接口芯片及应用 4.4.18279的组成和基本工作原理 4.4.28279管脚、引线及功能说明 4.4.38279编程 4.4.48279键盘接口实例 4.5功能开关及拨码盘接口设计 第五章显示器接口设计 5.1LED显示器 5.1.1LED段显示器结构与原理 5.1.2LED显示器及显示方式 5.1.3LED显示器接口实例 5.1.4LED显示器驱动技术 5.2单片机应用系统中典型键盘、显示接口技术 5.2.1用8255和串行口扩展的键盘、显示器电路 5.2.2由锁存器组成的键盘、显示器接口电路 5.2.3由8155构成的键盘、显示器接口电路 5.2.4用8279组成的显示器实例 5.3液晶显示LCD 5.3.1LCD的基本结构及工作原理 5.3.2LCD的驱动方式 5.3.34位LCD静态驱动芯片ICM7211系列简介 5.3.4点阵式液晶显示控制器HD61830介绍 5.3.5点阵式液晶显示模块介绍 5.4荧光管显示 5.5LED大屏幕显示器 第六章打印机接口设计 6.1打印机简介 6.1.1打印机的基本知识 6.1.2打印机的电路构成 6.1.3打印机的接口信号 6.1.4打印机的打印命令 6.2TPμP-40A微打与单片机接口设计 6.2.1TPμP系列微型打印机简介 6.2.2TPμP-40A打印功能及接口信号 6.2.3TPμP-40A工作方式及打印命令 6.2.48031与TPμP-40A的接口 6.2.5打印编程实例 6.3XLF微型打印机与单片机接口设计 6.3.1XLF微打简介 6.3.2XLF微打接口信号及与8031接口设计 6.3.3XLF微打控制命令 6.3.4打印机编程 6.4标准宽行打印机与8031接口设计 6.4.1TH3070接口引脚信号及时序 6.4.2与8031的简单接口 6.4.3通过打印机适配器完成8031与打印机的接口 6.4.4对打印机的编程 第七章模拟输入通道接口技术 7.1传感器 7.1.1传感器的分类 7.1.2温度传感器 7.1.3光电传感器 7.1.4湿度传感器 7.1.5其他传感器 7.2模拟信号放大技术 7.2.1基本放大器电路 7.2.2集成运算放大器 7.2.3常用运算放大器及应用举例 7.2.4测量放大器 7.2.5程控增益放大器 7.2.6隔离放大器 7.3多通道模拟信号输入技术 7.3.1多路开关 7.3.2常用多路开关 7.3.3模拟多路开关 7.3.4常用模拟多路开关 7.3.5多路模拟开关应用举例 7.3.6多路开关的选用 7.4采样/保持电路设计 7.4.1采样/保持原理 7.4.2集成采样/保持器 7.4.3常用集成采样/保持器 7.4.4采样保持器的应用举例 7.5有源滤波器的设计 7.5.1滤波器分类 7.5.2有源滤波器的设计 7.5.3常用有源滤波器设计举例 7.5.4集成有源滤波器 第八章D/A转换器与MCS-51单片机的接口设计与实践 8.1D/A转换器的基本原理及主要技术指标 8.1.1D/A转换器的基本原理与分类 8.1.2D/A转换器的主要技术指标 8.2D/A转换器件选择指南 8.2.1集成D/A转换芯片介绍 8.2.2D/A转换器的选择要点及选择指南表 8.2.3D/A转换器接口设计的几点实用技术 8.38位D/A转换器DAC080/0831/0832与MCS-51单片机的接口设计 8.3.1DAC0830/0831/0832的应用特性与引脚功能 8.3.2DAC0830/0831/0832与8031单片机的接口设计 8.3.3DAC0830/0831/0832的调试说明 8.3.4DAC0830/0831/0832应用举例 8.48位D/A转换器AD558与MCS-51单片机的接口设计 8.4.1AD558的应用特性与引脚功能 8.4.2AD558与8031单片机的接口及调试说明 8.4.38位D/A转换器DAC0800系列与8031单片机的接口 8.510位D/A转换器AD7522与MCS-51的硬件接口设计 8.5.1AD7522的应用特性及引脚功能 8.5.2AD7522与8031单片机的接口设计 8.610位D/A转换器AD7520/7530/7533与MCS一51单片机的接口设计 8.6.1AD7520/7530/7533的应用特性与引脚功能 8.6.2AD7520系列与8031单片机的接口 8.6.3DAC1020/DAC1220/AD7521系列D/A转换器接口设计 8.712位D/A转换器DAC1208/1209/1210与MCS-51单片机的接口设计 8.7.1DAC1208/1209/1210的内部结构与引脚功能 8.7.2DAC1208/1209/1210与8031单片机的接口设计 8.7.312位D/A转换器DAC1230/1231/1232的应用设计说明 8.7.412位D/A转换器AD7542与8031单片机的接口设计 8.812位串行DAC-AD7543与MCS-51单片机的接口设计 8.8.1AD7543的应用特性与引脚功能 8.8.2AD7543与8031单片机的接口设计 8.914位D/A转换器AD75335与MCS-51单片机的接口设计 8.9.1AD8635的内部结构与引脚功能 8.9.2AD7535与8031单片机的接口设计 8.1016位D/A转换器AD1147/1148与MCS-51单片机的接口设计 8.10.1AD1147/AD1148的内部结构及引脚功能 8.10.2AD1147/AD1148与8031单片机的接口设计 8.10.3AD1147/AD1148接口电路的应用调试说明 8.10.416位D/A转换器AD1145与8031单片机的接口设计 第九章A/D转换器与MCS-51单片机的接口设计与实践 9.1A/D转换器的基本原理及主要技术指标 9.1.1A/D转换器的基本原理与分类 9.1.2A/D转换器的主要技术指标 9.2面对课题如何选择A/D转换器件 9.2.1常用A/D转换器简介 9.2.2A/D转换器的选择要点及应用设计的几点实用技术 9.38位D/A转换器ADC0801/0802/0803/0804/0805与MCS-51单片机的接口设计 9.3.1ADC0801~ADC0805芯片的引脚功能及应用特性 9.3.2ADC0801~ADC0805与8031单片机的接口设计 9.48路8位A/D转换器ADC0808/0809与MCS一51单片机的接口设计 9.4.1ADC0808/0809的内部结构及引脚功能 9.4.2ADC0808/0809与8031单片机的接口设计 9.4.3接口电路设计中的几点注意事项 9.4.416路8位A/D转换器ADC0816/0817与MCS-51单片机的接口设计 9.510位A/D转换器AD571与MCS-51单片机的接口设计 9.5.1AD571芯片的引脚功能及应用特性 9.5.2AD571与8031单片机的接口 9.5.38位A/D转换器AD570与8031单片机的硬件接口 9.612位A/D转换器ADC1210/1211与MCS-51单片机的接口设计 9.6.1ADC1210/1211的引脚功能与应用特性 9.6.2ADC1210/1211与8031单片机的硬件接口 9.6.3硬件接口电路的设计要点及几点说明 9.712位A/D转换器AD574A/1374/1674A与MCS-51单片机的接口设计 9.7.1AD574A的内部结构与引脚功能 9.7.2AD574A的应用特性及校准 9.7.3AD574A与8031单片机的硬件接口设计 9.7.4AD574A的应用调试说明 9.7.5AD674A/AD1674与8031单片机的接口设计 9.8高速12位A/D转换器AD578/AD678/AD1678与MCS—51单片机的接口设计 9.8.1AD578的应用特性与引脚功能 9.8.2AD578高速A/D转换器与8031单片机的接口设计 9.8.3AD578高速A/D转换器的应用调试说明 9.8.4AD678/AD1678采样A/D转换器与8031单片机的接口设计 9.914位A/D转换器AD679/1679与MCS-51单片机的接口设计 9.9.1AD679/AD1679的应用特性及引脚功能 9.9.2AD679/1679与8031单片机的接口设计 9.9.3AD679/1679的调试说明 9.1016位ADC-ADC1143与MCS-51单片机的接口设计 9.10.1ADC1143的应用特性及引脚功能 9.10.2ADC1143与8031单片机的接口设计 9.113位半积分A/D转换器5G14433与MCS-51单片机的接口设计 9.11.15G14433的内部结构及引脚功能 9.11.25G14433的外部电路连接与元件参数选择 9.11.35G14433与8031单片机的接口设计 9.11.45G14433的应用举例 9.124位半积分A/D转换器ICL7135与MCS—51单片机的接口设计 9.12.1ICL7135的内部结构及芯片引脚功能 9.12.2ICL7135的外部电路连接与元件参数选择 9.12.3ICL7135与8031单片机的硬件接口设计 9.124ICL7135的应用举例 9.1312位双积分A/D转换器ICL7109与MCS—51单片机的接口设计 9.13.1ICL7109的内部结构与芯片引脚功能 9.13.2ICL7109的外部电路连接与元件参数选择 9.13.3ICL7109与8031单片机的硬件接口设计 9.1416位积分型ADC一ICL7104与MCS-51单片机的接口设计 9.14.1ICL7104的主要应用特性及引脚功能 9.14.2ICL7104与8031单片机的接口设计 9.14.3其它积分型A/D转换器简介 第十章V/F转换器接口技术 10.1V/F转换的特点及应用环境 10.2V/F转换原理及用V/F转换器实现A/D转换的方法 10.2.1V/F转换原理 10.2.2用V/F转换器实现A/D转换的方法 10.3常用V/F转换器简介 10.3.1VFC32 10.3.2LMX31系列V/F转换器 10.3.3AD650 10.3.4AD651 10.4V/F转换应用系统中的通道结构 10.5LM331应用实例 10.5.1线路原理 10.5.2软件设计 10.6AD650应用实例 10.6.1AD650外围电路设计 10.6.2定时/计数器(8253—5简介) 10.6.3线路原理 10.6.4软件设计 第十一章串行通讯接口技术 11.1串行通讯基础 11.1.1异步通讯和同步通讯 11.1.2波特率和接收/发送时钟 11.1.3单工、半双工、全双工通讯方式 11.14信号的调制与解调 11.1.5通讯数据的差错检测和校正 11.1.6串行通讯接口电路UART、USRT和USART 11.2串行通讯总线标准及其接口 11.2.1串行通讯接口 11.2.2RS-232C接口 11.2.3RS-449、RS-422、RS-423及RS485 11.2.420mA电流环路串行接口 11.3MCS-51单片机串行接口 11.3.1串行口的结构 11.3.2串行接口的工作方式 11.3.3串行通讯中波特率设置 11.4MCS-51单片机串行接口通讯技术 11.4.1单片机双机通讯技术 11.4.2单片机多机通讯技术 11.5IBMPC系列机与单片机的通讯技术 11.5.1异步通讯适配器 11.5.2IBM-PC机与8031双机通讯技术 11.5.3IBM—PC机与8031多机通讯技术 11.6MCS-51单片机串行接口的扩展 11.6.1Intel8251A可编程通讯接口 11.6.2扩展多路串行口的硬件设计 11.6.3通讯软件设计 第十二章应用系统设计中的实用技术 12.1MCS-51单片机低功耗系统设计 12.1.1CHMOS型单片机80C31/80C51/87C51的组成与使用要点 12.1.2CHMOS型单片机的空闲、掉电工作方式 12.1.3CHMOS型单片机的I/O接口及应用系统实例 12.1.4HMOS型单片机的节电运行方式 12.2逻辑电平接口技术 12.2.1集电极开路门输出接口 12.2.2TTL、HTL、ECL、CMOS电平转换接口 12.3电压/电流转换 12.3.1电压/0~10mA转换 12.3.2电压1~5V/4~20mA转换 12.3.30~10mA/0~5V转换 12.344~20mA/0~5V转换 12.3.5集成V/I转换电路 12.4开关量输出接口技术 12.4.1输出接口隔离技术 12.4.2低压开关量信号输出技术 12.4.3继电器输出接口技术 12.4.4可控硅(晶闸管)输出接口技术 12.4.5固态继电器输出接口 12.4.6集成功率电子开关输出接口 12.5集成稳压电路 12.5.1电源隔离技术 12.5.2三端集成稳压器 12.5.3高精度电压基准 12.6量程自动转换技术 12.6.1自动转换量程的硬件电路 12.6.2自动转换量程的软件设计 附录AMCS-51单片机指令速查表 附录B常用EPROM固化电压参考表 参考文献
上传时间: 2013-10-15
上传用户:himbly
PSHLY-B回路电阻测试仪介绍
上传时间: 2013-11-05
上传用户:木子叶1
MFC 六大技术之简化仿真(Console 程序) 第㆓篇【欲善工事先利其器】提供给对 Visual C++ 整合环境全然陌生的朋友㆒个导引。 这㆒篇当然不能取代 Visual C++ User's Guide 的㆞位,但对整个软件开发环境有全盘以 及概观性的介绍,可以让初学者迅速了解手㆖掌握的工具,以及它们的主要功能。 第㆔篇【浅出 MFC 程序设计】介绍㆒个 MFC 程序的生死因果。已经有 MFC 程序经 验的朋友,不见得不会对本篇感到惊艳。根据我的了解,太多㆟使用 MFC 是「只知道 这么做,不知道为什么」;本篇详细解释 MFC 程序之来龙去脉,为初入 MFC 领域的 读者奠定扎实的基础。说不定本篇会让你有醍醐灌顶之感。
上传时间: 2013-12-16
上传用户:qq527891923
at91rm9200启动过程教程 系统上电,检测BMS,选择系统的启动方式,如果BMS为高电平,则系统从片内ROM启动。AT91RM9200的ROM上电后被映射到了0x0和0x100000处,在这两个地址处都可以访问到ROM。由于9200的ROM中固化了一个BOOTLOAER程序。所以PC从0X0处开始执行这个BOOTLOAER(准确的说应该是一级BOOTLOADER)。这个BOOTLOER依次完成以下步骤: 1、PLL SETUP,设置PLLB产生48M时钟频率提供给USB DEVICE。同时DEBUG USART也被初始化为48M的时钟频率; 2、相应模式下的堆栈设置; 3、检测主时钟源(Main oscillator); 4、中断控制器(AIC)的设置; 5、C 变量的初始化; 6、跳到主函数。 完成以上步骤后,我们可以认为BOOT过程结束,接下来的就是LOADER的过程,或者也可以认为是装载二级BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、连接在外部总线上的8位并行FLASH的顺序依次来找合法的BOOT程序。所谓合法的指的是在这些存储设备的开始地址处连续的存放的32个字节,也就是8条指令必须是跳转指令或者装载PC的指令,其实这样规定就是把这8条指令当作是异常向量表来处理。必须注意的是第6条指令要包含将要装载的映像的大小。关于如何计算和写这条指令可以参考用户手册。一旦合法的映像找到之后,则BOOT程序会把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超过16K-3K的大小。当BOOT程序完成了把合法的映像搬到SRAM的任务以后,接下来就进行存储器的REMAP,经过REMAP之后,SRAM从映设前的0X200000地址处被映设到了0X0地址并且程序从0X0处开始执行。而ROM这时只能在0X100000这个地址处看到了。至此9200就算完成了一种形式的启动过程。如果BOOT程序在以上所列的几种存储设备中找到合法的映像,则自动初始化DEBUG USART口和USB DEVICE口以准备从外部载入映像。对DEBUG口的初始化包括设置参数115200 8 N 1以及运行XMODEM协议。对USB DEVICE进行初始化以及运行DFU协议。现在用户可以从外部(假定为PC平台)载入你的映像了。在PC平台下,以WIN2000为例,你可以用超级终端来完成这个功能,但是还是要注意你的映像的大小不能超过13K。一旦正确从外部装载了映像,接下来的过程就是和前面一样重映设然后执行映像了。我们上面讲了BMS为高电平,AT91RM9200选择从片内的ROM启动的一个过程。如果BMS为低电平,则AT91RM9200会从片外的FLASH启动,这时片外的FLASH的起始地址就是0X0了,接下来的过程和片内启动的过程是一样的,只不过这时就需要自己写启动代码了,至于怎么写,大致的内容和ROM的BOOT差不多,不同的硬件设计可能有不一样的地方,但基本的都是一样的。由于片外FLASH可以设计的大,所以这里编写的BOOTLOADER可以一步到位,也就是说不用像片内启动可能需要BOOT好几级了,目前AT91RM9200上使用较多的bootloer是u-boot,这是一个开放源代码的软件,用户可以自由下载并根据自己的应用配置。总的说来,笔者以为AT91RM9200的启动过程比较简单,ATMEL的服务也不错,不但提供了片内启动的功能,还提供了UBOOT可供下载。笔者写了一个BOOTLODER从片外的FLASHA启动,效果还可以。 uboot结构与使用uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以 http://sourceforge.net/projects/u-boot下载 在9200上,为了启动uboot,还有两个boot软件包,分别是loader和boot。分别完成从sram和flash中的一级boot。其源码可以从atmel的官方网站下载。 我们知道,当9200系统上电后,如果bms为高电平,则系统从片内rom启动,这时rom中固化的boot程序初始化了debug口并向其发送'c',这时我们打开超级终端会看到ccccc...。这说明系统已经启动,同时xmodem协议已经启动,用户可以通过超级终端下载用户的bootloader。作为第一步,我们下载loader.bin.loader.bin将被下载到片内的sram中。这个loder完成的功能主要是初始化时钟,sdram和xmodem协议,为下载和启动uboot做准备。当下载了loader.bin后,超级终端会继续打印:ccccc....。这时我们就可以下在uboot了。uboot将被下载到sdram中的一个地址后并把pc指针调到此处开始执行uboot。接着我们就可以在终端上看到uboot的shell启动了,提示符uboot>,用户可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了对内存、flash、网络、系统启动等一些命令。 如果系统上电时bms为低电平,则系统从片外的flash启动。为了从片外的flash启动uboot,我们必须把boot.bin放到0x0地址出,使得从flash启动后首先执行boot.bin,而要少些boot.bin,就要先完成上面我们讲的那些步骤,首先开始从片内rom启动uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz烧写到flash中的目的,假如我们已经启动了uboot,可以这样操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系统复位,就可以看到系统先启动boot,然后解压缩uboot.gz,然后启动uboot。注意,这里uboot必须压缩成.gz文件,否则会出错。 怎么编译这三个源码包呢,首先要建立一个arm的交叉编译环境,关于如何建立,此处不予说明。建立好了以后,分别解压源码包,然后修改Makefile中的编译器项目,正确填写你的编译器的所在路径。 对loader和boot,直接make。对uboot,第一步:make_at91rm9200dk,第二步:make。这样就会在当前目录下分别生成*.bin文件,对于uboot.bin,我们还要压缩成.gz文件。 也许有的人对loader和boot搞不清楚为什么要两个,有什么区别吗?首先有区别,boot主要完成从flash中启动uboot的功能,他要对uboot的压缩文件进行解压,除此之外,他和loader并无大的区别,你可以把boot理解为在loader的基础上加入了解压缩.gz的功能而已。所以这两个并无多大的本质不同,只是他们的使命不同而已。 特别说名的是这三个软件包都是开放源码的,所以用户可以根据自己的系统的情况修改和配置以及裁减,打造属于自己系统的bootloder。
上传时间: 2013-10-27
上传用户:wsf950131
关于PCB封装的资料收集整理. 大的来说,元件有插装和贴装.零件封装是指实际零件焊接到电路板时所指示的外观和焊点的位置。是纯粹的空间概念.因此不同的元件可共用同一零件封装,同种元件也可有不同的零件封装。像电阻,有传统的针插式,这种元件体积较大,电路板必须钻孔才能安置元件,完成钻孔后,插入元件,再过锡炉或喷锡(也可手焊),成本较高,较新的设计都是采用体积小的表面贴片式元件(SMD)这种元件不必钻孔,用钢膜将半熔状锡膏倒入电路板,再把SMD 元件放上,即可焊接在电路板上了。晶体管是我们常用的的元件之一,在DEVICE。LIB库中,简简单单的只有NPN与PNP之分,但实际上,如果它是NPN的2N3055那它有可能是铁壳子的TO—3,如果它是NPN的2N3054,则有可能是铁壳的TO-66或TO-5,而学用的CS9013,有TO-92A,TO-92B,还有TO-5,TO-46,TO-52等等,千变万化。还有一个就是电阻,在DEVICE 库中,它也是简单地把它们称为RES1 和RES2,不管它是100Ω 还是470KΩ都一样,对电路板而言,它与欧姆数根本不相关,完全是按该电阻的功率数来决定的我们选用的1/4W 和甚至1/2W 的电阻,都可以用AXIAL0.3 元件封装,而功率数大一点的话,可用AXIAL0.4,AXIAL0.5等等。现将常用的元件封装整理如下:电阻类及无极性双端元件:AXIAL0.3-AXIAL1.0无极性电容:RAD0.1-RAD0.4有极性电容:RB.2/.4-RB.5/1.0二极管:DIODE0.4及DIODE0.7石英晶体振荡器:XTAL1晶体管、FET、UJT:TO-xxx(TO-3,TO-5)可变电阻(POT1、POT2):VR1-VR5这些常用的元件封装,大家最好能把它背下来,这些元件封装,大家可以把它拆分成两部分来记如电阻AXIAL0.3 可拆成AXIAL 和0.3,AXIAL 翻译成中文就是轴状的,0.3 则是该电阻在印刷电路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的。同样的,对于无极性的电容,RAD0.1-RAD0.4也是一样;对有极性的电容如电解电容,其封装为RB.2/.4,RB.3/.6 等,其中“.2”为焊盘间距,“.4”为电容圆筒的外径。对于晶体管,那就直接看它的外形及功率,大功率的晶体管,就用TO—3,中功率的晶体管,如果是扁平的,就用TO-220,如果是金属壳的,就用TO-66,小功率的晶体管,就用TO-5,TO-46,TO-92A等都可以,反正它的管脚也长,弯一下也可以。对于常用的集成IC电路,有DIPxx,就是双列直插的元件封装,DIP8就是双排,每排有4个引脚,两排间距离是300mil,焊盘间的距离是100mil。SIPxx 就是单排的封装。等等。值得我们注意的是晶体管与可变电阻,它们的包装才是最令人头痛的,同样的包装,其管脚可不一定一样。例如,对于TO-92B之类的包装,通常是1 脚为E(发射极),而2 脚有可能是B 极(基极),也可能是C(集电极);同样的,3脚有可能是C,也有可能是B,具体是那个,只有拿到了元件才能确定。因此,电路软件不敢硬性定义焊盘名称(管脚名称),同样的,场效应管,MOS 管也可以用跟晶体管一样的封装,它可以通用于三个引脚的元件。Q1-B,在PCB 里,加载这种网络表的时候,就会找不到节点(对不上)。在可变电阻
上传时间: 2013-11-03
上传用户:daguogai
8051单片机系统扩展与接口技术:第一节 8051 单片机系统扩展概述第二节 单片机外部存储器扩展第三节 单片机输入输出(I/O)口扩展及应用第四节 LED显示器接口电路及显示程序第五节 单片机键盘接口技术第六节 单片机与数模(D/A)及模数(A/D)转换1、地址总线(Address Bus,简写为AB)地址总线可传送单片机送出的地址信号,用于访问外部存储器单元或I/O端口。A 地址总线是单向的,地址信号只是由单片机向外发出。B 地址总线的数目决定了可直接访问的存储器单元的数目。例如N位地址,可以产生2N个连续地址编码,因此可访问2N个存储单元,即通常所说的寻址范围为 2N个地址单元。MCS—51单片机有十六位地址线,因此存储器展范围可达216 = 64KB地址单元。C 挂在总线上的器件,只有地址被选中的单元才能与CPU交换数据,其余的都暂时不能操作,否则会引起数据冲突。2、数据总线(Data Bus,简写为DB)数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。A 单片机系统数据总线的位数与单片机处理数据的字长一致。例如MCS—51单片机是8位字长,所以数据总线的位数也是8位。B 数据总线是双向的,即可以进行两个方向的数据传送。3、控制总线(Control Bus,简写为CB)控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其它部件送给单片机的各种控制或联络信号。对于一条控制信号线来说,其传送方向是单向的,但是由不同方向的控制信号线组合的控制总线则表示为双向的。总线结构形式大大减少了单片机系统中连接线的数目,提高了系统的可靠性,增加了系统的灵活性。此外,总线结构也使扩展易于实现,各功能部件只要符合总线规范,就可以很方便地接入系统,实现单片机扩展。
上传时间: 2013-10-18
上传用户:assef